Add tests for element -> pseudo-value mapping
This commit is contained in:
@@ -0,0 +1,137 @@
|
||||
== C ==
|
||||
class C() {
|
||||
val a: Int = 1
|
||||
|
||||
class object {
|
||||
val x : Int
|
||||
|
||||
{
|
||||
$x = 1
|
||||
}
|
||||
|
||||
|
||||
fun foo() {
|
||||
val b : Int = 1
|
||||
doSmth(b)
|
||||
}
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
1 <v0> NEW()
|
||||
=====================
|
||||
== doSmth ==
|
||||
fun doSmth(i: Int) {}
|
||||
---------------------
|
||||
=====================
|
||||
== test1 ==
|
||||
fun test1() {
|
||||
val a = object {
|
||||
val x : Int
|
||||
{
|
||||
$x = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
1 <v0> NEW()
|
||||
object { val x : Int { $x = 1 } } <v1> NEW()
|
||||
=====================
|
||||
== O ==
|
||||
object O {
|
||||
val x : Int
|
||||
{
|
||||
$x = 1
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
1 <v0> NEW()
|
||||
=====================
|
||||
== test2 ==
|
||||
fun test2() {
|
||||
val b = 1
|
||||
val a = object {
|
||||
val x = b
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
1 <v0> NEW()
|
||||
b <v1> NEW()
|
||||
object { val x = b } <v2> NEW()
|
||||
=====================
|
||||
== test3 ==
|
||||
fun test3() {
|
||||
val a = object {
|
||||
val y : Int
|
||||
fun inner_bar() {
|
||||
y = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
object { val y : Int fun inner_bar() { y = 10 } } <v0> NEW()
|
||||
=====================
|
||||
== inner_bar ==
|
||||
fun inner_bar() {
|
||||
y = 10
|
||||
}
|
||||
---------------------
|
||||
10 <v0> NEW()
|
||||
=====================
|
||||
== test4 ==
|
||||
fun test4() {
|
||||
val a = object {
|
||||
val x : Int
|
||||
val y : Int
|
||||
{
|
||||
$x = 1
|
||||
}
|
||||
fun ggg() {
|
||||
y = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
1 <v0> NEW()
|
||||
object { val x : Int val y : Int { $x = 1 } fun ggg() { y = 10 } } <v1> NEW()
|
||||
=====================
|
||||
== ggg ==
|
||||
fun ggg() {
|
||||
y = 10
|
||||
}
|
||||
---------------------
|
||||
10 <v0> NEW()
|
||||
=====================
|
||||
== test5 ==
|
||||
fun test5() {
|
||||
val a = object {
|
||||
var x = 1
|
||||
{
|
||||
$x = 2
|
||||
}
|
||||
fun foo() {
|
||||
x = 3
|
||||
}
|
||||
fun bar() {
|
||||
x = 4
|
||||
}
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
1 <v0> NEW()
|
||||
2 <v1> NEW()
|
||||
object { var x = 1 { $x = 2 } fun foo() { x = 3 } fun bar() { x = 4 } } <v2> NEW()
|
||||
=====================
|
||||
== foo ==
|
||||
fun foo() {
|
||||
x = 3
|
||||
}
|
||||
---------------------
|
||||
3 <v0> NEW()
|
||||
=====================
|
||||
== bar ==
|
||||
fun bar() {
|
||||
x = 4
|
||||
}
|
||||
---------------------
|
||||
4 <v0> NEW()
|
||||
=====================
|
||||
@@ -0,0 +1,34 @@
|
||||
== A ==
|
||||
trait A {
|
||||
fun foo() : Int
|
||||
}
|
||||
---------------------
|
||||
=====================
|
||||
== foo ==
|
||||
fun foo() : Int
|
||||
---------------------
|
||||
=====================
|
||||
== B ==
|
||||
class B : A {
|
||||
override fun foo() = 10
|
||||
}
|
||||
---------------------
|
||||
=====================
|
||||
== foo ==
|
||||
override fun foo() = 10
|
||||
---------------------
|
||||
10 <v0> NEW()
|
||||
=====================
|
||||
== foo ==
|
||||
fun foo(b: B) : Int {
|
||||
val o = object : A by b {}
|
||||
return o.foo()
|
||||
}
|
||||
---------------------
|
||||
b <v1> NEW()
|
||||
object : A by b {} <v2> NEW()
|
||||
o <v3> NEW()
|
||||
foo <v4> NEW(<v3>)
|
||||
foo() <v4> COPY
|
||||
o.foo() <v4> COPY
|
||||
=====================
|
||||
@@ -0,0 +1,32 @@
|
||||
== f ==
|
||||
fun f() {
|
||||
class LocalClass() {
|
||||
fun f() {
|
||||
val x = ""
|
||||
|
||||
fun loc() {
|
||||
val x3 = ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
=====================
|
||||
== f ==
|
||||
fun f() {
|
||||
val x = ""
|
||||
|
||||
fun loc() {
|
||||
val x3 = ""
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
"" <v0> NEW()
|
||||
=====================
|
||||
== loc ==
|
||||
fun loc() {
|
||||
val x3 = ""
|
||||
}
|
||||
---------------------
|
||||
"" <v0> NEW()
|
||||
=====================
|
||||
@@ -0,0 +1,20 @@
|
||||
== foo ==
|
||||
fun foo() {
|
||||
class B {
|
||||
val a: Int
|
||||
get() {
|
||||
val b: Int
|
||||
return b
|
||||
}
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
=====================
|
||||
== get_a ==
|
||||
get() {
|
||||
val b: Int
|
||||
return b
|
||||
}
|
||||
---------------------
|
||||
b <v0> NEW()
|
||||
=====================
|
||||
Reference in New Issue
Block a user