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 4276c5288d9..e227d7c8ec9 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 @@ -140,8 +140,8 @@ public abstract class AndroidUIXmlProcessor(protected val project: Project) { } private fun KotlinStringWriter.writeSyntheticProperty(receiver: String, widget: AndroidWidget, stubCall: String) { - val cast = if (widget.className == "View") ":" else "as" - val body = arrayListOf("return $stubCall $cast ${widget.className}") + val cast = if (widget.className != "View") " as? ${widget.className}" else "" + val body = arrayListOf("return $stubCall$cast") val type = widget.className writeImmutableExtensionProperty(receiver, name = widget.id, 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 d44cdc634e6..5322b90396b 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 @@ -13,8 +13,8 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.app.Activity.MyButton: ft - get() = findViewById(0) as org.my.cool.Button + get() = findViewById(0) as? org.my.cool.Button val android.app.Fragment.MyButton: ft - get() = getView().findViewById(0) as org.my.cool.Button + 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 afa0e0f6359..b2b33cc0659 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 @@ -13,5 +13,5 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.view.View.MyButton: ft - get() = findViewById(0) as org.my.cool.Button + 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 d44cdc634e6..5322b90396b 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 @@ -13,8 +13,8 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.app.Activity.MyButton: ft - get() = findViewById(0) as org.my.cool.Button + get() = findViewById(0) as? org.my.cool.Button val android.app.Fragment.MyButton: ft - get() = getView().findViewById(0) as org.my.cool.Button + 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 afa0e0f6359..b2b33cc0659 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 @@ -13,5 +13,5 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.view.View.MyButton: ft - get() = findViewById(0) as org.my.cool.Button + 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 7c144380871..695d16d3aa7 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 @@ -13,8 +13,8 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.app.Activity.button: ft - get() = findViewById(0) : View + get() = findViewById(0) val android.app.Fragment.button: ft - get() = getView().findViewById(0) : View + get() = getView().findViewById(0) 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 990a3a2e55a..2e655f122eb 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 @@ -13,5 +13,5 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.view.View.button: ft - get() = findViewById(0) : View + get() = findViewById(0) 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 1b63091db2d..dd2a685b819 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 @@ -13,26 +13,26 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.app.Activity.item_detail_container: ft - get() = findViewById(0) as FrameLayout + get() = findViewById(0) as? FrameLayout val android.app.Fragment.item_detail_container: ft - get() = getView().findViewById(0) as FrameLayout + get() = getView().findViewById(0) as? FrameLayout val android.app.Activity.textView1: ft - get() = findViewById(0) as TextView + get() = findViewById(0) as? TextView val android.app.Fragment.textView1: ft - get() = getView().findViewById(0) as TextView + get() = getView().findViewById(0) as? TextView val android.app.Activity.password: ft - get() = findViewById(0) as EditText + get() = findViewById(0) as? EditText val android.app.Fragment.password: ft - get() = getView().findViewById(0) as EditText + get() = getView().findViewById(0) as? EditText val android.app.Activity.login: ft - get() = findViewById(0) as Button + get() = findViewById(0) as? Button val android.app.Fragment.login: ft - get() = getView().findViewById(0) as Button + 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 ac1a5c2a012..7edfe963d47 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 @@ -13,14 +13,14 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.view.View.item_detail_container: ft - get() = findViewById(0) as FrameLayout + get() = findViewById(0) as? FrameLayout val android.view.View.textView1: ft - get() = findViewById(0) as TextView + get() = findViewById(0) as? TextView val android.view.View.password: ft - get() = findViewById(0) as EditText + get() = findViewById(0) as? EditText val android.view.View.login: ft - get() = findViewById(0) as Button + 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 d4a1de6c27b..50fa3eadcff 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 @@ -13,26 +13,26 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.app.Activity.frameLayout: ft - get() = findViewById(0) as FrameLayout + get() = findViewById(0) as? FrameLayout val android.app.Fragment.frameLayout: ft - get() = getView().findViewById(0) as FrameLayout + get() = getView().findViewById(0) as? FrameLayout val android.app.Activity.passwordField: ft - get() = findViewById(0) as TextView + get() = findViewById(0) as? TextView val android.app.Fragment.passwordField: ft - get() = getView().findViewById(0) as TextView + get() = getView().findViewById(0) as? TextView val android.app.Activity.passwordCaption: ft - get() = findViewById(0) as EditText + get() = findViewById(0) as? EditText val android.app.Fragment.passwordCaption: ft - get() = getView().findViewById(0) as EditText + get() = getView().findViewById(0) as? EditText val android.app.Activity.loginButton: ft - get() = findViewById(0) as Button + get() = findViewById(0) as? Button val android.app.Fragment.loginButton: ft - get() = getView().findViewById(0) as Button + 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 79719b94750..75f3a600e4f 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 @@ -13,14 +13,14 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.view.View.frameLayout: ft - get() = findViewById(0) as FrameLayout + get() = findViewById(0) as? FrameLayout val android.view.View.passwordField: ft - get() = findViewById(0) as TextView + get() = findViewById(0) as? TextView val android.view.View.passwordCaption: ft - get() = findViewById(0) as EditText + get() = findViewById(0) as? EditText val android.view.View.loginButton: ft - get() = findViewById(0) as Button + get() = findViewById(0) as? Button 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 1212a32550b..25ff72530ff 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 @@ -13,14 +13,14 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.app.Activity.textView1: ft - get() = findViewById(0) : View + get() = findViewById(0) val android.app.Fragment.textView1: ft - get() = getView().findViewById(0) : View + get() = getView().findViewById(0) val android.app.Activity.textView2: ft - get() = findViewById(0) as TextView + get() = findViewById(0) as? TextView val android.app.Fragment.textView2: ft - get() = getView().findViewById(0) as TextView + 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 d43461bd847..cf2c8486d6d 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 @@ -13,8 +13,8 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.view.View.textView1: ft - get() = findViewById(0) : View + get() = findViewById(0) val android.view.View.textView2: ft - get() = findViewById(0) as TextView + 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 1b63091db2d..dd2a685b819 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 @@ -13,26 +13,26 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.app.Activity.item_detail_container: ft - get() = findViewById(0) as FrameLayout + get() = findViewById(0) as? FrameLayout val android.app.Fragment.item_detail_container: ft - get() = getView().findViewById(0) as FrameLayout + get() = getView().findViewById(0) as? FrameLayout val android.app.Activity.textView1: ft - get() = findViewById(0) as TextView + get() = findViewById(0) as? TextView val android.app.Fragment.textView1: ft - get() = getView().findViewById(0) as TextView + get() = getView().findViewById(0) as? TextView val android.app.Activity.password: ft - get() = findViewById(0) as EditText + get() = findViewById(0) as? EditText val android.app.Fragment.password: ft - get() = getView().findViewById(0) as EditText + get() = getView().findViewById(0) as? EditText val android.app.Activity.login: ft - get() = findViewById(0) as Button + get() = findViewById(0) as? Button val android.app.Fragment.login: ft - get() = getView().findViewById(0) as Button + 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 ac1a5c2a012..7edfe963d47 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 @@ -13,14 +13,14 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.view.View.item_detail_container: ft - get() = findViewById(0) as FrameLayout + get() = findViewById(0) as? FrameLayout val android.view.View.textView1: ft - get() = findViewById(0) as TextView + get() = findViewById(0) as? TextView val android.view.View.password: ft - get() = findViewById(0) as EditText + get() = findViewById(0) as? EditText val android.view.View.login: ft - get() = findViewById(0) as Button + 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 7a6a6a18593..d23449e3972 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 @@ -13,20 +13,20 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.app.Activity.includeTag: ft - get() = findViewById(0) : View + get() = findViewById(0) val android.app.Fragment.includeTag: ft - get() = getView().findViewById(0) : View + get() = getView().findViewById(0) val android.app.Activity.fragmentTag: ft - get() = findViewById(0) : View + get() = findViewById(0) val android.app.Fragment.fragmentTag: ft - get() = getView().findViewById(0) : View + get() = getView().findViewById(0) val android.app.Activity.`fun`: ft - get() = findViewById(0) as TextView + get() = findViewById(0) as? TextView val android.app.Fragment.`fun`: ft - get() = getView().findViewById(0) as TextView + 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 29b60d4e958..4a61907e601 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 @@ -13,11 +13,11 @@ import android.support.v4.widget.* import kotlin.internal.flexible.ft val android.view.View.includeTag: ft - get() = findViewById(0) : View + get() = findViewById(0) val android.view.View.fragmentTag: ft - get() = findViewById(0) : View + get() = findViewById(0) val android.view.View.`fun`: ft - get() = findViewById(0) as TextView + get() = findViewById(0) as? TextView