[Test] Integrate AbstractCompileTimeConstantEvaluatorTest to AbstractDiagnosticTest

^KT-47898
This commit is contained in:
Dmitriy Novozhilov
2021-07-28 17:13:17 +03:00
parent c401582770
commit 046730c62c
103 changed files with 2823 additions and 510 deletions
@@ -0,0 +1,55 @@
package test
// val prop1: 1
val prop1 = A.a
// val prop2: 2
val prop2 = A.a + 1
class A {
// val prop3: 1
val prop3 = A.a
// val prop4: 2
val prop4 = A.a + 1
// val prop7: 0
<!NON_FINAL_MEMBER_IN_FINAL_CLASS!>open<!> val prop7 = 0
// val prop8: null
val prop8 = prop7
companion object {
val a = 1
}
}
fun foo() {
// val prop5: 1
val prop5 = A.a
// val prop6: 2
val prop6 = A.a + 1
val b = {
// val prop11: 1
val prop11 = A.a
// val prop12: 2
val prop12 = A.a + 1
}
val c = object: Foo {
override fun f() {
// val prop9: 1
val prop9 = A.a
// val prop10: 2
val prop10 = A.a + 1
}
}
}
interface Foo {
fun f()
}
@@ -0,0 +1,55 @@
package test
// val prop1: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop1 = A.a<!>
// val prop2: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop2 = A.a + 1<!>
class A {
// val prop3: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop3 = A.a<!>
// val prop4: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop4 = A.a + 1<!>
// val prop7: 0
<!DEBUG_INFO_CONSTANT_VALUE("0")!><!NON_FINAL_MEMBER_IN_FINAL_CLASS!>open<!> val prop7 = 0<!>
// val prop8: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop8 = prop7<!>
companion object {
val a = 1
}
}
fun foo() {
// val prop5: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop5 = A.a<!>
// val prop6: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop6 = A.a + 1<!>
val b = {
// val prop11: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop11 = A.a<!>
// val prop12: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop12 = A.a + 1<!>
}
val c = object: Foo {
override fun f() {
// val prop9: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop9 = A.a<!>
// val prop10: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop10 = A.a + 1<!>
}
}
}
interface Foo {
fun f()
}
@@ -0,0 +1,33 @@
package
package test {
public val prop1: kotlin.Int = 1
public val prop2: kotlin.Int = 2
public fun foo(): kotlin.Unit
public final class A {
public constructor A()
public final val prop3: kotlin.Int = 1
public final val prop4: kotlin.Int = 2
public open val prop7: kotlin.Int = 0
public final val prop8: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public companion object Companion {
private constructor Companion()
public final val a: kotlin.Int = 1
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
public interface Foo {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun f(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,19 @@
package test
// val prop1: false
val prop1 = 1 > 2
// val prop2: true
val prop2 = 1 < 2
// val prop3: true
val prop3 = 1 <= 2
// val prop4: false
val prop4 = 1 >= 2
// val prop5: -1
val prop5 = 1.compareTo(2)
// val prop6: false
val prop6 = 1.compareTo(2) > 0
@@ -0,0 +1,19 @@
package test
// val prop1: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop1 = 1 > 2<!>
// val prop2: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val prop2 = 1 < 2<!>
// val prop3: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val prop3 = 1 <= 2<!>
// val prop4: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop4 = 1 >= 2<!>
// val prop5: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val prop5 = 1.compareTo(2)<!>
// val prop6: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop6 = 1.compareTo(2) > 0<!>
@@ -0,0 +1,10 @@
package
package test {
public val prop1: kotlin.Boolean = false
public val prop2: kotlin.Boolean = true
public val prop3: kotlin.Boolean = true
public val prop4: kotlin.Boolean = false
public val prop5: kotlin.Int = -1
public val prop6: kotlin.Boolean = false
}
@@ -0,0 +1,45 @@
package test
// val prop1: 1
val prop1: Int = 1
// val prop2: 1
val prop2: Int? = 1
// val prop3: 1
val prop3: Number? = 1
// val prop4: 1
val prop4: Any? = 1
// val prop5: 1
val prop5: Number = 1
// val prop6: 1
val prop6: Any = 1
// val prop7: \"a\"
val prop7: String = "a"
// val prop8: \"a\"
val prop8: String? = "a"
// val prop9: \"a\"
val prop9: Any? = "a"
// val prop10: \"a\"
val prop10: Any = "a"
// val prop11: null
val prop11: <!UNRESOLVED_REFERENCE!>aaa<!> = 1
// val prop14: null
val prop14: <!UNRESOLVED_REFERENCE!>aaa<!>? = 1
class A
// val prop15: null
val prop15: A = <!INITIALIZER_TYPE_MISMATCH!>1<!>
// val prop16: 1
val prop16: A? = <!INITIALIZER_TYPE_MISMATCH!>1<!>
@@ -0,0 +1,45 @@
package test
// val prop1: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop1: Int = 1<!>
// val prop2: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop2: Int? = 1<!>
// val prop3: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop3: Number? = 1<!>
// val prop4: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop4: Any? = 1<!>
// val prop5: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop5: Number = 1<!>
// val prop6: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop6: Any = 1<!>
// val prop7: \"a\"
<!DEBUG_INFO_CONSTANT_VALUE("\"a\"")!>val prop7: String = "a"<!>
// val prop8: \"a\"
<!DEBUG_INFO_CONSTANT_VALUE("\"a\"")!>val prop8: String? = "a"<!>
// val prop9: \"a\"
<!DEBUG_INFO_CONSTANT_VALUE("\"a\"")!>val prop9: Any? = "a"<!>
// val prop10: \"a\"
<!DEBUG_INFO_CONSTANT_VALUE("\"a\"")!>val prop10: Any = "a"<!>
// val prop11: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop11: <!UNRESOLVED_REFERENCE!>aaa<!> = 1<!>
// val prop14: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop14: <!UNRESOLVED_REFERENCE!>aaa<!>? = 1<!>
class A
// val prop15: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop15: A = <!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!><!>
// val prop16: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop16: A? = <!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!><!>
@@ -0,0 +1,25 @@
package
package test {
public val prop1: kotlin.Int = 1
public val prop10: kotlin.Any = "a"
public val prop11: [ERROR : aaa]
public val prop14: [ERROR : aaa]?
public val prop15: test.A
public val prop16: test.A? = 1
public val prop2: kotlin.Int? = 1
public val prop3: kotlin.Number? = 1
public val prop4: kotlin.Any? = 1
public val prop5: kotlin.Number = 1
public val prop6: kotlin.Any = 1
public val prop7: kotlin.String = "a"
public val prop8: kotlin.String? = "a"
public val prop9: kotlin.Any? = "a"
public final class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,79 @@
package test
// val prop1: null
val prop1 = <!DIVISION_BY_ZERO!>1 / 0<!>
// val prop2: Infinity.toDouble()
val prop2 = <!DIVISION_BY_ZERO!>1 / 0.0<!>
// val prop3: Infinity.toDouble()
val prop3 = <!DIVISION_BY_ZERO!>1.0 / 0<!>
// val prop4: 10.0.toDouble()
val prop4 = 1 / 0.1
// val prop5: null
val prop5 = 1 / 0.toLong()
// val prop6: Infinity.toDouble()
val prop6 = 1.0 / 0.toInt()
// val prop7: Infinity.toDouble()
val prop7 = 1.0 / 0.toLong()
// val prop8: Infinity.toDouble()
val prop8 = 1.0 / 0.toByte()
// val prop9: Infinity.toDouble()
val prop9 = 1.0 / 0.toShort()
// val prop10: Infinity.toDouble()
val prop10 = 1.0 / 0.toFloat()
// val prop11: Infinity.toDouble()
val prop11 = 1.0 / 0.toDouble()
// val prop12: -Infinity.toDouble()
val prop12 = <!DIVISION_BY_ZERO!>-1.0 / 0<!>
// val prop13: Infinity.toFloat()
val prop13 = <!DIVISION_BY_ZERO!>1f / 0<!>
// val prop14: -Infinity.toFloat()
val prop14 = <!DIVISION_BY_ZERO!>-1f / 0<!>
// val prop15: NaN.toDouble()
val prop15 = <!DIVISION_BY_ZERO!>0.0 / 0<!>
// val prop16: NaN.toFloat()
val prop16 = <!DIVISION_BY_ZERO!>0f / 0<!>
// val prop17: NaN.toDouble()
val prop17 = <!DIVISION_BY_ZERO!>-0.0 / 0<!>
// val prop18: NaN.toDouble()
val prop18 = <!DIVISION_BY_ZERO!>1.0 / 0<!> - <!DIVISION_BY_ZERO!>1.0 / 0<!>
// val prop19: NaN.toFloat()
val prop19 = <!DIVISION_BY_ZERO!>1f / 0<!> - <!DIVISION_BY_ZERO!>1f / 0<!>
// val prop20: NaN.toDouble()
val prop20 = 1.0 % 0
// val prop21: NaN.toDouble()
val prop21 = 0.0 % 0
// val prop22: NaN.toFloat()
val prop22 = 1f % 0
// val prop23: NaN.toDouble()
val prop23 = -1.0 % 0
// val prop24: NaN.toDouble()
val prop24 = -0.0 % 0
// val prop26: NaN.toDouble()
val prop26 = 1.0.rem(0)
// val prop27: Infinity.toDouble()
val prop27 = <!DIVISION_BY_ZERO!>1.0.div(0)<!>
@@ -0,0 +1,79 @@
package test
// val prop1: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop1 = <!DIVISION_BY_ZERO!>1 / 0<!><!>
// val prop2: Infinity.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toDouble()")!>val prop2 = <!DIVISION_BY_ZERO!>1 / 0.0<!><!>
// val prop3: Infinity.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toDouble()")!>val prop3 = <!DIVISION_BY_ZERO!>1.0 / 0<!><!>
// val prop4: 10.0.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("10.0.toDouble()")!>val prop4 = 1 / 0.1<!>
// val prop5: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop5 = <!DIVISION_BY_ZERO!>1 / 0.toLong()<!><!>
// val prop6: Infinity.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toDouble()")!>val prop6 = <!DIVISION_BY_ZERO!>1.0 / 0.toInt()<!><!>
// val prop7: Infinity.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toDouble()")!>val prop7 = <!DIVISION_BY_ZERO!>1.0 / 0.toLong()<!><!>
// val prop8: Infinity.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toDouble()")!>val prop8 = <!DIVISION_BY_ZERO!>1.0 / 0.toByte()<!><!>
// val prop9: Infinity.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toDouble()")!>val prop9 = <!DIVISION_BY_ZERO!>1.0 / 0.toShort()<!><!>
// val prop10: Infinity.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toDouble()")!>val prop10 = <!DIVISION_BY_ZERO!>1.0 / 0.toFloat()<!><!>
// val prop11: Infinity.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toDouble()")!>val prop11 = <!DIVISION_BY_ZERO!>1.0 / 0.toDouble()<!><!>
// val prop12: -Infinity.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("-Infinity.toDouble()")!>val prop12 = <!DIVISION_BY_ZERO!>-1.0 / 0<!><!>
// val prop13: Infinity.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toFloat()")!>val prop13 = <!DIVISION_BY_ZERO!>1f / 0<!><!>
// val prop14: -Infinity.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("-Infinity.toFloat()")!>val prop14 = <!DIVISION_BY_ZERO!>-1f / 0<!><!>
// val prop15: NaN.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("NaN.toDouble()")!>val prop15 = <!DIVISION_BY_ZERO!>0.0 / 0<!><!>
// val prop16: NaN.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("NaN.toFloat()")!>val prop16 = <!DIVISION_BY_ZERO!>0f / 0<!><!>
// val prop17: NaN.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("NaN.toDouble()")!>val prop17 = <!DIVISION_BY_ZERO!>-0.0 / 0<!><!>
// val prop18: NaN.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("NaN.toDouble()")!>val prop18 = <!DIVISION_BY_ZERO!>1.0 / 0<!> - <!DIVISION_BY_ZERO!>1.0 / 0<!><!>
// val prop19: NaN.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("NaN.toFloat()")!>val prop19 = <!DIVISION_BY_ZERO!>1f / 0<!> - <!DIVISION_BY_ZERO!>1f / 0<!><!>
// val prop20: NaN.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("NaN.toDouble()")!>val prop20 = <!DIVISION_BY_ZERO!>1.0 % 0<!><!>
// val prop21: NaN.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("NaN.toDouble()")!>val prop21 = <!DIVISION_BY_ZERO!>0.0 % 0<!><!>
// val prop22: NaN.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("NaN.toFloat()")!>val prop22 = <!DIVISION_BY_ZERO!>1f % 0<!><!>
// val prop23: NaN.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("NaN.toDouble()")!>val prop23 = <!DIVISION_BY_ZERO!>-1.0 % 0<!><!>
// val prop24: NaN.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("NaN.toDouble()")!>val prop24 = <!DIVISION_BY_ZERO!>-0.0 % 0<!><!>
// val prop26: NaN.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("NaN.toDouble()")!>val prop26 = <!DIVISION_BY_ZERO!>1.0.rem(0)<!><!>
// val prop27: Infinity.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toDouble()")!>val prop27 = <!DIVISION_BY_ZERO!>1.0.div(0)<!><!>
@@ -0,0 +1,30 @@
package
package test {
public val prop1: kotlin.Int
public val prop10: kotlin.Double = Infinity.toDouble()
public val prop11: kotlin.Double = Infinity.toDouble()
public val prop12: kotlin.Double = -Infinity.toDouble()
public val prop13: kotlin.Float = Infinity.toFloat()
public val prop14: kotlin.Float = -Infinity.toFloat()
public val prop15: kotlin.Double = NaN.toDouble()
public val prop16: kotlin.Float = NaN.toFloat()
public val prop17: kotlin.Double = NaN.toDouble()
public val prop18: kotlin.Double = NaN.toDouble()
public val prop19: kotlin.Float = NaN.toFloat()
public val prop2: kotlin.Double = Infinity.toDouble()
public val prop20: kotlin.Double = NaN.toDouble()
public val prop21: kotlin.Double = NaN.toDouble()
public val prop22: kotlin.Float = NaN.toFloat()
public val prop23: kotlin.Double = NaN.toDouble()
public val prop24: kotlin.Double = NaN.toDouble()
public val prop26: kotlin.Double = NaN.toDouble()
public val prop27: kotlin.Double = Infinity.toDouble()
public val prop3: kotlin.Double = Infinity.toDouble()
public val prop4: kotlin.Double = 10.0.toDouble()
public val prop5: kotlin.Long
public val prop6: kotlin.Double = Infinity.toDouble()
public val prop7: kotlin.Double = Infinity.toDouble()
public val prop8: kotlin.Double = Infinity.toDouble()
public val prop9: kotlin.Double = Infinity.toDouble()
}
@@ -0,0 +1,4 @@
package test
// val prop4: true
val prop4 = !1.equals(2)
@@ -0,0 +1,4 @@
package test
// val prop4: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val prop4 = !1.equals(2)<!>
@@ -0,0 +1,5 @@
package
package test {
public val prop4: kotlin.Boolean = true
}
@@ -0,0 +1,4 @@
package test
// val prop1: null
val prop1 = "".get(0)
@@ -0,0 +1,4 @@
package test
// val prop1: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop1 = "".get(0)<!>
@@ -0,0 +1,5 @@
package
package test {
public val prop1: kotlin.Char
}
@@ -0,0 +1,55 @@
package test
// val prop1: 1
val prop1 = A().a
// val prop2: 2
val prop2 = A().a + 1
class A() {
val a = 1
// val prop3: 1
val prop3 = a
// val prop4: 2
val prop4 = a + 1
fun foo() {
// val prop5: 1
val prop5 = A().a
// val prop6: 2
val prop6 = A().a + 1
val b = {
// val prop11: 1
val prop11 = A().a
// val prop12: 2
val prop12 = A().a + 1
}
val c = object: Foo {
override fun f() {
// val prop9: 1
val prop9 = A().a
// val prop10: 2
val prop10 = A().a + 1
}
}
}
}
fun foo() {
// val prop7: 1
val prop7 = A().a
// val prop8: 2
val prop8 = A().a + 1
}
interface Foo {
fun f()
}
@@ -0,0 +1,55 @@
package test
// val prop1: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop1 = A().a<!>
// val prop2: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop2 = A().a + 1<!>
class A() {
val a = 1
// val prop3: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop3 = a<!>
// val prop4: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop4 = a + 1<!>
fun foo() {
// val prop5: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop5 = A().a<!>
// val prop6: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop6 = A().a + 1<!>
val b = {
// val prop11: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop11 = A().a<!>
// val prop12: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop12 = A().a + 1<!>
}
val c = object: Foo {
override fun f() {
// val prop9: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop9 = A().a<!>
// val prop10: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop10 = A().a + 1<!>
}
}
}
}
fun foo() {
// val prop7: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop7 = A().a<!>
// val prop8: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop8 = A().a + 1<!>
}
interface Foo {
fun f()
}
@@ -0,0 +1,25 @@
package
package test {
public val prop1: kotlin.Int = 1
public val prop2: kotlin.Int = 2
public fun foo(): kotlin.Unit
public final class A {
public constructor A()
public final val a: kotlin.Int = 1
public final val prop3: kotlin.Int = 1
public final val prop4: kotlin.Int = 2
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Foo {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun f(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,25 @@
package test
// val prop1: 1.0.toFloat()
val prop1 = 1F
// val prop2: 1.0.toFloat()
val prop2 = 1.0F
// val prop3: 0.1.toFloat()
val prop3 = 1e-1F
// val prop4: 0.1.toFloat()
val prop4 = 1.0e-1F
// val prop5: 1.0.toFloat()
val prop5 = 1f
// val prop6: 1.0.toFloat()
val prop6 = 1.0f
// val prop7: 0.1.toFloat()
val prop7 = 1e-1f
// val prop8: 0.1.toFloat()
val prop8 = 1.0e-1f
@@ -0,0 +1,25 @@
package test
// val prop1: 1.0.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("1.0.toFloat()")!>val prop1 = 1F<!>
// val prop2: 1.0.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("1.0.toFloat()")!>val prop2 = 1.0F<!>
// val prop3: 0.1.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("0.1.toFloat()")!>val prop3 = 1e-1F<!>
// val prop4: 0.1.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("0.1.toFloat()")!>val prop4 = 1.0e-1F<!>
// val prop5: 1.0.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("1.0.toFloat()")!>val prop5 = 1f<!>
// val prop6: 1.0.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("1.0.toFloat()")!>val prop6 = 1.0f<!>
// val prop7: 0.1.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("0.1.toFloat()")!>val prop7 = 1e-1f<!>
// val prop8: 0.1.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("0.1.toFloat()")!>val prop8 = 1.0e-1f<!>
@@ -0,0 +1,12 @@
package
package test {
public val prop1: kotlin.Float = 1.0.toFloat()
public val prop2: kotlin.Float = 1.0.toFloat()
public val prop3: kotlin.Float = 0.1.toFloat()
public val prop4: kotlin.Float = 0.1.toFloat()
public val prop5: kotlin.Float = 1.0.toFloat()
public val prop6: kotlin.Float = 1.0.toFloat()
public val prop7: kotlin.Float = 0.1.toFloat()
public val prop8: kotlin.Float = 0.1.toFloat()
}
@@ -0,0 +1,49 @@
package test
// val prop1: 3.4028235E38.toFloat()
val prop1: Float = java.lang.Float.MAX_VALUE + 1
// val prop2: 3.4028234663852886E38.toDouble()
val prop2: Double = java.lang.Float.MAX_VALUE + 1.0
// val prop3: 3.4028235E38.toFloat()
val prop3 = java.lang.Float.MAX_VALUE + 1
// val prop4: 3.4028235E38.toFloat()
val prop4 = java.lang.Float.MAX_VALUE - 1
// val prop5: 3.4028235E38.toFloat()
val prop5: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>java.lang.Float.MAX_VALUE + 1<!>
// val prop6: 2.0.toFloat()
val prop6: Float = 1.0.toFloat() + 1
// val prop7: 2.0.toDouble()
val prop7: Double = 1.0 + 1.0
// val prop8: 2.0.toDouble()
val prop8: Float = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>1.0.toDouble() + 1.0<!>
// val prop9: -2.0.toDouble()
val prop9: Double = -2.0
// val prop10: Infinity.toFloat()
val prop10: Float = 1.2E400F
// val prop11: 0.0.toFloat()
val prop11: Float = 1.2E-400F
// val prop12: Infinity.toFloat()
val prop12: Float = 11111111111111111111111111111111111111111111111111111111111111111F
// val prop13: 0.0.toFloat()
val prop13: Float = 0.000000000000000000000000000000000000000000000000000000000000001F
// val prop14: 1.0E-39.toFloat()
val prop14: Float = 0.000000000000000000000000000000000000001000000000000000000000000F
// val prop15: Infinity.toDouble()
val prop15: Double = 1.2E400
// val prop16: 0.0.toDouble()
val prop16: Double = 1.2E-400
@@ -0,0 +1,49 @@
package test
// val prop1: 3.4028235E38.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("3.4028235E38.toFloat()")!>val prop1: Float = java.lang.Float.MAX_VALUE + 1<!>
// val prop2: 3.4028234663852886E38.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("3.4028234663852886E38.toDouble()")!>val prop2: Double = java.lang.Float.MAX_VALUE + 1.0<!>
// val prop3: 3.4028235E38.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("3.4028235E38.toFloat()")!>val prop3 = java.lang.Float.MAX_VALUE + 1<!>
// val prop4: 3.4028235E38.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("3.4028235E38.toFloat()")!>val prop4 = java.lang.Float.MAX_VALUE - 1<!>
// val prop5: 3.4028235E38.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("3.4028235E38.toFloat()")!>val prop5: Int = <!TYPE_MISMATCH!>java.lang.Float.MAX_VALUE + 1<!><!>
// val prop6: 2.0.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("2.0.toFloat()")!>val prop6: Float = 1.0.toFloat() + 1<!>
// val prop7: 2.0.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("2.0.toDouble()")!>val prop7: Double = 1.0 + 1.0<!>
// val prop8: 2.0.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("2.0.toDouble()")!>val prop8: Float = <!TYPE_MISMATCH!>1.0.toDouble() + 1.0<!><!>
// val prop9: -2.0.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("-2.0.toDouble()")!>val prop9: Double = -2.0<!>
// val prop10: Infinity.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toFloat()")!>val prop10: Float = <!FLOAT_LITERAL_CONFORMS_INFINITY!>1.2E400F<!><!>
// val prop11: 0.0.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("0.0.toFloat()")!>val prop11: Float = <!FLOAT_LITERAL_CONFORMS_ZERO!>1.2E-400F<!><!>
// val prop12: Infinity.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toFloat()")!>val prop12: Float = <!FLOAT_LITERAL_CONFORMS_INFINITY!>11111111111111111111111111111111111111111111111111111111111111111F<!><!>
// val prop13: 0.0.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("0.0.toFloat()")!>val prop13: Float = <!FLOAT_LITERAL_CONFORMS_ZERO!>0.000000000000000000000000000000000000000000000000000000000000001F<!><!>
// val prop14: 1.0E-39.toFloat()
<!DEBUG_INFO_CONSTANT_VALUE("1.0E-39.toFloat()")!>val prop14: Float = 0.000000000000000000000000000000000000001000000000000000000000000F<!>
// val prop15: Infinity.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("Infinity.toDouble()")!>val prop15: Double = <!FLOAT_LITERAL_CONFORMS_INFINITY!>1.2E400<!><!>
// val prop16: 0.0.toDouble()
<!DEBUG_INFO_CONSTANT_VALUE("0.0.toDouble()")!>val prop16: Double = <!FLOAT_LITERAL_CONFORMS_ZERO!>1.2E-400<!><!>
@@ -0,0 +1,20 @@
package
package test {
public val prop1: kotlin.Float = 3.4028235E38.toFloat()
public val prop10: kotlin.Float = Infinity.toFloat()
public val prop11: kotlin.Float = 0.0.toFloat()
public val prop12: kotlin.Float = Infinity.toFloat()
public val prop13: kotlin.Float = 0.0.toFloat()
public val prop14: kotlin.Float = 1.0E-39.toFloat()
public val prop15: kotlin.Double = Infinity.toDouble()
public val prop16: kotlin.Double = 0.0.toDouble()
public val prop2: kotlin.Double = 3.4028234663852886E38.toDouble()
public val prop3: kotlin.Float = 3.4028235E38.toFloat()
public val prop4: kotlin.Float = 3.4028235E38.toFloat()
public val prop5: kotlin.Int = 3.4028235E38.toFloat()
public val prop6: kotlin.Float = 2.0.toFloat()
public val prop7: kotlin.Double = 2.0.toDouble()
public val prop8: kotlin.Float = 2.0.toDouble()
public val prop9: kotlin.Double = -2.0.toDouble()
}
@@ -0,0 +1,31 @@
package test
// val prop1: 1.toLong()
val prop1 = 1L
// val prop2: 1.toLong()
val prop2 = 0x1L
// val prop3: 1.toLong()
val prop3 = 0X1L
// val prop4: 1.toLong()
val prop4 = 0b1L
// val prop5: 1.toLong()
val prop5 = 0B1L
// val prop6: 1.toLong()
val prop6 = 1<!WRONG_LONG_SUFFIX!>l<!>
// val prop7: 1.toLong()
val prop7 = 0x1<!WRONG_LONG_SUFFIX!>l<!>
// val prop8: 1.toLong()
val prop8 = 0X1<!WRONG_LONG_SUFFIX!>l<!>
// val prop9: 1.toLong()
val prop9 = 0b1<!WRONG_LONG_SUFFIX!>l<!>
// val prop10: 1.toLong()
val prop10 = 0B1<!WRONG_LONG_SUFFIX!>l<!>
@@ -0,0 +1,31 @@
package test
// val prop1: 1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("1.toLong()")!>val prop1 = 1L<!>
// val prop2: 1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("1.toLong()")!>val prop2 = 0x1L<!>
// val prop3: 1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("1.toLong()")!>val prop3 = 0X1L<!>
// val prop4: 1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("1.toLong()")!>val prop4 = 0b1L<!>
// val prop5: 1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("1.toLong()")!>val prop5 = 0B1L<!>
// val prop6: 1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("1.toLong()")!>val prop6 = 1<!WRONG_LONG_SUFFIX!>l<!><!>
// val prop7: 1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("1.toLong()")!>val prop7 = 0x1<!WRONG_LONG_SUFFIX!>l<!><!>
// val prop8: 1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("1.toLong()")!>val prop8 = 0X1<!WRONG_LONG_SUFFIX!>l<!><!>
// val prop9: 1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("1.toLong()")!>val prop9 = 0b1<!WRONG_LONG_SUFFIX!>l<!><!>
// val prop10: 1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("1.toLong()")!>val prop10 = 0B1<!WRONG_LONG_SUFFIX!>l<!><!>
@@ -0,0 +1,14 @@
package
package test {
public val prop1: kotlin.Long = 1.toLong()
public val prop10: kotlin.Long = 1.toLong()
public val prop2: kotlin.Long = 1.toLong()
public val prop3: kotlin.Long = 1.toLong()
public val prop4: kotlin.Long = 1.toLong()
public val prop5: kotlin.Long = 1.toLong()
public val prop6: kotlin.Long = 1.toLong()
public val prop7: kotlin.Long = 1.toLong()
public val prop8: kotlin.Long = 1.toLong()
public val prop9: kotlin.Long = 1.toLong()
}
@@ -0,0 +1,30 @@
// WITH_STDLIB
package test
// val x1: 3
val x1 = 1 + 2
// val x2: 3.toLong()
val x2 = 1 + 2L
// val x3: 3
val x3 = 1.toShort() + 2.toByte()
// val x4: 3
val x4 = 1.toByte() + 2.toByte()
// val x5: 4656
val x5 = 0x1234 and 0x5678
// Strange result, see KT-13517
// val x6: null
val x6 = 0x1234 and <!ARGUMENT_TYPE_MISMATCH!>0x5678L<!>
// val x7: 4656.toLong()
val x7 = 0x1234L and 0x5678
// val x8: -123457
val x8 = (-123_456_789_321).floorDiv(1_000_000)
// val x9: 79
val x9 = (-123_456_789_321).mod(100)
@@ -0,0 +1,30 @@
// WITH_STDLIB
package test
// val x1: 3
<!DEBUG_INFO_CONSTANT_VALUE("3")!>val x1 = 1 + 2<!>
// val x2: 3.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("3.toLong()")!>val x2 = 1 + 2L<!>
// val x3: 3
<!DEBUG_INFO_CONSTANT_VALUE("3")!>val x3 = 1.toShort() + 2.toByte()<!>
// val x4: 3
<!DEBUG_INFO_CONSTANT_VALUE("3")!>val x4 = 1.toByte() + 2.toByte()<!>
// val x5: 4656
<!DEBUG_INFO_CONSTANT_VALUE("4656")!>val x5 = 0x1234 and 0x5678<!>
// Strange result, see KT-13517
// val x6: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val x6 = 0x1234 and <!CONSTANT_EXPECTED_TYPE_MISMATCH!>0x5678L<!><!>
// val x7: 4656.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("4656.toLong()")!>val x7 = 0x1234L and 0x5678<!>
// val x8: -123457
<!DEBUG_INFO_CONSTANT_VALUE("-123457")!>val x8 = (-123_456_789_321).floorDiv(1_000_000)<!>
// val x9: 79
<!DEBUG_INFO_CONSTANT_VALUE("79")!>val x9 = (-123_456_789_321).mod(100)<!>
@@ -0,0 +1,13 @@
package
package test {
public val x1: kotlin.Int = 3
public val x2: kotlin.Long = 3.toLong()
public val x3: kotlin.Int = 3
public val x4: kotlin.Int = 3
public val x5: kotlin.Int = 4656
public val x6: kotlin.Int
public val x7: kotlin.Long = 4656.toLong()
public val x8: kotlin.Int = -123457
public val x9: kotlin.Int = 79
}
@@ -0,0 +1,14 @@
// WITH_STDLIB
package test
// val prop1: 513105426295.toLong()
val prop1: Int = <!INITIALIZER_TYPE_MISMATCH!>0x7777777777<!>
// val prop2: 513105426295.toLong()
val prop2: Long = 0x7777777777
// val prop3: 513105426295.toLong()
val prop3 = 0x7777777777
// val prop4: 10
const val prop4 = <!CONST_VAL_WITH_NON_CONST_INITIALIZER!>'\n'.code<!>
@@ -0,0 +1,14 @@
// WITH_STDLIB
package test
// val prop1: 513105426295.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("513105426295.toLong()")!>val prop1: Int = <!CONSTANT_EXPECTED_TYPE_MISMATCH!>0x7777777777<!><!>
// val prop2: 513105426295.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("513105426295.toLong()")!>val prop2: Long = 0x7777777777<!>
// val prop3: 513105426295.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("513105426295.toLong()")!>val prop3 = 0x7777777777<!>
// val prop4: 10
<!DEBUG_INFO_CONSTANT_VALUE("10")!>const val prop4 = '\n'.code<!>
@@ -0,0 +1,8 @@
package
package test {
public val prop1: kotlin.Int = 513105426295.toLong()
public val prop2: kotlin.Long = 513105426295.toLong()
public val prop3: kotlin.Long = 513105426295.toLong()
public const val prop4: kotlin.Int = 10
}
@@ -0,0 +1,53 @@
package test
class A() {
fun foo() {
val a = 1
// val prop5: 1
val prop5 = a
// val prop6: 2
val prop6 = a + 1
fun local() {
// val prop1: 1
val prop1 = a
// val prop2: 2
val prop2 = a + 1
}
val b = {
// val prop3: 1
val prop3 = a
// val prop4: 2
val prop4 = a + 1
}
val c = object: Foo {
override fun f() {
// val prop9: 1
val prop9 = a
// val prop10: 2
val prop10 = a + 1
}
}
}
}
fun foo() {
val a = 1
// val prop7: 1
val prop7 = a
// val prop8: 2
val prop8 = a + 1
}
interface Foo {
fun f()
}
@@ -0,0 +1,53 @@
package test
class A() {
fun foo() {
val a = 1
// val prop5: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop5 = a<!>
// val prop6: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop6 = a + 1<!>
fun local() {
// val prop1: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop1 = a<!>
// val prop2: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop2 = a + 1<!>
}
val b = {
// val prop3: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop3 = a<!>
// val prop4: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop4 = a + 1<!>
}
val c = object: Foo {
override fun f() {
// val prop9: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop9 = a<!>
// val prop10: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop10 = a + 1<!>
}
}
}
}
fun foo() {
val a = 1
// val prop7: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop7 = a<!>
// val prop8: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop8 = a + 1<!>
}
interface Foo {
fun f()
}
@@ -0,0 +1,20 @@
package
package test {
public fun foo(): kotlin.Unit
public final class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Foo {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun f(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,53 @@
package test
class A() {
fun foo() {
var a = 1
// val prop5: null
val prop5 = a
// val prop6: null
val prop6 = a + 1
fun local() {
// val prop1: null
val prop1 = a
// val prop2: null
val prop2 = a + 1
}
val b = {
// val prop3: null
val prop3 = a
// val prop4: null
val prop4 = a + 1
}
val c = object: Foo {
override fun f() {
// val prop9: null
val prop9 = a
// val prop10: null
val prop10 = a + 1
}
}
}
}
fun foo() {
var a = 1
// val prop7: null
val prop7 = a
// val prop8: null
val prop8 = a + 1
}
interface Foo {
fun f()
}
@@ -0,0 +1,53 @@
package test
class A() {
fun foo() {
var a = 1
// val prop5: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop5 = a<!>
// val prop6: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop6 = a + 1<!>
fun local() {
// val prop1: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop1 = a<!>
// val prop2: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop2 = a + 1<!>
}
val b = {
// val prop3: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop3 = a<!>
// val prop4: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop4 = a + 1<!>
}
val c = object: Foo {
override fun f() {
// val prop9: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop9 = a<!>
// val prop10: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop10 = a + 1<!>
}
}
}
}
fun foo() {
var a = 1
// val prop7: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop7 = a<!>
// val prop8: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop8 = a + 1<!>
}
interface Foo {
fun f()
}
@@ -0,0 +1,20 @@
package
package test {
public fun foo(): kotlin.Unit
public final class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Foo {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun f(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,56 @@
package test
// val prop1: null
val prop1 = A().a
// val prop2: null
val prop2 = A().a + 1
class A() {
var a = 1
// val prop3: null
val prop3 = a
// val prop4: null
val prop4 = a + 1
fun foo() {
// val prop5: null
val prop5 = A().a
// val prop6: null
val prop6 = A().a + 1
val b = {
// val prop11: null
val prop11 = A().a
// val prop12: null
val prop12 = A().a + 1
}
val c = object: Foo {
override fun f() {
// val prop9: null
val prop9 = A().a
// val prop10: null
val prop10 = A().a + 1
}
}
}
}
fun foo() {
// val prop7: null
val prop7 = A().a
// val prop8: null
val prop8 = A().a + 1
}
interface Foo {
fun f()
}
@@ -0,0 +1,56 @@
package test
// val prop1: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop1 = A().a<!>
// val prop2: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop2 = A().a + 1<!>
class A() {
var a = 1
// val prop3: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop3 = a<!>
// val prop4: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop4 = a + 1<!>
fun foo() {
// val prop5: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop5 = A().a<!>
// val prop6: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop6 = A().a + 1<!>
val b = {
// val prop11: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop11 = A().a<!>
// val prop12: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop12 = A().a + 1<!>
}
val c = object: Foo {
override fun f() {
// val prop9: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop9 = A().a<!>
// val prop10: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop10 = A().a + 1<!>
}
}
}
}
fun foo() {
// val prop7: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop7 = A().a<!>
// val prop8: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop8 = A().a + 1<!>
}
interface Foo {
fun f()
}
@@ -0,0 +1,25 @@
package
package test {
public val prop1: kotlin.Int
public val prop2: kotlin.Int
public fun foo(): kotlin.Unit
public final class A {
public constructor A()
public final var a: kotlin.Int
public final val prop3: kotlin.Int
public final val prop4: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Foo {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun f(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,48 @@
package test
// val prop1: 1
val prop1 = A.a
// val prop2: 2
val prop2 = A.a + 1
object A {
val a = 1
// val prop3: 1
val prop3 = A.a
// val prop4: 2
val prop4 = A.a + 1
}
fun foo() {
// val prop5: 1
val prop5 = A.a
// val prop6: 2
val prop6 = A.a + 1
val b = {
// val prop11: 1
val prop11 = A.a
// val prop12: 2
val prop12 = A.a + 1
}
val c = object: Foo {
override fun f() {
// val prop9: 1
val prop9 = A.a
// val prop10: 2
val prop10 = A.a + 1
}
}
}
interface Foo {
fun f()
}
@@ -0,0 +1,48 @@
package test
// val prop1: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop1 = A.a<!>
// val prop2: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop2 = A.a + 1<!>
object A {
val a = 1
// val prop3: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop3 = A.a<!>
// val prop4: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop4 = A.a + 1<!>
}
fun foo() {
// val prop5: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop5 = A.a<!>
// val prop6: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop6 = A.a + 1<!>
val b = {
// val prop11: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop11 = A.a<!>
// val prop12: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop12 = A.a + 1<!>
}
val c = object: Foo {
override fun f() {
// val prop9: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop9 = A.a<!>
// val prop10: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop10 = A.a + 1<!>
}
}
}
interface Foo {
fun f()
}
@@ -0,0 +1,24 @@
package
package test {
public val prop1: kotlin.Int = 1
public val prop2: kotlin.Int = 2
public fun foo(): kotlin.Unit
public object A {
private constructor A()
public final val a: kotlin.Int = 1
public final val prop3: kotlin.Int = 1
public final val prop4: kotlin.Int = 2
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Foo {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun f(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,39 @@
// WITH_STDLIB
package test
enum class MyEnum {
A
}
// val prop1: \"2\"
val prop1 = "${1 + 1}"
// val prop2: null
val prop2 = "myEnum=${MyEnum.A}"
// val prop3: \"1\"
val prop3 = "${1}"
// val prop4: \"null\"
val prop4 = "${null}"
// val prop5: \"1.0\"
val prop5 = "${1.toFloat()}"
// val prop6: \"1.0\"
val prop6 = "${1.0}"
// val prop7: null
val prop7 = "${Int::class.java}"
// val prop8: \"a1.0\"
val prop8 = "a${1.toDouble()}"
// val prop9: \"ab\"
val prop9 = "a" + "b"
// val prop10: \"abb\"
val prop10 = prop9 + "b"
// val prop11: 6
val prop11 = "kotlin".length
@@ -0,0 +1,39 @@
// WITH_STDLIB
package test
enum class MyEnum {
A
}
// val prop1: \"2\"
<!DEBUG_INFO_CONSTANT_VALUE("\"2\"")!>val prop1 = "${1 + 1}"<!>
// val prop2: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop2 = "myEnum=${MyEnum.A}"<!>
// val prop3: \"1\"
<!DEBUG_INFO_CONSTANT_VALUE("\"1\"")!>val prop3 = "${1}"<!>
// val prop4: \"null\"
<!DEBUG_INFO_CONSTANT_VALUE("\"null\"")!>val prop4 = "${null}"<!>
// val prop5: \"1.0\"
<!DEBUG_INFO_CONSTANT_VALUE("\"1.0\"")!>val prop5 = "${1.toFloat()}"<!>
// val prop6: \"1.0\"
<!DEBUG_INFO_CONSTANT_VALUE("\"1.0\"")!>val prop6 = "${1.0}"<!>
// val prop7: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop7 = "${Int::class.java}"<!>
// val prop8: \"a1.0\"
<!DEBUG_INFO_CONSTANT_VALUE("\"a1.0\"")!>val prop8 = "a${1.toDouble()}"<!>
// val prop9: \"ab\"
<!DEBUG_INFO_CONSTANT_VALUE("\"ab\"")!>val prop9 = "a" + "b"<!>
// val prop10: \"abb\"
<!DEBUG_INFO_CONSTANT_VALUE("\"abb\"")!>val prop10 = prop9 + "b"<!>
// val prop11: 6
<!DEBUG_INFO_CONSTANT_VALUE("6")!>val prop11 = "kotlin".length<!>
@@ -0,0 +1,34 @@
package
package test {
public val prop1: kotlin.String = "2"
public val prop10: kotlin.String = "abb"
public val prop11: kotlin.Int = 6
public val prop2: kotlin.String
public val prop3: kotlin.String = "1"
public val prop4: kotlin.String = "null"
public val prop5: kotlin.String = "1.0"
public val prop6: kotlin.String = "1.0"
public val prop7: kotlin.String
public val prop8: kotlin.String = "a1.0"
public val prop9: kotlin.String = "ab"
public final enum class MyEnum : kotlin.Enum<test.MyEnum> {
enum entry A
private constructor MyEnum()
public final override /*1*/ /*fake_override*/ val name: kotlin.String
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: test.MyEnum): kotlin.Int
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<test.MyEnum!>!
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): test.MyEnum
public final /*synthesized*/ fun values(): kotlin.Array<test.MyEnum>
}
}
@@ -0,0 +1,47 @@
package test
val a = 1
// val prop1: 1
val prop1 = a
// val prop2: 2
val prop2 = a + 1
class A {
// val prop3: 1
val prop3 = a
// val prop4: 2
val prop4 = a + 1
val b = {
// val prop11: 1
val prop11 = a
// val prop12: 2
val prop12 = a + 1
}
val c = object: Foo {
override fun f() {
// val prop9: 1
val prop9 = a
// val prop10: 2
val prop10 = a + 1
}
}
}
fun foo() {
// val prop5: 1
val prop5 = a
// val prop6: 2
val prop6 = a + 1
}
interface Foo {
fun f()
}
@@ -0,0 +1,47 @@
package test
val a = 1
// val prop1: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop1 = a<!>
// val prop2: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop2 = a + 1<!>
class A {
// val prop3: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop3 = a<!>
// val prop4: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop4 = a + 1<!>
val b = {
// val prop11: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop11 = a<!>
// val prop12: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop12 = a + 1<!>
}
val c = object: Foo {
override fun f() {
// val prop9: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop9 = a<!>
// val prop10: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop10 = a + 1<!>
}
}
}
fun foo() {
// val prop5: 1
<!DEBUG_INFO_CONSTANT_VALUE("1")!>val prop5 = a<!>
// val prop6: 2
<!DEBUG_INFO_CONSTANT_VALUE("2")!>val prop6 = a + 1<!>
}
interface Foo {
fun f()
}
@@ -0,0 +1,26 @@
package
package test {
public val a: kotlin.Int = 1
public val prop1: kotlin.Int = 1
public val prop2: kotlin.Int = 2
public fun foo(): kotlin.Unit
public final class A {
public constructor A()
public final val b: () -> kotlin.Unit
public final val c: test.Foo
public final val prop3: kotlin.Int = 1
public final val prop4: kotlin.Int = 2
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Foo {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun f(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,47 @@
package test
var a = 1
// val prop1: null
val prop1 = a
// val prop2: null
val prop2 = a + 1
class A {
// val prop3: null
val prop3 = a
// val prop4: null
val prop4 = a + 1
val b = {
// val prop11: null
val prop11 = a
// val prop12: null
val prop12 = a + 1
}
val c = object: Foo {
override fun f() {
// val prop9: null
val prop9 = a
// val prop10: null
val prop10 = a + 1
}
}
}
fun foo() {
// val prop5: null
val prop5 = a
// val prop6: null
val prop6 = a + 1
}
interface Foo {
fun f()
}
@@ -0,0 +1,47 @@
package test
var a = 1
// val prop1: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop1 = a<!>
// val prop2: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop2 = a + 1<!>
class A {
// val prop3: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop3 = a<!>
// val prop4: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop4 = a + 1<!>
val b = {
// val prop11: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop11 = a<!>
// val prop12: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop12 = a + 1<!>
}
val c = object: Foo {
override fun f() {
// val prop9: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop9 = a<!>
// val prop10: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop10 = a + 1<!>
}
}
}
fun foo() {
// val prop5: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop5 = a<!>
// val prop6: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop6 = a + 1<!>
}
interface Foo {
fun f()
}
@@ -0,0 +1,26 @@
package
package test {
public var a: kotlin.Int
public val prop1: kotlin.Int
public val prop2: kotlin.Int
public fun foo(): kotlin.Unit
public final class A {
public constructor A()
public final val b: () -> kotlin.Unit
public final val c: test.Foo
public final val prop3: kotlin.Int
public final val prop4: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Foo {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun f(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -0,0 +1,22 @@
package test
// val p1: -1
val p1 = -1
// val p2: -1.toLong()
val p2 = -1.toLong()
// val p3: -1.toByte()
val p3 = (-1).toByte()
// val p3a: -1
val p3a =-1.toByte()
// val p4: -1
val p4 = -1.toInt()
// val p5: -1.toShort()
val p5 = (-1).toShort()
// val p5a: -1
val p5a = -1.toShort()
@@ -0,0 +1,22 @@
package test
// val p1: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val p1 = -1<!>
// val p2: -1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("-1.toLong()")!>val p2 = -1.toLong()<!>
// val p3: -1.toByte()
<!DEBUG_INFO_CONSTANT_VALUE("-1.toByte()")!>val p3 = (-1).toByte()<!>
// val p3a: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val p3a =-1.toByte()<!>
// val p4: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val p4 = -1.toInt()<!>
// val p5: -1.toShort()
<!DEBUG_INFO_CONSTANT_VALUE("-1.toShort()")!>val p5 = (-1).toShort()<!>
// val p5a: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val p5a = -1.toShort()<!>
@@ -0,0 +1,11 @@
package
package test {
public val p1: kotlin.Int = -1
public val p2: kotlin.Long = -1.toLong()
public val p3: kotlin.Byte = -1.toByte()
public val p3a: kotlin.Int = -1
public val p4: kotlin.Int = -1
public val p5: kotlin.Short = -1.toShort()
public val p5a: kotlin.Int = -1
}
@@ -0,0 +1,63 @@
package test
// val p1: -1
val p1: Int = -1
// val p2: -1.toLong()
val p2: Long = -1
// val p3: -1.toByte()
val p3: Byte = -1
// val p4: -1.toShort()
val p4: Short = -1
// val l1: -1.toLong()
val l1: Long = -1.toLong()
// val l2: -1.toLong()
val l2: Byte = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>-1.toLong()<!>
// val l3: -1.toLong()
val l3: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>-1.toLong()<!>
// val l4: -1.toLong()
val l4: Short = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>-1.toLong()<!>
// val b1: -1
val b1: Byte = <!TYPE_MISMATCH!>-1.toByte()<!>
// val b2: -1
val b2: Int = -1.toByte()
// val b3: -1
val b3: Long = <!TYPE_MISMATCH!>-1.toByte()<!>
// val b4: -1
val b4: Short = <!TYPE_MISMATCH!>-1.toByte()<!>
// val i1: -1
val i1: Byte = <!TYPE_MISMATCH!>-1.toInt()<!>
// val i2: -1
val i2: Int = -1.toInt()
// val i3: -1
val i3: Long = <!TYPE_MISMATCH!>-1.toInt()<!>
// val i4: -1
val i4: Short = <!TYPE_MISMATCH!>-1.toInt()<!>
// val s1: -1
val s1: Byte = <!TYPE_MISMATCH!>-1.toShort()<!>
// val s2: -1
val s2: Int = -1.toShort()
// val s3: -1
val s3: Long = <!TYPE_MISMATCH!>-1.toShort()<!>
// val s4: -1
val s4: Short = <!TYPE_MISMATCH!>-1.toShort()<!>
@@ -0,0 +1,63 @@
package test
// val p1: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val p1: Int = -1<!>
// val p2: -1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("-1.toLong()")!>val p2: Long = -1<!>
// val p3: -1.toByte()
<!DEBUG_INFO_CONSTANT_VALUE("-1.toByte()")!>val p3: Byte = -1<!>
// val p4: -1.toShort()
<!DEBUG_INFO_CONSTANT_VALUE("-1.toShort()")!>val p4: Short = -1<!>
// val l1: -1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("-1.toLong()")!>val l1: Long = -1.toLong()<!>
// val l2: -1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("-1.toLong()")!>val l2: Byte = <!TYPE_MISMATCH!>-1.toLong()<!><!>
// val l3: -1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("-1.toLong()")!>val l3: Int = <!TYPE_MISMATCH!>-1.toLong()<!><!>
// val l4: -1.toLong()
<!DEBUG_INFO_CONSTANT_VALUE("-1.toLong()")!>val l4: Short = <!TYPE_MISMATCH!>-1.toLong()<!><!>
// val b1: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val b1: Byte = <!TYPE_MISMATCH!>-1.toByte()<!><!>
// val b2: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val b2: Int = -1.toByte()<!>
// val b3: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val b3: Long = <!TYPE_MISMATCH!>-1.toByte()<!><!>
// val b4: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val b4: Short = <!TYPE_MISMATCH!>-1.toByte()<!><!>
// val i1: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val i1: Byte = <!TYPE_MISMATCH!>-1.toInt()<!><!>
// val i2: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val i2: Int = -1.toInt()<!>
// val i3: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val i3: Long = <!TYPE_MISMATCH!>-1.toInt()<!><!>
// val i4: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val i4: Short = <!TYPE_MISMATCH!>-1.toInt()<!><!>
// val s1: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val s1: Byte = <!TYPE_MISMATCH!>-1.toShort()<!><!>
// val s2: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val s2: Int = -1.toShort()<!>
// val s3: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val s3: Long = <!TYPE_MISMATCH!>-1.toShort()<!><!>
// val s4: -1
<!DEBUG_INFO_CONSTANT_VALUE("-1")!>val s4: Short = <!TYPE_MISMATCH!>-1.toShort()<!><!>
@@ -0,0 +1,24 @@
package
package test {
public val b1: kotlin.Byte = -1
public val b2: kotlin.Int = -1
public val b3: kotlin.Long = -1
public val b4: kotlin.Short = -1
public val i1: kotlin.Byte = -1
public val i2: kotlin.Int = -1
public val i3: kotlin.Long = -1
public val i4: kotlin.Short = -1
public val l1: kotlin.Long = -1.toLong()
public val l2: kotlin.Byte = -1.toLong()
public val l3: kotlin.Int = -1.toLong()
public val l4: kotlin.Short = -1.toLong()
public val p1: kotlin.Int = -1
public val p2: kotlin.Long = -1.toLong()
public val p3: kotlin.Byte = -1.toByte()
public val p4: kotlin.Short = -1.toShort()
public val s1: kotlin.Byte = -1
public val s2: kotlin.Int = -1
public val s3: kotlin.Long = -1
public val s4: kotlin.Short = -1
}
@@ -0,0 +1,13 @@
package test
// val prop1: false
val prop1 = 1.toLong() + 1
// val prop2: false
val prop2 = -1.toInt()
// val prop3: false
val prop3 = 1 + 1.toByte()
// val prop4: false
val prop4 = 1 + 1.toShort() + 1
@@ -0,0 +1,13 @@
package test
// val prop1: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop1 = 1.toLong() + 1<!>
// val prop2: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop2 = -1.toInt()<!>
// val prop3: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop3 = 1 + 1.toByte()<!>
// val prop4: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop4 = 1 + 1.toShort() + 1<!>
@@ -0,0 +1,8 @@
package
package test {
public val prop1: kotlin.Long = 2.toLong()
public val prop2: kotlin.Int = -1
public val prop3: kotlin.Int = 2
public val prop4: kotlin.Int = 3
}
@@ -0,0 +1,9 @@
package test
val NAMED_CONSTANT = 1
// val prop1: false
val prop1 = NAMED_CONSTANT
// val prop2: false
val prop2 = NAMED_CONSTANT + 1
@@ -0,0 +1,9 @@
package test
val NAMED_CONSTANT = 1
// val prop1: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop1 = NAMED_CONSTANT<!>
// val prop2: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop2 = NAMED_CONSTANT + 1<!>
@@ -0,0 +1,7 @@
package
package test {
public val NAMED_CONSTANT: kotlin.Int = 1
public val prop1: kotlin.Int = 1
public val prop2: kotlin.Int = 2
}
@@ -0,0 +1,16 @@
package test
// val prop1: false
val prop1 = 1.toLong()
// val prop2: false
val prop2 = 1.toInt()
// val prop3: false
val prop3 = 1.toByte()
// val prop4: false
val prop4 = 1.toShort()
// val prop5: false
val prop5 = 1.toChar()
@@ -0,0 +1,16 @@
package test
// val prop1: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop1 = 1.toLong()<!>
// val prop2: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop2 = 1.toInt()<!>
// val prop3: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop3 = 1.toByte()<!>
// val prop4: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop4 = 1.toShort()<!>
// val prop5: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop5 = 1.toChar()<!>
@@ -0,0 +1,9 @@
package
package test {
public val prop1: kotlin.Long = 1.toLong()
public val prop2: kotlin.Int = 1
public val prop3: kotlin.Byte = 1.toByte()
public val prop4: kotlin.Short = 1.toShort()
public val prop5: kotlin.Char = \u0001 ('?')
}
@@ -0,0 +1,16 @@
package test
// val p1: true
val p1 = -1
// val p2: false
val p2 = -1.toLong()
// val p3: false
val p3 = -1.toByte()
// val p4: false
val p4 = -1.toInt()
// val p5: false
val p5 = -1.toShort()
@@ -0,0 +1,16 @@
package test
// val p1: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val p1 = -1<!>
// val p2: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val p2 = -1.toLong()<!>
// val p3: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val p3 = -1.toByte()<!>
// val p4: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val p4 = -1.toInt()<!>
// val p5: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val p5 = -1.toShort()<!>
@@ -0,0 +1,9 @@
package
package test {
public val p1: kotlin.Int = -1
public val p2: kotlin.Long = -1.toLong()
public val p3: kotlin.Int = -1
public val p4: kotlin.Int = -1
public val p5: kotlin.Int = -1
}
@@ -0,0 +1,63 @@
package test
// val p1: true
val p1: Int = -1
// val p2: true
val p2: Long = -1
// val p3: true
val p3: Byte = -1
// val p4: true
val p4: Short = -1
// val l1: false
val l1: Long = -1.toLong()
// val l2: false
val l2: Byte = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>-1.toLong()<!>
// val l3: false
val l3: Int = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>-1.toLong()<!>
// val l4: false
val l4: Short = <!INITIALIZER_TYPE_MISMATCH, TYPE_MISMATCH!>-1.toLong()<!>
// val b1: false
val b1: Byte = <!TYPE_MISMATCH!>-1.toByte()<!>
// val b2: false
val b2: Int = -1.toByte()
// val b3: false
val b3: Long = <!TYPE_MISMATCH!>-1.toByte()<!>
// val b4: false
val b4: Short = <!TYPE_MISMATCH!>-1.toByte()<!>
// val i1: false
val i1: Byte = <!TYPE_MISMATCH!>-1.toInt()<!>
// val i2: false
val i2: Int = -1.toInt()
// val i3: false
val i3: Long = <!TYPE_MISMATCH!>-1.toInt()<!>
// val i4: false
val i4: Short = <!TYPE_MISMATCH!>-1.toInt()<!>
// val s1: false
val s1: Byte = <!TYPE_MISMATCH!>-1.toShort()<!>
// val s2: false
val s2: Int = -1.toShort()
// val s3: false
val s3: Long = <!TYPE_MISMATCH!>-1.toShort()<!>
// val s4: false
val s4: Short = <!TYPE_MISMATCH!>-1.toShort()<!>
@@ -0,0 +1,63 @@
package test
// val p1: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val p1: Int = -1<!>
// val p2: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val p2: Long = -1<!>
// val p3: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val p3: Byte = -1<!>
// val p4: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val p4: Short = -1<!>
// val l1: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val l1: Long = -1.toLong()<!>
// val l2: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val l2: Byte = <!TYPE_MISMATCH!>-1.toLong()<!><!>
// val l3: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val l3: Int = <!TYPE_MISMATCH!>-1.toLong()<!><!>
// val l4: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val l4: Short = <!TYPE_MISMATCH!>-1.toLong()<!><!>
// val b1: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val b1: Byte = <!TYPE_MISMATCH!>-1.toByte()<!><!>
// val b2: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val b2: Int = -1.toByte()<!>
// val b3: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val b3: Long = <!TYPE_MISMATCH!>-1.toByte()<!><!>
// val b4: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val b4: Short = <!TYPE_MISMATCH!>-1.toByte()<!><!>
// val i1: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val i1: Byte = <!TYPE_MISMATCH!>-1.toInt()<!><!>
// val i2: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val i2: Int = -1.toInt()<!>
// val i3: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val i3: Long = <!TYPE_MISMATCH!>-1.toInt()<!><!>
// val i4: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val i4: Short = <!TYPE_MISMATCH!>-1.toInt()<!><!>
// val s1: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val s1: Byte = <!TYPE_MISMATCH!>-1.toShort()<!><!>
// val s2: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val s2: Int = -1.toShort()<!>
// val s3: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val s3: Long = <!TYPE_MISMATCH!>-1.toShort()<!><!>
// val s4: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val s4: Short = <!TYPE_MISMATCH!>-1.toShort()<!><!>
@@ -0,0 +1,24 @@
package
package test {
public val b1: kotlin.Byte = -1
public val b2: kotlin.Int = -1
public val b3: kotlin.Long = -1
public val b4: kotlin.Short = -1
public val i1: kotlin.Byte = -1
public val i2: kotlin.Int = -1
public val i3: kotlin.Long = -1
public val i4: kotlin.Short = -1
public val l1: kotlin.Long = -1.toLong()
public val l2: kotlin.Byte = -1.toLong()
public val l3: kotlin.Int = -1.toLong()
public val l4: kotlin.Short = -1.toLong()
public val p1: kotlin.Int = -1
public val p2: kotlin.Long = -1.toLong()
public val p3: kotlin.Byte = -1.toByte()
public val p4: kotlin.Short = -1.toShort()
public val s1: kotlin.Byte = -1
public val s2: kotlin.Int = -1
public val s3: kotlin.Long = -1
public val s4: kotlin.Short = -1
}
@@ -0,0 +1,11 @@
package test
val x = 1
val y = "a"
// val prop1: true
val prop1 = x
// val prop2: true
val prop2 = y
@@ -0,0 +1,11 @@
package test
val x = 1
val y = "a"
// val prop1: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val prop1 = x<!>
// val prop2: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val prop2 = y<!>
@@ -0,0 +1,8 @@
package
package test {
public val prop1: kotlin.Int = 1
public val prop2: kotlin.String = "a"
public val x: kotlin.Int = 1
public val y: kotlin.String = "a"
}
@@ -0,0 +1,22 @@
package test
enum class MyEnum { A, B }
fun foo(): Boolean = true
val x = 1
// val prop1: false
val prop1 = MyEnum.A
// val prop2: null
val prop2 = foo()
// val prop3: true
val prop3 = "$x"
// val prop4: false
val prop4 = intArrayOf(1, 2, 3)
// val prop5: true
val prop5 = intArrayOf(1, 2, x, x)
@@ -0,0 +1,22 @@
package test
enum class MyEnum { A, B }
fun foo(): Boolean = true
val x = 1
// val prop1: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop1 = MyEnum.A<!>
// val prop2: null
<!DEBUG_INFO_CONSTANT_VALUE("null")!>val prop2 = foo()<!>
// val prop3: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val prop3 = "$x"<!>
// val prop4: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop4 = intArrayOf(1, 2, 3)<!>
// val prop5: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val prop5 = intArrayOf(1, 2, x, x)<!>
@@ -0,0 +1,32 @@
package
package test {
public val prop1: test.MyEnum
public val prop2: kotlin.Boolean
public val prop3: kotlin.String = "1"
public val prop4: kotlin.IntArray
public val prop5: kotlin.IntArray
public val x: kotlin.Int = 1
public fun foo(): kotlin.Boolean
public final enum class MyEnum : kotlin.Enum<test.MyEnum> {
enum entry A
enum entry B
private constructor MyEnum()
public final override /*1*/ /*fake_override*/ val name: kotlin.String
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: test.MyEnum): kotlin.Int
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<test.MyEnum!>!
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): test.MyEnum
public final /*synthesized*/ fun values(): kotlin.Array<test.MyEnum>
}
}
@@ -0,0 +1,29 @@
package test
val x = 1
val y = true
// val prop1: false
val prop1 = 1 > 2
// val prop2: false
val prop2 = 2 + 3
// val prop3: true
val prop3 = 2 + x
// val prop4: true
val prop4 = x < 2
// val prop5: true
val prop5 = y && true
// val prop6: false
val prop6 = true && false || 2 > 1
// val prop7: true
val prop7 = x == 1
// val prop8: true
val prop8 = 1 / x
@@ -0,0 +1,29 @@
package test
val x = 1
val y = true
// val prop1: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop1 = 1 > 2<!>
// val prop2: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop2 = 2 + 3<!>
// val prop3: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val prop3 = 2 + x<!>
// val prop4: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val prop4 = x < 2<!>
// val prop5: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val prop5 = y && true<!>
// val prop6: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop6 = true && false || 2 > 1<!>
// val prop7: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val prop7 = x == 1<!>
// val prop8: true
<!DEBUG_INFO_CONSTANT_VALUE("true")!>val prop8 = 1 / x<!>
@@ -0,0 +1,14 @@
package
package test {
public val prop1: kotlin.Boolean = false
public val prop2: kotlin.Int = 5
public val prop3: kotlin.Int = 3
public val prop4: kotlin.Boolean = true
public val prop5: kotlin.Boolean = true
public val prop6: kotlin.Boolean = true
public val prop7: kotlin.Boolean = true
public val prop8: kotlin.Int = 1
public val x: kotlin.Int = 1
public val y: kotlin.Boolean = true
}
@@ -0,0 +1,23 @@
package test
// val prop1: false
val prop1 = 1
// val prop2: false
val prop2 = "hello"
// val prop3: false
val prop3 = true
// val prop4: false
val prop4 = false
// val prop5: false
val prop5 = -7453
// val prop6: false
val prop6 = 3.56
// val prop7: false
val prop7 = 5464564L
@@ -0,0 +1,23 @@
package test
// val prop1: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop1 = 1<!>
// val prop2: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop2 = "hello"<!>
// val prop3: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop3 = true<!>
// val prop4: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop4 = false<!>
// val prop5: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop5 = -7453<!>
// val prop6: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop6 = 3.56<!>
// val prop7: false
<!DEBUG_INFO_CONSTANT_VALUE("false")!>val prop7 = 5464564L<!>
@@ -0,0 +1,11 @@
package
package test {
public val prop1: kotlin.Int = 1
public val prop2: kotlin.String = "hello"
public val prop3: kotlin.Boolean = true
public val prop4: kotlin.Boolean = false
public val prop5: kotlin.Int = -7453
public val prop6: kotlin.Double = 3.56.toDouble()
public val prop7: kotlin.Long = 5464564.toLong()
}