Support early return from constructor interpretation
This commit is contained in:
committed by
TeamCityServer
parent
96cc74a752
commit
0c5fca31ec
@@ -47,13 +47,13 @@ const val b2 = <!EVALUATED: `2`!>safeClassCast("10")<!>
|
||||
const val c1 = <!EVALUATED: `1`!>unsafeClassCast<Int>()<!>
|
||||
const val c2 = <!WAS_NOT_EVALUATED: `
|
||||
Exception java.lang.ClassCastException: kotlin.Int cannot be cast to kotlin.String
|
||||
at ClassCastExceptionKt.unsafeClassCast(classCastException.kt:21)
|
||||
at ClassCastExceptionKt.unsafeClassCast(classCastException.kt:19)
|
||||
at ClassCastExceptionKt.<clinit>(classCastException.kt:48)`!>unsafeClassCast<String>()<!>
|
||||
|
||||
const val d1 = A<Int>().<!EVALUATED: `1`!>unsafeCast()<!>
|
||||
const val d2 = A<String>().<!WAS_NOT_EVALUATED: `
|
||||
Exception java.lang.ClassCastException: kotlin.Int cannot be cast to kotlin.String
|
||||
at ClassCastExceptionKt.A.unsafeCast(classCastException.kt:36)
|
||||
at ClassCastExceptionKt.A.unsafeCast(classCastException.kt:35)
|
||||
at ClassCastExceptionKt.<clinit>(classCastException.kt:51)`!>unsafeCast()<!>
|
||||
|
||||
const val stringList = getIntList<List<String>>().<!WAS_NOT_EVALUATED: `
|
||||
|
||||
@@ -31,3 +31,18 @@ const val c2 = Person().<!EVALUATED: `<NOT_GIVEN> <NULL>`!>wholeName<!>
|
||||
|
||||
const val d1 = Person("Ivan", 20).<!EVALUATED: `20`!>age<!>
|
||||
const val d2 = Person("Ivan", 20).<!EVALUATED: `Ivan <NULL>`!>wholeName<!>
|
||||
|
||||
@CompileTimeCalculation
|
||||
class A {
|
||||
val prop: Int
|
||||
constructor(arg: Boolean) {
|
||||
if (arg) {
|
||||
prop = 1
|
||||
return
|
||||
}
|
||||
prop = 2
|
||||
}
|
||||
}
|
||||
|
||||
const val e1 = A(true).<!EVALUATED: `1`!>prop<!>
|
||||
const val e2 = A(false).<!EVALUATED: `2`!>prop<!>
|
||||
|
||||
Reference in New Issue
Block a user