From 1f163280704539b9c103b7ae54ac77b689586236 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Wed, 25 Mar 2015 01:22:22 +0300 Subject: [PATCH] Add imports for XML widget tags, support.v4 fake package files --- .../jvm/androidPlugin/fakeAppwidgetPackage.kt | 1 + .../fakeInputMethodServicePackage.kt | 1 + .../jvm/androidPlugin/fakeOpenglPackage.kt | 1 + .../jvm/androidPlugin/fakeWebkitPackage.kt | 1 + compiler/testData/cli/jvm/pluginSimple.args | 6 +++- .../testData/cli/jvm/pluginSimpleUsage.args | 6 +++- .../resolve/android/AndroidUIXmlProcessor.kt | 33 ++++++++++++++----- .../converter/simple/fqNameInAttr/layout.kt | 16 ++++++--- .../converter/simple/fqNameInAttr/layout1.kt | 14 +++++--- .../converter/simple/fqNameInTag/layout.kt | 16 ++++++--- .../converter/simple/fqNameInTag/layout1.kt | 14 +++++--- .../converter/simple/layoutVariants/layout.kt | 16 ++++++--- .../simple/layoutVariants/layout1.kt | 14 +++++--- .../converter/simple/multiFile/layout.kt | 28 +++++++++------- .../converter/simple/multiFile/layout1.kt | 20 +++++++---- .../converter/simple/multiFile/layout2.kt | 28 +++++++++------- .../converter/simple/multiFile/layout3.kt | 20 +++++++---- .../android/converter/simple/noIds/layout.kt | 12 +++++-- .../android/converter/simple/noIds/layout1.kt | 12 +++++-- .../converter/simple/sameIds/layout.kt | 20 +++++++---- .../converter/simple/sameIds/layout1.kt | 16 ++++++--- .../converter/simple/singleFile/layout.kt | 28 +++++++++------- .../converter/simple/singleFile/layout1.kt | 20 +++++++---- .../converter/simple/specialTags/layout.kt | 24 +++++++++----- .../converter/simple/specialTags/layout1.kt | 18 ++++++---- 25 files changed, 261 insertions(+), 124 deletions(-) create mode 100644 compiler/testData/cli/jvm/androidPlugin/fakeAppwidgetPackage.kt create mode 100644 compiler/testData/cli/jvm/androidPlugin/fakeInputMethodServicePackage.kt create mode 100644 compiler/testData/cli/jvm/androidPlugin/fakeOpenglPackage.kt create mode 100644 compiler/testData/cli/jvm/androidPlugin/fakeWebkitPackage.kt diff --git a/compiler/testData/cli/jvm/androidPlugin/fakeAppwidgetPackage.kt b/compiler/testData/cli/jvm/androidPlugin/fakeAppwidgetPackage.kt new file mode 100644 index 00000000000..b150584134e --- /dev/null +++ b/compiler/testData/cli/jvm/androidPlugin/fakeAppwidgetPackage.kt @@ -0,0 +1 @@ +package android.appwidget \ No newline at end of file diff --git a/compiler/testData/cli/jvm/androidPlugin/fakeInputMethodServicePackage.kt b/compiler/testData/cli/jvm/androidPlugin/fakeInputMethodServicePackage.kt new file mode 100644 index 00000000000..74b092db14e --- /dev/null +++ b/compiler/testData/cli/jvm/androidPlugin/fakeInputMethodServicePackage.kt @@ -0,0 +1 @@ +package android.inputmethodservice \ No newline at end of file diff --git a/compiler/testData/cli/jvm/androidPlugin/fakeOpenglPackage.kt b/compiler/testData/cli/jvm/androidPlugin/fakeOpenglPackage.kt new file mode 100644 index 00000000000..2f38c0654d1 --- /dev/null +++ b/compiler/testData/cli/jvm/androidPlugin/fakeOpenglPackage.kt @@ -0,0 +1 @@ +package android.opengl \ No newline at end of file diff --git a/compiler/testData/cli/jvm/androidPlugin/fakeWebkitPackage.kt b/compiler/testData/cli/jvm/androidPlugin/fakeWebkitPackage.kt new file mode 100644 index 00000000000..c25921a9b0e --- /dev/null +++ b/compiler/testData/cli/jvm/androidPlugin/fakeWebkitPackage.kt @@ -0,0 +1 @@ +package android.webkit \ No newline at end of file diff --git a/compiler/testData/cli/jvm/pluginSimple.args b/compiler/testData/cli/jvm/pluginSimple.args index 43e20ac9e94..50106455337 100644 --- a/compiler/testData/cli/jvm/pluginSimple.args +++ b/compiler/testData/cli/jvm/pluginSimple.args @@ -9,4 +9,8 @@ plugin\:org.jetbrains.kotlin.android\:androidRes=$TESTDATA_DIR$/androidPlugin/re $TESTDATA_DIR$/pluginSimple.kt $TESTDATA_DIR$/androidPlugin/androidApp.kt $TESTDATA_DIR$/androidPlugin/androidView.kt -$TESTDATA_DIR$/androidPlugin/androidWidget.kt \ No newline at end of file +$TESTDATA_DIR$/androidPlugin/androidWidget.kt +$TESTDATA_DIR$/androidPlugin/fakeAppwidgetPackage.kt +$TESTDATA_DIR$/androidPlugin/fakeInputMethodServicePackage.kt +$TESTDATA_DIR$/androidPlugin/fakeOpenglPackage.kt +$TESTDATA_DIR$/androidPlugin/fakeWebkitPackage.kt \ No newline at end of file diff --git a/compiler/testData/cli/jvm/pluginSimpleUsage.args b/compiler/testData/cli/jvm/pluginSimpleUsage.args index 5c4711fd65a..0bcc82ae737 100644 --- a/compiler/testData/cli/jvm/pluginSimpleUsage.args +++ b/compiler/testData/cli/jvm/pluginSimpleUsage.args @@ -7,4 +7,8 @@ plugin\:org.jetbrains.kotlin.android\:androidManifest=$TESTDATA_DIR$/androidPlug $TESTDATA_DIR$/pluginSimple.kt $TESTDATA_DIR$/androidPlugin/androidApp.kt $TESTDATA_DIR$/androidPlugin/androidView.kt -$TESTDATA_DIR$/androidPlugin/androidWidget.kt \ No newline at end of file +$TESTDATA_DIR$/androidPlugin/androidWidget.kt +$TESTDATA_DIR$/androidPlugin/fakeAppwidgetPackage.kt +$TESTDATA_DIR$/androidPlugin/fakeInputMethodServicePackage.kt +$TESTDATA_DIR$/androidPlugin/fakeOpenglPackage.kt +$TESTDATA_DIR$/androidPlugin/fakeWebkitPackage.kt \ No newline at end of file diff --git a/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/AndroidUIXmlProcessor.kt b/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/AndroidUIXmlProcessor.kt index c5106fd0d75..4276c5288d9 100644 --- a/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/AndroidUIXmlProcessor.kt +++ b/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/AndroidUIXmlProcessor.kt @@ -85,8 +85,13 @@ public abstract class AndroidUIXmlProcessor(protected val project: Project) { public fun parse(generateCommonFiles: Boolean = true): List { val commonFiles = if (generateCommonFiles) { val clearCacheFile = renderLayoutFile(AndroidConst.SYNTHETIC_PACKAGE) {} + - renderClearCacheFunction("Activity") + renderClearCacheFunction("Fragment") - listOf(clearCacheFile, FLEXIBLE_TYPE_FILE) + renderClearCacheFunction("android.app.Activity") + renderClearCacheFunction("android.app.Fragment") + + listOf(clearCacheFile, + FLEXIBLE_TYPE_FILE, + FAKE_SUPPORT_V4_APP_FILE, + FAKE_SUPPORT_V4_VIEW_FILE, + FAKE_SUPPORT_V4_WIDGET_FILE) } else listOf() return resourceManager.getLayoutXmlFiles().flatMap { entry -> @@ -96,12 +101,12 @@ public abstract class AndroidUIXmlProcessor(protected val project: Project) { val layoutPackage = files[0].genSyntheticPackageName() val mainLayoutFile = renderLayoutFile(layoutPackage, widgets) { - writeSyntheticProperty("Activity", it, "findViewById(0)") - writeSyntheticProperty("Fragment", it, "getView().findViewById(0)") + writeSyntheticProperty("android.app.Activity", it, "findViewById(0)") + writeSyntheticProperty("android.app.Fragment", it, "getView().findViewById(0)") } val viewLayoutFile = renderLayoutFile("$layoutPackage.view", widgets) { - writeSyntheticProperty("View", it, "findViewById(0)") + writeSyntheticProperty("android.view.View", it, "findViewById(0)") } listOf(mainLayoutFile, viewLayoutFile) @@ -170,13 +175,25 @@ public abstract class AndroidUIXmlProcessor(protected val project: Project) { private val EXPLICIT_FLEXIBLE_CLASS_NAME = Flexibility.FLEXIBLE_TYPE_CLASSIFIER.getRelativeClassName().asString() private val ANDROID_IMPORTS = listOf( - "android.app.Activity", - "android.app.Fragment", - "android.view.View", + "android.app.*", + "android.view.*", "android.widget.*", + "android.webkit.*", + "android.inputmethodservice.*", + "android.opengl.*", + "android.appwidget.*", + "android.support.v4.app.*", + "android.support.v4.view.*", + "android.support.v4.widget.*", Flexibility.FLEXIBLE_TYPE_CLASSIFIER.asSingleFqName().asString()) private val FLEXIBLE_TYPE_FILE = "package $EXPLICIT_FLEXIBLE_PACKAGE\n\nclass $EXPLICIT_FLEXIBLE_CLASS_NAME" + + private val FAKE_SUPPORT_V4_WIDGET_FILE = "package android.support.v4.widget" + + private val FAKE_SUPPORT_V4_VIEW_FILE = "package android.support.v4.view" + + private val FAKE_SUPPORT_V4_APP_FILE = "package android.support.v4.app" } } \ No newline at end of file diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInAttr/layout.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInAttr/layout.kt index 408aed95d87..d44cdc634e6 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInAttr/layout.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInAttr/layout.kt @@ -1,14 +1,20 @@ package kotlinx.android.synthetic.layout -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val Activity.MyButton: ft +val android.app.Activity.MyButton: ft get() = findViewById(0) as org.my.cool.Button -val Fragment.MyButton: ft +val android.app.Fragment.MyButton: ft get() = getView().findViewById(0) as org.my.cool.Button diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInAttr/layout1.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInAttr/layout1.kt index a208b38d2e6..afa0e0f6359 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInAttr/layout1.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInAttr/layout1.kt @@ -1,11 +1,17 @@ package kotlinx.android.synthetic.layout.view -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val View.MyButton: ft +val android.view.View.MyButton: ft get() = findViewById(0) as org.my.cool.Button diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInTag/layout.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInTag/layout.kt index 408aed95d87..d44cdc634e6 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInTag/layout.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInTag/layout.kt @@ -1,14 +1,20 @@ package kotlinx.android.synthetic.layout -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val Activity.MyButton: ft +val android.app.Activity.MyButton: ft get() = findViewById(0) as org.my.cool.Button -val Fragment.MyButton: ft +val android.app.Fragment.MyButton: ft get() = getView().findViewById(0) as org.my.cool.Button diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInTag/layout1.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInTag/layout1.kt index a208b38d2e6..afa0e0f6359 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInTag/layout1.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/fqNameInTag/layout1.kt @@ -1,11 +1,17 @@ package kotlinx.android.synthetic.layout.view -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val View.MyButton: ft +val android.view.View.MyButton: ft get() = findViewById(0) as org.my.cool.Button diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/layoutVariants/layout.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/layoutVariants/layout.kt index 9e1a5e9793a..7c144380871 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/layoutVariants/layout.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/layoutVariants/layout.kt @@ -1,14 +1,20 @@ package kotlinx.android.synthetic.layout -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val Activity.button: ft +val android.app.Activity.button: ft get() = findViewById(0) : View -val Fragment.button: ft +val android.app.Fragment.button: ft get() = getView().findViewById(0) : View diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/layoutVariants/layout1.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/layoutVariants/layout1.kt index 44a79867803..990a3a2e55a 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/layoutVariants/layout1.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/layoutVariants/layout1.kt @@ -1,11 +1,17 @@ package kotlinx.android.synthetic.layout.view -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val View.button: ft +val android.view.View.button: ft get() = findViewById(0) : View diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout.kt index ad6834680d0..1b63091db2d 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout.kt @@ -1,32 +1,38 @@ package kotlinx.android.synthetic.layout -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val Activity.item_detail_container: ft +val android.app.Activity.item_detail_container: ft get() = findViewById(0) as FrameLayout -val Fragment.item_detail_container: ft +val android.app.Fragment.item_detail_container: ft get() = getView().findViewById(0) as FrameLayout -val Activity.textView1: ft +val android.app.Activity.textView1: ft get() = findViewById(0) as TextView -val Fragment.textView1: ft +val android.app.Fragment.textView1: ft get() = getView().findViewById(0) as TextView -val Activity.password: ft +val android.app.Activity.password: ft get() = findViewById(0) as EditText -val Fragment.password: ft +val android.app.Fragment.password: ft get() = getView().findViewById(0) as EditText -val Activity.login: ft +val android.app.Activity.login: ft get() = findViewById(0) as Button -val Fragment.login: ft +val android.app.Fragment.login: ft get() = getView().findViewById(0) as Button diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout1.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout1.kt index f9f44be50b9..ac1a5c2a012 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout1.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout1.kt @@ -1,20 +1,26 @@ package kotlinx.android.synthetic.layout.view -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val View.item_detail_container: ft +val android.view.View.item_detail_container: ft get() = findViewById(0) as FrameLayout -val View.textView1: ft +val android.view.View.textView1: ft get() = findViewById(0) as TextView -val View.password: ft +val android.view.View.password: ft get() = findViewById(0) as EditText -val View.login: ft +val android.view.View.login: ft get() = findViewById(0) as Button diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout2.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout2.kt index 6eaee9ebe6c..d4a1de6c27b 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout2.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout2.kt @@ -1,32 +1,38 @@ package kotlinx.android.synthetic.layout1 -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val Activity.frameLayout: ft +val android.app.Activity.frameLayout: ft get() = findViewById(0) as FrameLayout -val Fragment.frameLayout: ft +val android.app.Fragment.frameLayout: ft get() = getView().findViewById(0) as FrameLayout -val Activity.passwordField: ft +val android.app.Activity.passwordField: ft get() = findViewById(0) as TextView -val Fragment.passwordField: ft +val android.app.Fragment.passwordField: ft get() = getView().findViewById(0) as TextView -val Activity.passwordCaption: ft +val android.app.Activity.passwordCaption: ft get() = findViewById(0) as EditText -val Fragment.passwordCaption: ft +val android.app.Fragment.passwordCaption: ft get() = getView().findViewById(0) as EditText -val Activity.loginButton: ft +val android.app.Activity.loginButton: ft get() = findViewById(0) as Button -val Fragment.loginButton: ft +val android.app.Fragment.loginButton: ft get() = getView().findViewById(0) as Button diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout3.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout3.kt index 1ebaca425c0..79719b94750 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout3.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/multiFile/layout3.kt @@ -1,20 +1,26 @@ package kotlinx.android.synthetic.layout1.view -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val View.frameLayout: ft +val android.view.View.frameLayout: ft get() = findViewById(0) as FrameLayout -val View.passwordField: ft +val android.view.View.passwordField: ft get() = findViewById(0) as TextView -val View.passwordCaption: ft +val android.view.View.passwordCaption: ft get() = findViewById(0) as EditText -val View.loginButton: ft +val android.view.View.loginButton: ft get() = findViewById(0) as Button diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/noIds/layout.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/noIds/layout.kt index 63fabc25d12..2f51f6a76bd 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/noIds/layout.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/noIds/layout.kt @@ -1,8 +1,14 @@ package kotlinx.android.synthetic.layout -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/noIds/layout1.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/noIds/layout1.kt index 7d00b0d64d5..783f94b8de6 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/noIds/layout1.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/noIds/layout1.kt @@ -1,8 +1,14 @@ package kotlinx.android.synthetic.layout.view -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/sameIds/layout.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/sameIds/layout.kt index 3015d6cc1ba..1212a32550b 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/sameIds/layout.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/sameIds/layout.kt @@ -1,20 +1,26 @@ package kotlinx.android.synthetic.layout -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val Activity.textView1: ft +val android.app.Activity.textView1: ft get() = findViewById(0) : View -val Fragment.textView1: ft +val android.app.Fragment.textView1: ft get() = getView().findViewById(0) : View -val Activity.textView2: ft +val android.app.Activity.textView2: ft get() = findViewById(0) as TextView -val Fragment.textView2: ft +val android.app.Fragment.textView2: ft get() = getView().findViewById(0) as TextView diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/sameIds/layout1.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/sameIds/layout1.kt index cc372590bfa..d43461bd847 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/sameIds/layout1.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/sameIds/layout1.kt @@ -1,14 +1,20 @@ package kotlinx.android.synthetic.layout.view -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val View.textView1: ft +val android.view.View.textView1: ft get() = findViewById(0) : View -val View.textView2: ft +val android.view.View.textView2: ft get() = findViewById(0) as TextView diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/singleFile/layout.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/singleFile/layout.kt index ad6834680d0..1b63091db2d 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/singleFile/layout.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/singleFile/layout.kt @@ -1,32 +1,38 @@ package kotlinx.android.synthetic.layout -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val Activity.item_detail_container: ft +val android.app.Activity.item_detail_container: ft get() = findViewById(0) as FrameLayout -val Fragment.item_detail_container: ft +val android.app.Fragment.item_detail_container: ft get() = getView().findViewById(0) as FrameLayout -val Activity.textView1: ft +val android.app.Activity.textView1: ft get() = findViewById(0) as TextView -val Fragment.textView1: ft +val android.app.Fragment.textView1: ft get() = getView().findViewById(0) as TextView -val Activity.password: ft +val android.app.Activity.password: ft get() = findViewById(0) as EditText -val Fragment.password: ft +val android.app.Fragment.password: ft get() = getView().findViewById(0) as EditText -val Activity.login: ft +val android.app.Activity.login: ft get() = findViewById(0) as Button -val Fragment.login: ft +val android.app.Fragment.login: ft get() = getView().findViewById(0) as Button diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/singleFile/layout1.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/singleFile/layout1.kt index f9f44be50b9..ac1a5c2a012 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/singleFile/layout1.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/singleFile/layout1.kt @@ -1,20 +1,26 @@ package kotlinx.android.synthetic.layout.view -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val View.item_detail_container: ft +val android.view.View.item_detail_container: ft get() = findViewById(0) as FrameLayout -val View.textView1: ft +val android.view.View.textView1: ft get() = findViewById(0) as TextView -val View.password: ft +val android.view.View.password: ft get() = findViewById(0) as EditText -val View.login: ft +val android.view.View.login: ft get() = findViewById(0) as Button diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/specialTags/layout.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/specialTags/layout.kt index 8154a1f4269..7a6a6a18593 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/specialTags/layout.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/specialTags/layout.kt @@ -1,26 +1,32 @@ package kotlinx.android.synthetic.layout -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val Activity.includeTag: ft +val android.app.Activity.includeTag: ft get() = findViewById(0) : View -val Fragment.includeTag: ft +val android.app.Fragment.includeTag: ft get() = getView().findViewById(0) : View -val Activity.fragmentTag: ft +val android.app.Activity.fragmentTag: ft get() = findViewById(0) : View -val Fragment.fragmentTag: ft +val android.app.Fragment.fragmentTag: ft get() = getView().findViewById(0) : View -val Activity.`fun`: ft +val android.app.Activity.`fun`: ft get() = findViewById(0) as TextView -val Fragment.`fun`: ft +val android.app.Fragment.`fun`: ft get() = getView().findViewById(0) as TextView diff --git a/plugins/android-compiler-plugin/testData/android/converter/simple/specialTags/layout1.kt b/plugins/android-compiler-plugin/testData/android/converter/simple/specialTags/layout1.kt index 879f5e3ac58..29b60d4e958 100644 --- a/plugins/android-compiler-plugin/testData/android/converter/simple/specialTags/layout1.kt +++ b/plugins/android-compiler-plugin/testData/android/converter/simple/specialTags/layout1.kt @@ -1,17 +1,23 @@ package kotlinx.android.synthetic.layout.view -import android.app.Activity -import android.app.Fragment -import android.view.View +import android.app.* +import android.view.* import android.widget.* +import android.webkit.* +import android.inputmethodservice.* +import android.opengl.* +import android.appwidget.* +import android.support.v4.app.* +import android.support.v4.view.* +import android.support.v4.widget.* import kotlin.internal.flexible.ft -val View.includeTag: ft +val android.view.View.includeTag: ft get() = findViewById(0) : View -val View.fragmentTag: ft +val android.view.View.fragmentTag: ft get() = findViewById(0) : View -val View.`fun`: ft +val android.view.View.`fun`: ft get() = findViewById(0) as TextView