From 65ef880dd35e3e5b9fae50a7d7c9fa18fa1887e5 Mon Sep 17 00:00:00 2001 From: Mikhail Mutcianko Date: Wed, 17 Sep 2014 11:30:21 +0400 Subject: [PATCH] add all goto tests - fix base test case failing when no res directory present - get rid of JetProperty -> XmlAttr caching --- .../android/IDEAndroidResourceManager.kt | 13 +++++++-- .../android/goto/fqNameInAttr/fqNameInAttr.kt | 9 ++++++ .../goto/fqNameInAttr/res/layout/layout.xml | 15 ++++++++++ .../android/goto/fqNameInTag/fqNameInTag.kt | 9 ++++++ .../goto/fqNameInTag/res/layout/layout.xml | 14 +++++++++ .../android/goto/multiFile/multiFile.kt | 10 +++++++ .../goto/multiFile/res/layout/layout.xml | 29 +++++++++++++++++++ .../goto/multiFile/res/layout/layout1.xml | 29 +++++++++++++++++++ .../jet/android/AndroidGotoTestGenerated.java | 19 +++++++++++- .../jet/android/KotlinAndroidTestCase.java | 8 +++-- 10 files changed, 149 insertions(+), 6 deletions(-) create mode 100644 idea/testData/android/goto/fqNameInAttr/fqNameInAttr.kt create mode 100644 idea/testData/android/goto/fqNameInAttr/res/layout/layout.xml create mode 100644 idea/testData/android/goto/fqNameInTag/fqNameInTag.kt create mode 100644 idea/testData/android/goto/fqNameInTag/res/layout/layout.xml create mode 100644 idea/testData/android/goto/multiFile/multiFile.kt create mode 100644 idea/testData/android/goto/multiFile/res/layout/layout.xml create mode 100644 idea/testData/android/goto/multiFile/res/layout/layout1.xml diff --git a/idea/src/org/jetbrains/jet/plugin/android/IDEAndroidResourceManager.kt b/idea/src/org/jetbrains/jet/plugin/android/IDEAndroidResourceManager.kt index a865ecd95c6..82ff70786a6 100644 --- a/idea/src/org/jetbrains/jet/plugin/android/IDEAndroidResourceManager.kt +++ b/idea/src/org/jetbrains/jet/plugin/android/IDEAndroidResourceManager.kt @@ -66,9 +66,16 @@ public class IDEAndroidResourceManager(project: Project, searchPath: String?) : idToXmlAttributeCache.clear() } - override fun idToXmlAttribute(id: String): PsiElement? { - val element = idToXmlAttributeCache[id] - return element + override fun idToXmlAttribute(searchId: String): PsiElement? { +// val element = idToXmlAttributeCache[id] +// return element + var ret: PsiElement? = null + for (file in getLayoutXmlFiles()) { + file.accept(AndroidXmlVisitor(this, { id, wClass, valueElement -> + if (searchId == id) ret = valueElement + })) + } + return ret } override fun renameXmlAttr(elem: PsiElement, newName: String) { diff --git a/idea/testData/android/goto/fqNameInAttr/fqNameInAttr.kt b/idea/testData/android/goto/fqNameInAttr/fqNameInAttr.kt new file mode 100644 index 00000000000..1c131f1da38 --- /dev/null +++ b/idea/testData/android/goto/fqNameInAttr/fqNameInAttr.kt @@ -0,0 +1,9 @@ +package com.myapp + +import android.app.Activity + + +class MyActivity: Activity() { + val button = this.MyButton +} + diff --git a/idea/testData/android/goto/fqNameInAttr/res/layout/layout.xml b/idea/testData/android/goto/fqNameInAttr/res/layout/layout.xml new file mode 100644 index 00000000000..a0ef9f3a1ed --- /dev/null +++ b/idea/testData/android/goto/fqNameInAttr/res/layout/layout.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/idea/testData/android/goto/fqNameInTag/fqNameInTag.kt b/idea/testData/android/goto/fqNameInTag/fqNameInTag.kt new file mode 100644 index 00000000000..1c131f1da38 --- /dev/null +++ b/idea/testData/android/goto/fqNameInTag/fqNameInTag.kt @@ -0,0 +1,9 @@ +package com.myapp + +import android.app.Activity + + +class MyActivity: Activity() { + val button = this.MyButton +} + diff --git a/idea/testData/android/goto/fqNameInTag/res/layout/layout.xml b/idea/testData/android/goto/fqNameInTag/res/layout/layout.xml new file mode 100644 index 00000000000..2ec85364e74 --- /dev/null +++ b/idea/testData/android/goto/fqNameInTag/res/layout/layout.xml @@ -0,0 +1,14 @@ + + + + + diff --git a/idea/testData/android/goto/multiFile/multiFile.kt b/idea/testData/android/goto/multiFile/multiFile.kt new file mode 100644 index 00000000000..fdd80a87ace --- /dev/null +++ b/idea/testData/android/goto/multiFile/multiFile.kt @@ -0,0 +1,10 @@ +package com.myapp + +import android.app.Activity + + +class MyActivity: Activity() { + val button = this.login + val button1 = this.loginButton +} + diff --git a/idea/testData/android/goto/multiFile/res/layout/layout.xml b/idea/testData/android/goto/multiFile/res/layout/layout.xml new file mode 100644 index 00000000000..f4736f6937b --- /dev/null +++ b/idea/testData/android/goto/multiFile/res/layout/layout.xml @@ -0,0 +1,29 @@ + + + + + + + +