diff --git a/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/AndroidXmlHandler.kt b/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/AndroidXmlHandler.kt index 766f6c3796a..ddb74151bf6 100644 --- a/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/AndroidXmlHandler.kt +++ b/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/AndroidXmlHandler.kt @@ -20,10 +20,7 @@ import org.xml.sax.helpers.DefaultHandler import org.xml.sax.Attributes import java.util.HashMap -class AndroidXmlHandler( - private val resourceManager: AndroidResourceManager, - private val elementCallback: (String, String) -> Unit -) : DefaultHandler() { +class AndroidXmlHandler(private val elementCallback: (String, String) -> Unit) : DefaultHandler() { override fun startDocument() { super.startDocument() diff --git a/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/CliAndroidUIXmlProcessor.kt b/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/CliAndroidUIXmlProcessor.kt index be7faa2a097..578c445cc19 100644 --- a/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/CliAndroidUIXmlProcessor.kt +++ b/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/CliAndroidUIXmlProcessor.kt @@ -40,7 +40,7 @@ public class CliAndroidUIXmlProcessor( override fun parseSingleFile(file: PsiFile): Collection { val widgets: MutableCollection = ArrayList() - val handler = AndroidXmlHandler(resourceManager, { id, clazz -> widgets.add(AndroidWidget(id, clazz)) }) + val handler = AndroidXmlHandler { id, clazz -> widgets.add(AndroidWidget(id, clazz)) } try { val inputStream = ByteArrayInputStream(file.getVirtualFile().contentsToByteArray()) diff --git a/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/AndroidXmlVisitor.kt b/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/AndroidXmlVisitor.kt index 683847fe67f..36e6fb73762 100644 --- a/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/AndroidXmlVisitor.kt +++ b/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/AndroidXmlVisitor.kt @@ -26,10 +26,7 @@ import org.jetbrains.kotlin.lang.resolve.android.AndroidConst import org.jetbrains.kotlin.lang.resolve.android import org.jetbrains.kotlin.lang.resolve.android.idToName -class AndroidXmlVisitor( - val resourceManager: AndroidResourceManager, - val elementCallback: (String, String, XmlAttribute) -> Unit -) : XmlElementVisitor() { +class AndroidXmlVisitor(val elementCallback: (String, String, XmlAttribute) -> Unit) : XmlElementVisitor() { override fun visitElement(element: PsiElement) { element.acceptChildren(this) @@ -45,8 +42,10 @@ class AndroidXmlVisitor( val attributeValue = attribute.getValue() if (attributeValue != null) { val classNameAttr = tag?.getAttribute(AndroidConst.CLASS_ATTRIBUTE_NO_NAMESPACE)?.getValue() ?: tag?.getLocalName() - val name = idToName(attributeValue) - if (name != null) elementCallback(name, classNameAttr!!, attribute) + if (classNameAttr != null) { + val name = idToName(attributeValue) + if (name != null) elementCallback(name, classNameAttr!!, attribute) + } } } tag?.acceptChildren(this) diff --git a/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/IDEAndroidResourceManager.kt b/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/IDEAndroidResourceManager.kt index 50e6b0d4382..f326b967fe4 100644 --- a/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/IDEAndroidResourceManager.kt +++ b/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/IDEAndroidResourceManager.kt @@ -31,7 +31,7 @@ public class IDEAndroidResourceManager(val module: Module) : AndroidResourceMana override fun idToXmlAttribute(id: String): PsiElement? { var ret: PsiElement? = null for (file in getLayoutXmlFiles()) { - file.accept(AndroidXmlVisitor(this, { retId, wClass, valueElement -> + file.accept(AndroidXmlVisitor({ retId, wClass, valueElement -> if (retId == id) ret = valueElement })) } diff --git a/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/IDEAndroidUIXmlProcessor.kt b/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/IDEAndroidUIXmlProcessor.kt index 9edd7fe2252..794b4d72660 100644 --- a/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/IDEAndroidUIXmlProcessor.kt +++ b/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/IDEAndroidUIXmlProcessor.kt @@ -35,7 +35,7 @@ class IDEAndroidUIXmlProcessor(val module: Module) : AndroidUIXmlProcessor(modul override fun parseSingleFile(file: PsiFile): List { val widgets = arrayListOf() - file.accept(AndroidXmlVisitor(resourceManager, { id, wClass, valueElement -> + file.accept(AndroidXmlVisitor({ id, wClass, valueElement -> widgets.add(AndroidWidget(id, wClass)) }))