mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
feat(xml-inflater): require view adapters to be non-final
This commit is contained in:
+7
-1
@@ -28,6 +28,7 @@ import javax.lang.model.element.Element
|
||||
import javax.lang.model.element.ElementKind.CLASS
|
||||
import javax.lang.model.element.ElementKind.PACKAGE
|
||||
import javax.lang.model.element.ExecutableElement
|
||||
import javax.lang.model.element.Modifier.FINAL
|
||||
import javax.lang.model.element.TypeElement
|
||||
import javax.tools.Diagnostic.Kind.ERROR
|
||||
|
||||
@@ -55,7 +56,7 @@ class ViewAdapterAnnotationProcessor : AbstractProcessor() {
|
||||
if (roundEnv.processingOver()) {
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
generator.init(processingEnv)
|
||||
|
||||
roundEnv.getElementsAnnotatedWith(ViewAdapter::class.java).forEach {
|
||||
@@ -134,6 +135,11 @@ class ViewAdapterAnnotationProcessor : AbstractProcessor() {
|
||||
)
|
||||
}
|
||||
|
||||
if (element.modifiers.contains(FINAL)) {
|
||||
processingEnv.messager.printMessage(ERROR, "${element.qualifiedName} cannot be final")
|
||||
return
|
||||
}
|
||||
|
||||
generator.addViewAdapter(processingEnv, element)
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
+1
-1
@@ -32,7 +32,7 @@ import com.itsaky.androidide.inflater.models.UiWidget
|
||||
*/
|
||||
@com.itsaky.androidide.annotations.inflater.ViewAdapter(HorizontalScrollView::class)
|
||||
@IncludeInDesigner(group = LAYOUTS)
|
||||
class HorizontalScrollViewAdapter<T : HorizontalScrollView> : FrameLayoutAdapter<T>() {
|
||||
open class HorizontalScrollViewAdapter<T : HorizontalScrollView> : FrameLayoutAdapter<T>() {
|
||||
|
||||
override fun createAttrHandlers(create: (String, AttributeHandlerScope<T>.() -> Unit) -> Unit) {
|
||||
super.createAttrHandlers(create)
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ import com.itsaky.androidide.inflater.models.UiWidget
|
||||
*/
|
||||
@com.itsaky.androidide.annotations.inflater.ViewAdapter(forView = ScrollView::class)
|
||||
@IncludeInDesigner(group = LAYOUTS)
|
||||
class ScrollViewAdapter<T : ScrollView> : FrameLayoutAdapter<T>() {
|
||||
open class ScrollViewAdapter<T : ScrollView> : FrameLayoutAdapter<T>() {
|
||||
|
||||
override fun createAttrHandlers(create: (String, AttributeHandlerScope<T>.() -> Unit) -> Unit) {
|
||||
super.createAttrHandlers(create)
|
||||
|
||||
Reference in New Issue
Block a user