diff --git a/compiler/testData/cfg-variables/basic/IfWithUninitialized.values b/compiler/testData/cfg-variables/basic/IfWithUninitialized.values index 9e8d37ccb96..0e88483632f 100644 --- a/compiler/testData/cfg-variables/basic/IfWithUninitialized.values +++ b/compiler/testData/cfg-variables/basic/IfWithUninitialized.values @@ -9,18 +9,19 @@ fun foo() { } } --------------------- -1 : {<: Comparable} NEW() -2 : Int NEW() -1 < 2 : Boolean NEW(, ) -b : {<: Any?} NEW() -use(b) : * NEW() -{ use(b) } : * COPY -true : Boolean NEW() -if (1 < 2) { use(b) } else { b = true } : * COPY -{ val b: Boolean if (1 < 2) { use(b) } else { b = true } } : * COPY +1 : {<: Comparable} NEW: r(1) -> +2 : Int NEW: r(2) -> +1 < 2 : Boolean NEW: call(<, compareTo|, ) -> +b : {<: Any?} NEW: r(b) -> +use(b) : * NEW: call(use, use|) -> +{ use(b) } : * COPY +true : Boolean NEW: r(true) -> +if (1 < 2) { use(b) } else { b = true } : * COPY +{ val b: Boolean if (1 < 2) { use(b) } else { b = true } } : * COPY ===================== == use == fun use(vararg a: Any?) = a --------------------- -a : {<: Array} NEW() + : {<: Array} NEW: magic(vararg a: Any?) -> +a : {<: Array} NEW: r(a) -> ===================== diff --git a/compiler/testData/cfg-variables/basic/InitializedNotDeclared.values b/compiler/testData/cfg-variables/basic/InitializedNotDeclared.values index 6b99c7aaf59..f89bb34317c 100644 --- a/compiler/testData/cfg-variables/basic/InitializedNotDeclared.values +++ b/compiler/testData/cfg-variables/basic/InitializedNotDeclared.values @@ -6,5 +6,6 @@ class A { val x: Int } --------------------- -1 : Int NEW() + : A NEW: magic(x) -> +1 : Int NEW: r(1) -> ===================== diff --git a/compiler/testData/cfg-variables/basic/UsageInFunctionLiteral.values b/compiler/testData/cfg-variables/basic/UsageInFunctionLiteral.values index 4c2009adf92..ef1e6a6e02e 100644 --- a/compiler/testData/cfg-variables/basic/UsageInFunctionLiteral.values +++ b/compiler/testData/cfg-variables/basic/UsageInFunctionLiteral.values @@ -7,8 +7,8 @@ fun foo() { } } --------------------- -1 : Int NEW() -{ (x: Int) -> val y = x + a use(a) } : {<: (Int) -> Array} NEW() +1 : Int NEW: r(1) -> +{ (x: Int) -> val y = x + a use(a) } : {<: (Int) -> Array} NEW: r({ (x: Int) -> val y = x + a use(a) }) -> ===================== == anonymous_0 == { (x: Int) -> @@ -16,15 +16,17 @@ fun foo() { use(a) } --------------------- -x : Int NEW() -a : Int NEW() -x + a : Int NEW(, ) -a : {<: Any?} NEW() -use(a) : {<: Array} NEW() -val y = x + a use(a) : {<: Array} COPY + : Int NEW: magic(x: Int) -> +x : Int NEW: r(x) -> +a : Int NEW: r(a) -> +x + a : Int NEW: call(+, plus|, ) -> +a : {<: Any?} NEW: r(a) -> +use(a) : {<: Array} NEW: call(use, use|) -> +val y = x + a use(a) : {<: Array} COPY ===================== == use == fun use(vararg a: Any?) = a --------------------- -a : {<: Array} NEW() + : {<: Array} NEW: magic(vararg a: Any?) -> +a : {<: Array} NEW: r(a) -> ===================== diff --git a/compiler/testData/cfg-variables/basic/VariablesInitialization.values b/compiler/testData/cfg-variables/basic/VariablesInitialization.values index 99f30cf9766..1e348df8e2c 100644 --- a/compiler/testData/cfg-variables/basic/VariablesInitialization.values +++ b/compiler/testData/cfg-variables/basic/VariablesInitialization.values @@ -6,10 +6,10 @@ fun foo() { 42 } --------------------- -1 : Int NEW() -2 : Int NEW() -42 : * NEW() -{ val a = 1 val b: Int b = 2 42 } : * COPY +1 : Int NEW: r(1) -> +2 : Int NEW: r(2) -> +42 : * NEW: r(42) -> +{ val a = 1 val b: Int b = 2 42 } : * COPY ===================== == bar == fun bar(foo: Foo) { @@ -18,13 +18,14 @@ fun bar(foo: Foo) { 42 } --------------------- -foo : {<: Foo} NEW() -c : * NEW() -foo.c : * COPY -foo : {<: Foo} NEW() -2 : Int NEW() -42 : * NEW() -{ foo.c foo.c = 2 42 } : * COPY + : {<: Foo} NEW: magic(foo: Foo) -> +foo : {<: Foo} NEW: r(foo) -> +c : * NEW: r(c|) -> +foo.c : * COPY +foo : {<: Foo} NEW: r(foo) -> +2 : Int NEW: r(2) -> +42 : * NEW: r(42) -> +{ foo.c foo.c = 2 42 } : * COPY ===================== == Foo == trait Foo { diff --git a/compiler/testData/cfg-variables/basic/VariablesUsage.values b/compiler/testData/cfg-variables/basic/VariablesUsage.values index 99496514298..92570f6a36e 100644 --- a/compiler/testData/cfg-variables/basic/VariablesUsage.values +++ b/compiler/testData/cfg-variables/basic/VariablesUsage.values @@ -6,13 +6,13 @@ fun foo() { use(a) } --------------------- -1 : Int NEW() -a : Int NEW() -use(a) : * NEW() -2 : Int NEW() -a : Int NEW() -use(a) : * NEW() -{ var a = 1 use(a) a = 2 use(a) } : * COPY +1 : Int NEW: r(1) -> +a : Int NEW: r(a) -> +use(a) : * NEW: call(use, use|) -> +2 : Int NEW: r(2) -> +a : Int NEW: r(a) -> +use(a) : * NEW: call(use, use|) -> +{ var a = 1 use(a) a = 2 use(a) } : * COPY ===================== == bar == fun bar() { @@ -20,10 +20,11 @@ fun bar() { b = 3 } --------------------- -3 : Int NEW() +3 : Int NEW: r(3) -> ===================== == use == fun use(a: Int) = a --------------------- -a : Int NEW() + : Int NEW: magic(a: Int) -> +a : Int NEW: r(a) -> ===================== diff --git a/compiler/testData/cfg-variables/bugs/referenceToPropertyInitializer.values b/compiler/testData/cfg-variables/bugs/referenceToPropertyInitializer.values index 2c25e090ff8..c877aa87b51 100644 --- a/compiler/testData/cfg-variables/bugs/referenceToPropertyInitializer.values +++ b/compiler/testData/cfg-variables/bugs/referenceToPropertyInitializer.values @@ -5,25 +5,28 @@ class TestFunctionLiteral { } } --------------------- -{ (x: Int) -> sum(x - 1) + x } : {<: (Int) -> Int} NEW() +{ (x: Int) -> sum(x - 1) + x } : {<: (Int) -> Int} NEW: r({ (x: Int) -> sum(x - 1) + x }) -> ===================== == anonymous_0 == { (x: Int) -> sum(x - 1) + x } --------------------- -sum : {<: (Int) -> Int} NEW() -x : Int NEW() -1 : Int NEW() -x - 1 : Int NEW(, ) -sum(x - 1) : Int NEW(, ) -x : Int NEW() -sum(x - 1) + x : Int NEW(, ) -sum(x - 1) + x : Int COPY + : Int NEW: magic(x: Int) -> + : TestFunctionLiteral NEW: magic(sum) -> +sum : {<: (Int) -> Int} NEW: r(sum|) -> +x : Int NEW: r(x) -> +1 : Int NEW: r(1) -> +x - 1 : Int NEW: call(-, minus|, ) -> +sum(x - 1) : Int NEW: call(sum, invoke|, ) -> +x : Int NEW: r(x) -> +sum(x - 1) + x : Int NEW: call(+, plus|, ) -> +sum(x - 1) + x : Int COPY ===================== == A == open class A(val a: A) --------------------- + : {<: A} NEW: magic(val a: A) -> ===================== == TestObjectLiteral == class TestObjectLiteral { @@ -37,23 +40,27 @@ class TestObjectLiteral { } } --------------------- -obj : * NEW() -obj : {<: A} NEW() -object: A(obj) { { val x = obj } fun foo() { val y = obj } } : {<: A} NEW() + : TestObjectLiteral NEW: magic(obj) -> + : TestObjectLiteral NEW: magic(obj) -> +obj : * NEW: r(obj|) -> +obj : {<: A} NEW: r(obj|) -> +object: A(obj) { { val x = obj } fun foo() { val y = obj } } : {<: A} NEW: r(object: A(obj) { { val x = obj } fun foo() { val y = obj } }) -> ===================== == foo == fun foo() { val y = obj } --------------------- -obj : {<: A} NEW() + : TestObjectLiteral NEW: magic(obj) -> +obj : {<: A} NEW: r(obj|) -> ===================== == TestOther == class TestOther { val x: Int = x + 1 } --------------------- -x : Int NEW() -1 : Int NEW() -x + 1 : Int NEW(, ) + : TestOther NEW: magic(x) -> +x : Int NEW: r(x|) -> +1 : Int NEW: r(1) -> +x + 1 : Int NEW: call(+, plus|, ) -> ===================== diff --git a/compiler/testData/cfg-variables/bugs/varInitializationInIf.values b/compiler/testData/cfg-variables/bugs/varInitializationInIf.values index e14fe8f08f1..ecec75f8896 100644 --- a/compiler/testData/cfg-variables/bugs/varInitializationInIf.values +++ b/compiler/testData/cfg-variables/bugs/varInitializationInIf.values @@ -10,12 +10,12 @@ fun foo() { use(b) } --------------------- -1 : {<: Comparable} NEW() -2 : Int NEW() -1 < 2 : Boolean NEW(, ) -false : Boolean NEW() -true : Boolean NEW() -b : * NEW() -use(b) : * NEW() -{ val b: Boolean if (1 < 2) { b = false } else { b = true } use(b) } : * COPY +1 : {<: Comparable} NEW: r(1) -> +2 : Int NEW: r(2) -> +1 < 2 : Boolean NEW: call(<, compareTo|, ) -> +false : Boolean NEW: r(false) -> +true : Boolean NEW: r(true) -> +b : * NEW: r(b) -> +use(b) : * NEW: magic(use(b)|) -> +{ val b: Boolean if (1 < 2) { b = false } else { b = true } use(b) } : * COPY ===================== diff --git a/compiler/testData/cfg-variables/bugs/varInitializationInIfInCycle.values b/compiler/testData/cfg-variables/bugs/varInitializationInIfInCycle.values index 4b4eee75d7b..4893c4066c2 100644 --- a/compiler/testData/cfg-variables/bugs/varInitializationInIfInCycle.values +++ b/compiler/testData/cfg-variables/bugs/varInitializationInIfInCycle.values @@ -13,17 +13,20 @@ fun foo(numbers: Collection) { } } --------------------- -numbers : {<: Iterable} NEW() -1 : {<: Comparable} NEW() -2 : Int NEW() -1 < 2 : Boolean NEW(, ) -false : Boolean NEW() -true : Boolean NEW() -b : {<: Any?} NEW() -use(b) : * NEW() + : {<: Collection} NEW: magic(numbers: Collection) -> + : Int NEW: magic(numbers|) -> +numbers : {<: Iterable} NEW: r(numbers) -> +1 : {<: Comparable} NEW: r(1) -> +2 : Int NEW: r(2) -> +1 < 2 : Boolean NEW: call(<, compareTo|, ) -> +false : Boolean NEW: r(false) -> +true : Boolean NEW: r(true) -> +b : {<: Any?} NEW: r(b) -> +use(b) : * NEW: call(use, use|) -> ===================== == use == fun use(vararg a: Any?) = a --------------------- -a : {<: Array} NEW() + : {<: Array} NEW: magic(vararg a: Any?) -> +a : {<: Array} NEW: r(a) -> ===================== diff --git a/compiler/testData/cfg-variables/lexicalScopes/doWhileScope.values b/compiler/testData/cfg-variables/lexicalScopes/doWhileScope.values index b54a25d7dbe..6d27274992c 100644 --- a/compiler/testData/cfg-variables/lexicalScopes/doWhileScope.values +++ b/compiler/testData/cfg-variables/lexicalScopes/doWhileScope.values @@ -7,11 +7,11 @@ fun foo() { "after" } --------------------- -"before" : * NEW() -2 : Int NEW() -a : {<: Comparable} NEW() -0 : Int NEW() -a > 0 : Boolean NEW(, ) -"after" : * NEW() -{ "before" do { var a = 2 } while (a > 0) "after" } : * COPY +"before" : * NEW: r("before") -> +2 : Int NEW: r(2) -> +a : {<: Comparable} NEW: r(a) -> +0 : Int NEW: r(0) -> +a > 0 : Boolean NEW: call(>, compareTo|, ) -> +"after" : * NEW: r("after") -> +{ "before" do { var a = 2 } while (a > 0) "after" } : * COPY ===================== diff --git a/compiler/testData/cfg-variables/lexicalScopes/forScope.values b/compiler/testData/cfg-variables/lexicalScopes/forScope.values index 8bcf01b3d9b..b952b64e1e4 100644 --- a/compiler/testData/cfg-variables/lexicalScopes/forScope.values +++ b/compiler/testData/cfg-variables/lexicalScopes/forScope.values @@ -7,11 +7,12 @@ fun foo() { "after" } --------------------- -"before" : * NEW() -1 : Int NEW() -10 : Int NEW() -1..10 : {<: Iterable} NEW(, ) -i : Int NEW() -"after" : * NEW() -{ "before" for (i in 1..10) { val a = i } "after" } : * COPY + : Int NEW: magic(1..10|) -> +"before" : * NEW: r("before") -> +1 : Int NEW: r(1) -> +10 : Int NEW: r(10) -> +1..10 : {<: Iterable} NEW: call(.., rangeTo|, ) -> +i : Int NEW: r(i) -> +"after" : * NEW: r("after") -> +{ "before" for (i in 1..10) { val a = i } "after" } : * COPY ===================== diff --git a/compiler/testData/cfg-variables/lexicalScopes/functionLiteralScope.values b/compiler/testData/cfg-variables/lexicalScopes/functionLiteralScope.values index 94790e1fd76..f61f02e1741 100644 --- a/compiler/testData/cfg-variables/lexicalScopes/functionLiteralScope.values +++ b/compiler/testData/cfg-variables/lexicalScopes/functionLiteralScope.values @@ -8,18 +8,19 @@ fun foo() { "after" } --------------------- -"before" : * NEW() -1 : Int NEW() -{ (x: Int) -> val a = x + b } : {<: (Int) -> Unit} NEW() -"after" : * NEW() -{ "before" val b = 1 val f = { (x: Int) -> val a = x + b } "after" } : * COPY +"before" : * NEW: r("before") -> +1 : Int NEW: r(1) -> +{ (x: Int) -> val a = x + b } : {<: (Int) -> Unit} NEW: r({ (x: Int) -> val a = x + b }) -> +"after" : * NEW: r("after") -> +{ "before" val b = 1 val f = { (x: Int) -> val a = x + b } "after" } : * COPY ===================== == anonymous_0 == { (x: Int) -> val a = x + b } --------------------- -x : Int NEW() -b : Int NEW() -x + b : Int NEW(, ) + : Int NEW: magic(x: Int) -> +x : Int NEW: r(x) -> +b : Int NEW: r(b) -> +x + b : Int NEW: call(+, plus|, ) -> ===================== diff --git a/compiler/testData/cfg-variables/lexicalScopes/ifScope.values b/compiler/testData/cfg-variables/lexicalScopes/ifScope.values index 2b5ab5da777..a44dfb6f42b 100644 --- a/compiler/testData/cfg-variables/lexicalScopes/ifScope.values +++ b/compiler/testData/cfg-variables/lexicalScopes/ifScope.values @@ -10,10 +10,10 @@ fun foo() { "after" } --------------------- -"before" : * NEW() -true : Boolean NEW() -1 : Int NEW() -2 : Int NEW() -"after" : * NEW() -{ "before" if (true) { val a = 1 } else { val b = 2 } "after" } : * COPY +"before" : * NEW: r("before") -> +true : Boolean NEW: r(true) -> +1 : Int NEW: r(1) -> +2 : Int NEW: r(2) -> +"after" : * NEW: r("after") -> +{ "before" if (true) { val a = 1 } else { val b = 2 } "after" } : * COPY ===================== diff --git a/compiler/testData/cfg-variables/lexicalScopes/localClass.values b/compiler/testData/cfg-variables/lexicalScopes/localClass.values index 6787b010d9d..ed7081c546c 100644 --- a/compiler/testData/cfg-variables/lexicalScopes/localClass.values +++ b/compiler/testData/cfg-variables/lexicalScopes/localClass.values @@ -12,15 +12,18 @@ fun foo() { "after" } --------------------- -"before" : * NEW() -x : Int NEW() -"after" : * NEW() -{ "before" class A(val x: Int) { { val a = x } fun foo() { val b = x } } "after" } : * COPY + : Int NEW: magic(val x: Int) -> + : A NEW: magic(x) -> +"before" : * NEW: r("before") -> +x : Int NEW: r(x|) -> +"after" : * NEW: r("after") -> +{ "before" class A(val x: Int) { { val a = x } fun foo() { val b = x } } "after" } : * COPY ===================== == foo == fun foo() { val b = x } --------------------- -x : Int NEW() + : A NEW: magic(x) -> +x : Int NEW: r(x|) -> ===================== diff --git a/compiler/testData/cfg-variables/lexicalScopes/localFunctionScope.values b/compiler/testData/cfg-variables/lexicalScopes/localFunctionScope.values index 0cd7d1c50ea..463862cd7a5 100644 --- a/compiler/testData/cfg-variables/lexicalScopes/localFunctionScope.values +++ b/compiler/testData/cfg-variables/lexicalScopes/localFunctionScope.values @@ -8,17 +8,18 @@ fun foo() { "after" } --------------------- -"before" : * NEW() -1 : Int NEW() -"after" : * NEW() -{ "before" val b = 1 fun local(x: Int) { val a = x + b } "after" } : * COPY +"before" : * NEW: r("before") -> +1 : Int NEW: r(1) -> +"after" : * NEW: r("after") -> +{ "before" val b = 1 fun local(x: Int) { val a = x + b } "after" } : * COPY ===================== == local == fun local(x: Int) { val a = x + b } --------------------- -x : Int NEW() -b : Int NEW() -x + b : Int NEW(, ) + : Int NEW: magic(x: Int) -> +x : Int NEW: r(x) -> +b : Int NEW: r(b) -> +x + b : Int NEW: call(+, plus|, ) -> ===================== diff --git a/compiler/testData/cfg-variables/lexicalScopes/localFunctionScopeWithoutBody.values b/compiler/testData/cfg-variables/lexicalScopes/localFunctionScopeWithoutBody.values index b70862c6513..e94e97e60da 100644 --- a/compiler/testData/cfg-variables/lexicalScopes/localFunctionScopeWithoutBody.values +++ b/compiler/testData/cfg-variables/lexicalScopes/localFunctionScopeWithoutBody.values @@ -6,15 +6,16 @@ fun foo() { "after" } --------------------- -"before" : * NEW() -1 : Int NEW() -"after" : * NEW() -{ "before" val b = 1 fun local(x: Int) = x + b "after" } : * COPY +"before" : * NEW: r("before") -> +1 : Int NEW: r(1) -> +"after" : * NEW: r("after") -> +{ "before" val b = 1 fun local(x: Int) = x + b "after" } : * COPY ===================== == local == fun local(x: Int) = x + b --------------------- -x : Int NEW() -b : Int NEW() -x + b : Int NEW(, ) + : Int NEW: magic(x: Int) -> +x : Int NEW: r(x) -> +b : Int NEW: r(b) -> +x + b : Int NEW: call(+, plus|, ) -> ===================== diff --git a/compiler/testData/cfg-variables/lexicalScopes/localObject.values b/compiler/testData/cfg-variables/lexicalScopes/localObject.values index 0c9ae1d8ecf..f1d5201cf33 100644 --- a/compiler/testData/cfg-variables/lexicalScopes/localObject.values +++ b/compiler/testData/cfg-variables/lexicalScopes/localObject.values @@ -12,15 +12,15 @@ fun foo() { "after" } --------------------- -"before" : * NEW() -1 : Int NEW() -"after" : * NEW() -{ "before" object A { { val a = 1 } fun foo() { val b = 2 } } "after" } : * COPY +"before" : * NEW: r("before") -> +1 : Int NEW: r(1) -> +"after" : * NEW: r("after") -> +{ "before" object A { { val a = 1 } fun foo() { val b = 2 } } "after" } : * COPY ===================== == foo == fun foo() { val b = 2 } --------------------- -2 : Int NEW() +2 : Int NEW: r(2) -> ===================== diff --git a/compiler/testData/cfg-variables/lexicalScopes/objectLiteralScope.values b/compiler/testData/cfg-variables/lexicalScopes/objectLiteralScope.values index 0fc6f4bc18c..d27c79aa726 100644 --- a/compiler/testData/cfg-variables/lexicalScopes/objectLiteralScope.values +++ b/compiler/testData/cfg-variables/lexicalScopes/objectLiteralScope.values @@ -12,16 +12,16 @@ fun foo() { "after" } --------------------- -"before" : * NEW() -1 : Int NEW() -object { { val x = 1 } fun foo() { val a = 2 } } : NEW() -"after" : * NEW() -{ "before" val bar = object { { val x = 1 } fun foo() { val a = 2 } } "after" } : * COPY +"before" : * NEW: r("before") -> +1 : Int NEW: r(1) -> +object { { val x = 1 } fun foo() { val a = 2 } } : NEW: r(object { { val x = 1 } fun foo() { val a = 2 } }) -> +"after" : * NEW: r("after") -> +{ "before" val bar = object { { val x = 1 } fun foo() { val a = 2 } } "after" } : * COPY ===================== == foo == fun foo() { val a = 2 } --------------------- -2 : Int NEW() +2 : Int NEW: r(2) -> ===================== diff --git a/compiler/testData/cfg-variables/lexicalScopes/propertyAccessorScope.values b/compiler/testData/cfg-variables/lexicalScopes/propertyAccessorScope.values index a38dc2dc87b..8071beeb5a4 100644 --- a/compiler/testData/cfg-variables/lexicalScopes/propertyAccessorScope.values +++ b/compiler/testData/cfg-variables/lexicalScopes/propertyAccessorScope.values @@ -17,12 +17,15 @@ get() { return $a } --------------------- -$a : Int NEW() + : A NEW: magic($a) -> +$a : Int NEW: r($a|) -> ===================== == set_a == set(v: Int) { $a = v } --------------------- -v : Int NEW() + : Int NEW: magic(v: Int) -> + : A NEW: magic($a) -> +v : Int NEW: r(v) -> ===================== diff --git a/compiler/testData/cfg-variables/lexicalScopes/tryScope.values b/compiler/testData/cfg-variables/lexicalScopes/tryScope.values index ce7d64a84c6..e5b41213573 100644 --- a/compiler/testData/cfg-variables/lexicalScopes/tryScope.values +++ b/compiler/testData/cfg-variables/lexicalScopes/tryScope.values @@ -13,12 +13,13 @@ fun foo() { "after" } --------------------- -"before" : * NEW() -foo() : * NEW() -{ foo() } : * COPY -e : {<: Exception} NEW() -1 : Int NEW() -try { foo() } catch (e: Exception) { val a = e } finally { val a = 1 } : * COPY -"after" : * NEW() -{ "before" try { foo() } catch (e: Exception) { val a = e } finally { val a = 1 } "after" } : * COPY + : {<: Exception} NEW: magic(e: Exception) -> +"before" : * NEW: r("before") -> +foo() : * NEW: call(foo, foo) -> +{ foo() } : * COPY +e : {<: Exception} NEW: r(e) -> +1 : Int NEW: r(1) -> +try { foo() } catch (e: Exception) { val a = e } finally { val a = 1 } : * COPY +"after" : * NEW: r("after") -> +{ "before" try { foo() } catch (e: Exception) { val a = e } finally { val a = 1 } "after" } : * COPY ===================== diff --git a/compiler/testData/cfg-variables/lexicalScopes/whileScope.values b/compiler/testData/cfg-variables/lexicalScopes/whileScope.values index a8c0d80a31a..23af85b6d26 100644 --- a/compiler/testData/cfg-variables/lexicalScopes/whileScope.values +++ b/compiler/testData/cfg-variables/lexicalScopes/whileScope.values @@ -7,8 +7,8 @@ fun foo() { "after" } --------------------- -"before" : * NEW() -true : * NEW() -"after" : * NEW() +"before" : * NEW: r("before") -> +true : * NEW: r(true) -> +"after" : * NEW: r("after") -> { "before" while (true) { val a: Int } "after" } : * COPY ===================== diff --git a/compiler/testData/cfg/arrays/ArrayAccess.values b/compiler/testData/cfg/arrays/ArrayAccess.values index c6a7315e367..5d5de2ce4ef 100644 --- a/compiler/testData/cfg/arrays/ArrayAccess.values +++ b/compiler/testData/cfg/arrays/ArrayAccess.values @@ -9,21 +9,21 @@ fun foo() { a[10] += 1 } --------------------- -Array : {<: Array} NEW() -3 : * NEW() -a : {<: Array} NEW() -10 : Int NEW() -4 : Int NEW() -a[10] = 4 : * NEW(, , ) -2 : * NEW() -a : {<: Array} NEW() -10 : Int NEW() -a[10] : * NEW(, ) -100 : * NEW() -a : {<: Array} NEW() -10 : Int NEW() -a[10] : Int NEW(, ) -1 : Int NEW() -a[10] += 1 : * NEW(, , ) -{ val a = Array 3 a[10] = 4 2 a[10] 100 a[10] += 1 } : * COPY +Array : {<: Array} NEW: call(Array, ) -> +3 : * NEW: r(3) -> +a : {<: Array} NEW: r(a) -> +10 : Int NEW: r(10) -> +4 : Int NEW: r(4) -> +a[10] = 4 : * NEW: call(a[10] = 4, set|, , ) -> +2 : * NEW: r(2) -> +a : {<: Array} NEW: r(a) -> +10 : Int NEW: r(10) -> +a[10] : * NEW: call(a[10], get|, ) -> +100 : * NEW: r(100) -> +a : {<: Array} NEW: r(a) -> +10 : Int NEW: r(10) -> +a[10] : Int NEW: call(a[10], get|, ) -> +1 : Int NEW: r(1) -> +a[10] += 1 : * NEW: call(a[10] += 1, set|, , ) -> +{ val a = Array 3 a[10] = 4 2 a[10] 100 a[10] += 1 } : * COPY ===================== diff --git a/compiler/testData/cfg/arrays/ArrayOfFunctions.values b/compiler/testData/cfg/arrays/ArrayOfFunctions.values index 2fd1a0238ac..b6519f642b4 100644 --- a/compiler/testData/cfg/arrays/ArrayOfFunctions.values +++ b/compiler/testData/cfg/arrays/ArrayOfFunctions.values @@ -3,10 +3,11 @@ fun test(array: Array<(Int)->Unit>) { array[11](3) } --------------------- -array : {<: Array<(Int) -> Unit>} NEW() -11 : Int NEW() -array[11] : {<: (Int) -> Unit} NEW(, ) -3 : Int NEW() -array[11](3) : * NEW(, ) + : {<: Array<(Int) -> Unit>} NEW: magic(array: Array<(Int)->Unit>) -> +array : {<: Array<(Int) -> Unit>} NEW: r(array) -> +11 : Int NEW: r(11) -> +array[11] : {<: (Int) -> Unit} NEW: call(array[11], get|, ) -> +3 : Int NEW: r(3) -> +array[11](3) : * NEW: call(array[11], invoke|, ) -> { array[11](3) } : * COPY ===================== diff --git a/compiler/testData/cfg/arrays/arrayAccessExpression.values b/compiler/testData/cfg/arrays/arrayAccessExpression.values index 0328f66872c..7af20f98cbc 100644 --- a/compiler/testData/cfg/arrays/arrayAccessExpression.values +++ b/compiler/testData/cfg/arrays/arrayAccessExpression.values @@ -13,10 +13,11 @@ fun test(ab: Ab) { ab.getArray()[1] } --------------------- -ab : {<: Ab} NEW() -getArray() : {<: Array} NEW() -ab.getArray() : {<: Array} COPY -1 : Int NEW() -ab.getArray()[1] : * NEW(, ) -{ ab.getArray()[1] } : * COPY + : {<: Ab} NEW: magic(ab: Ab) -> +ab : {<: Ab} NEW: r(ab) -> +getArray() : {<: Array} NEW: call(getArray, getArray|) -> +ab.getArray() : {<: Array} COPY +1 : Int NEW: r(1) -> +ab.getArray()[1] : * NEW: call(ab.getArray()[1], get|, ) -> +{ ab.getArray()[1] } : * COPY ===================== diff --git a/compiler/testData/cfg/arrays/arrayInc.values b/compiler/testData/cfg/arrays/arrayInc.values index c2a550bd58b..c4c5007e9fb 100644 --- a/compiler/testData/cfg/arrays/arrayInc.values +++ b/compiler/testData/cfg/arrays/arrayInc.values @@ -3,9 +3,10 @@ fun foo(a: Array) { a[0]++ } --------------------- -a : {<: Array} NEW() -0 : Int NEW() -a[0] : Int NEW(, ) + : {<: Array} NEW: magic(a: Array) -> +a : {<: Array} NEW: r(a) -> +0 : Int NEW: r(0) -> +a[0] : Int NEW: call(a[0], get|, ) -> a[0]++ : Int COPY { a[0]++ } : Int COPY ===================== diff --git a/compiler/testData/cfg/arrays/arraySet.values b/compiler/testData/cfg/arrays/arraySet.values index 15ca1d7a79f..222da0eb858 100644 --- a/compiler/testData/cfg/arrays/arraySet.values +++ b/compiler/testData/cfg/arrays/arraySet.values @@ -3,9 +3,10 @@ fun foo(a: Array) { a[1] = 2 } --------------------- -a : {<: Array} NEW() -1 : Int NEW() -2 : Int NEW() -a[1] = 2 : * NEW(, , ) + : {<: Array} NEW: magic(a: Array) -> +a : {<: Array} NEW: r(a) -> +1 : Int NEW: r(1) -> +2 : Int NEW: r(2) -> +a[1] = 2 : * NEW: call(a[1] = 2, set|, , ) -> { a[1] = 2 } : * COPY ===================== diff --git a/compiler/testData/cfg/arrays/arraySetPlusAssign.values b/compiler/testData/cfg/arrays/arraySetPlusAssign.values index e25b40da814..8fd65f4825c 100644 --- a/compiler/testData/cfg/arrays/arraySetPlusAssign.values +++ b/compiler/testData/cfg/arrays/arraySetPlusAssign.values @@ -3,10 +3,11 @@ fun foo(a: Array) { a[0] += 1 } --------------------- -a : {<: Array} NEW() -0 : Int NEW() -a[0] : Int NEW(, ) -1 : Int NEW() -a[0] += 1 : * NEW(, , ) + : {<: Array} NEW: magic(a: Array) -> +a : {<: Array} NEW: r(a) -> +0 : Int NEW: r(0) -> +a[0] : Int NEW: call(a[0], get|, ) -> +1 : Int NEW: r(1) -> +a[0] += 1 : * NEW: call(a[0] += 1, set|, , ) -> { a[0] += 1 } : * COPY ===================== diff --git a/compiler/testData/cfg/basic/Basic.values b/compiler/testData/cfg/basic/Basic.values index 2b597aef89a..a579da36221 100644 --- a/compiler/testData/cfg/basic/Basic.values +++ b/compiler/testData/cfg/basic/Basic.values @@ -17,44 +17,47 @@ fun f(a : Boolean) : Unit { } --------------------- -1 : * NEW() -a : * NEW() -2 : {<: Number} NEW() -toLong() : * NEW() -2.toLong() : * COPY -a : Boolean NEW() -3 : Int NEW() -foo(a, 3) : * NEW(, ) -genfun() : * NEW() -{1} : {<: () -> Any} NEW() -flfun {1} : * NEW() -3 : OR{{<: Any}, {<: Any}} NEW() -4 : {<: Any?} NEW() -equals(4) : * NEW(, ) -3.equals(4) : * COPY -3 : OR{{<: Any}, {<: Any}} NEW() -4 : {<: Any?} NEW() -3 equals 4 : * NEW(, ) -1 : Int NEW() -2 : Int NEW() -1 + 2 : * NEW(, ) -a : Boolean NEW() -true : Boolean NEW() -a && true : * NEW(, ) -a : Boolean NEW() -false : Boolean NEW() -a || false : * NEW(, ) -{ 1 a 2.toLong() foo(a, 3) genfun() flfun {1} 3.equals(4) 3 equals 4 1 + 2 a && true a || false } : * COPY + : Boolean NEW: magic(a : Boolean) -> +1 : * NEW: r(1) -> +a : * NEW: r(a) -> +2 : {<: Number} NEW: r(2) -> +toLong() : * NEW: call(toLong, toLong|) -> +2.toLong() : * COPY +a : Boolean NEW: r(a) -> +3 : Int NEW: r(3) -> +foo(a, 3) : * NEW: call(foo, foo|, ) -> +genfun() : * NEW: call(genfun, genfun) -> +{1} : {<: () -> Any} NEW: r({1}) -> +flfun {1} : * NEW: call(flfun, flfun|) -> +3 : OR{{<: Any}, {<: Any}} NEW: r(3) -> +4 : {<: Any?} NEW: r(4) -> +equals(4) : * NEW: call(equals, equals|, ) -> +3.equals(4) : * COPY +3 : OR{{<: Any}, {<: Any}} NEW: r(3) -> +4 : {<: Any?} NEW: r(4) -> +3 equals 4 : * NEW: call(equals, equals|, ) -> +1 : Int NEW: r(1) -> +2 : Int NEW: r(2) -> +1 + 2 : * NEW: call(+, plus|, ) -> +a : Boolean NEW: r(a) -> +true : Boolean NEW: r(true) -> +a && true : * NEW: magic(a && true|, ) -> +a : Boolean NEW: r(a) -> +false : Boolean NEW: r(false) -> +a || false : * NEW: magic(a || false|, ) -> +{ 1 a 2.toLong() foo(a, 3) genfun() flfun {1} 3.equals(4) 3 equals 4 1 + 2 a && true a || false } : * COPY ===================== == anonymous_0 == {1} --------------------- -1 : Int NEW() -1 : Int COPY +1 : Int NEW: r(1) -> +1 : Int COPY ===================== == foo == fun foo(a : Boolean, b : Int) : Unit {} --------------------- + : Boolean NEW: magic(a : Boolean) -> + : Int NEW: magic(b : Int) -> ===================== == genfun == fun genfun() : Unit {} @@ -63,4 +66,5 @@ fun genfun() : Unit {} == flfun == fun flfun(f : () -> Any) : Unit {} --------------------- + : {<: () -> Any} NEW: magic(f : () -> Any) -> ===================== diff --git a/compiler/testData/cfg/basic/ShortFunction.values b/compiler/testData/cfg/basic/ShortFunction.values index f2c7d17510e..d42b5802312 100644 --- a/compiler/testData/cfg/basic/ShortFunction.values +++ b/compiler/testData/cfg/basic/ShortFunction.values @@ -1,5 +1,5 @@ == short == fun short() = 1 --------------------- -1 : Int NEW() +1 : Int NEW: r(1) -> ===================== diff --git a/compiler/testData/cfg/bugs/jumpToOuterScope.values b/compiler/testData/cfg/bugs/jumpToOuterScope.values index f58075297ea..4960adf6fe6 100644 --- a/compiler/testData/cfg/bugs/jumpToOuterScope.values +++ b/compiler/testData/cfg/bugs/jumpToOuterScope.values @@ -7,9 +7,11 @@ fun foo(c: Collection) { } } --------------------- -c : {<: Iterable} NEW() -{ break } : * NEW() -{ { break } } : * COPY + : {<: Collection} NEW: magic(c: Collection) -> + : Int NEW: magic(c|) -> +c : {<: Iterable} NEW: r(c) -> +{ break } : * NEW: r({ break }) -> +{ { break } } : * COPY ===================== == anonymous_0 == { diff --git a/compiler/testData/cfg/controlStructures/Finally.values b/compiler/testData/cfg/controlStructures/Finally.values index 8765ede1b36..2e913a861a1 100644 --- a/compiler/testData/cfg/controlStructures/Finally.values +++ b/compiler/testData/cfg/controlStructures/Finally.values @@ -7,12 +7,12 @@ fun t1() { } } --------------------- -1 : * NEW() -{ 1 } : * COPY -2 : * NEW() -{ 2 } : * COPY -try { 1 } finally { 2 } : * COPY -{ try { 1 } finally { 2 } } : * COPY +1 : * NEW: r(1) -> +{ 1 } : * COPY +2 : * NEW: r(2) -> +{ 2 } : * COPY +try { 1 } finally { 2 } : * COPY +{ try { 1 } finally { 2 } } : * COPY ===================== == t2 == fun t2() { @@ -26,12 +26,12 @@ fun t2() { } } --------------------- -1 : * NEW() -2 : {<: Comparable} NEW() -3 : Int NEW() -2 > 3 : Boolean NEW(, ) -2 : * NEW() -{ 2 } : * COPY +1 : * NEW: r(1) -> +2 : {<: Comparable} NEW: r(2) -> +3 : Int NEW: r(3) -> +2 > 3 : Boolean NEW: call(>, compareTo|, ) -> +2 : * NEW: r(2) -> +{ 2 } : * COPY ===================== == t3 == fun t3() { @@ -47,14 +47,14 @@ fun t3() { } } --------------------- -1 : * NEW() -{ () -> if (2 > 3) { return@l } } : * NEW() -@l{ () -> if (2 > 3) { return@l } } : * COPY -{ 1 @l{ () -> if (2 > 3) { return@l } } } : * COPY -2 : * NEW() -{ 2 } : * COPY -try { 1 @l{ () -> if (2 > 3) { return@l } } } finally { 2 } : * COPY -{ try { 1 @l{ () -> if (2 > 3) { return@l } } } finally { 2 } } : * COPY +1 : * NEW: r(1) -> +{ () -> if (2 > 3) { return@l } } : * NEW: r({ () -> if (2 > 3) { return@l } }) -> +@l{ () -> if (2 > 3) { return@l } } : * COPY +{ 1 @l{ () -> if (2 > 3) { return@l } } } : * COPY +2 : * NEW: r(2) -> +{ 2 } : * COPY +try { 1 @l{ () -> if (2 > 3) { return@l } } } finally { 2 } : * COPY +{ try { 1 @l{ () -> if (2 > 3) { return@l } } } finally { 2 } } : * COPY ===================== == anonymous_0 == { () -> @@ -63,9 +63,9 @@ try { 1 @l{ () -> if (2 > 3) { return@l } } } finally { 2 } : * COPY } } --------------------- -2 : {<: Comparable} NEW() -3 : Int NEW() -2 > 3 : Boolean NEW(, ) +2 : {<: Comparable} NEW: r(2) -> +3 : Int NEW: r(3) -> +2 > 3 : Boolean NEW: call(>, compareTo|, ) -> ===================== == t4 == fun t4() { @@ -81,9 +81,9 @@ fun t4() { } } --------------------- -{ () -> try { 1 if (2 > 3) { return@l } } finally { 2 } } : * NEW() -@l{ () -> try { 1 if (2 > 3) { return@l } } finally { 2 } } : * COPY -{ @l{ () -> try { 1 if (2 > 3) { return@l } } finally { 2 } } } : * COPY +{ () -> try { 1 if (2 > 3) { return@l } } finally { 2 } } : * NEW: r({ () -> try { 1 if (2 > 3) { return@l } } finally { 2 } }) -> +@l{ () -> try { 1 if (2 > 3) { return@l } } finally { 2 } } : * COPY +{ @l{ () -> try { 1 if (2 > 3) { return@l } } finally { 2 } } } : * COPY ===================== == anonymous_1 == { () -> @@ -97,12 +97,12 @@ fun t4() { } } --------------------- -1 : * NEW() -2 : {<: Comparable} NEW() -3 : Int NEW() -2 > 3 : Boolean NEW(, ) -2 : * NEW() -{ 2 } : * COPY +1 : * NEW: r(1) -> +2 : {<: Comparable} NEW: r(2) -> +3 : Int NEW: r(3) -> +2 > 3 : Boolean NEW: call(>, compareTo|, ) -> +2 : * NEW: r(2) -> +{ 2 } : * COPY ===================== == t5 == fun t5() { @@ -118,13 +118,13 @@ fun t5() { } } --------------------- -true : * NEW() -1 : * NEW() -2 : {<: Comparable} NEW() -3 : Int NEW() -2 > 3 : Boolean NEW(, ) -2 : * NEW() -{ 2 } : * COPY +true : * NEW: r(true) -> +1 : * NEW: r(1) -> +2 : {<: Comparable} NEW: r(2) -> +3 : Int NEW: r(3) -> +2 > 3 : Boolean NEW: call(>, compareTo|, ) -> +2 : * NEW: r(2) -> +{ 2 } : * COPY ===================== == t6 == fun t6() { @@ -141,17 +141,17 @@ fun t6() { } } --------------------- -true : * NEW() -1 : * NEW() -2 : {<: Comparable} NEW() -3 : Int NEW() -2 > 3 : Boolean NEW(, ) -5 : * NEW() -{ @l while(true) { 1 if (2 > 3) { break @l } } 5 } : * COPY -2 : * NEW() -{ 2 } : * COPY -try { @l while(true) { 1 if (2 > 3) { break @l } } 5 } finally { 2 } : * COPY -{ try { @l while(true) { 1 if (2 > 3) { break @l } } 5 } finally { 2 } } : * COPY +true : * NEW: r(true) -> +1 : * NEW: r(1) -> +2 : {<: Comparable} NEW: r(2) -> +3 : Int NEW: r(3) -> +2 > 3 : Boolean NEW: call(>, compareTo|, ) -> +5 : * NEW: r(5) -> +{ @l while(true) { 1 if (2 > 3) { break @l } } 5 } : * COPY +2 : * NEW: r(2) -> +{ 2 } : * COPY +try { @l while(true) { 1 if (2 > 3) { break @l } } 5 } finally { 2 } : * COPY +{ try { @l while(true) { 1 if (2 > 3) { break @l } } 5 } finally { 2 } } : * COPY ===================== == t7 == fun t7() { @@ -167,13 +167,13 @@ fun t7() { } } --------------------- -true : * NEW() -1 : * NEW() -2 : {<: Comparable} NEW() -3 : Int NEW() -2 > 3 : Boolean NEW(, ) -2 : * NEW() -{ 2 } : * COPY +true : * NEW: r(true) -> +1 : * NEW: r(1) -> +2 : {<: Comparable} NEW: r(2) -> +3 : Int NEW: r(3) -> +2 > 3 : Boolean NEW: call(>, compareTo|, ) -> +2 : * NEW: r(2) -> +{ 2 } : * COPY ===================== == t8 == fun t8(a : Int) { @@ -189,15 +189,17 @@ fun t8(a : Int) { } } --------------------- -1 : Int NEW() -a : Int NEW() -1..a : {<: Iterable} NEW(, ) -1 : * NEW() -2 : {<: Comparable} NEW() -3 : Int NEW() -2 > 3 : Boolean NEW(, ) -2 : * NEW() -{ 2 } : * COPY + : Int NEW: magic(a : Int) -> + : Int NEW: magic(1..a|) -> +1 : Int NEW: r(1) -> +a : Int NEW: r(a) -> +1..a : {<: Iterable} NEW: call(.., rangeTo|, ) -> +1 : * NEW: r(1) -> +2 : {<: Comparable} NEW: r(2) -> +3 : Int NEW: r(3) -> +2 > 3 : Boolean NEW: call(>, compareTo|, ) -> +2 : * NEW: r(2) -> +{ 2 } : * COPY ===================== == t9 == fun t9(a : Int) { @@ -214,19 +216,21 @@ fun t9(a : Int) { } } --------------------- -1 : Int NEW() -a : Int NEW() -1..a : {<: Iterable} NEW(, ) -1 : * NEW() -2 : {<: Comparable} NEW() -3 : Int NEW() -2 > 3 : Boolean NEW(, ) -5 : * NEW() -{ @l for (i in 1..a) { 1 if (2 > 3) { continue @l } } 5 } : * COPY -2 : * NEW() -{ 2 } : * COPY -try { @l for (i in 1..a) { 1 if (2 > 3) { continue @l } } 5 } finally { 2 } : * COPY -{ try { @l for (i in 1..a) { 1 if (2 > 3) { continue @l } } 5 } finally { 2 } } : * COPY + : Int NEW: magic(a : Int) -> + : Int NEW: magic(1..a|) -> +1 : Int NEW: r(1) -> +a : Int NEW: r(a) -> +1..a : {<: Iterable} NEW: call(.., rangeTo|, ) -> +1 : * NEW: r(1) -> +2 : {<: Comparable} NEW: r(2) -> +3 : Int NEW: r(3) -> +2 > 3 : Boolean NEW: call(>, compareTo|, ) -> +5 : * NEW: r(5) -> +{ @l for (i in 1..a) { 1 if (2 > 3) { continue @l } } 5 } : * COPY +2 : * NEW: r(2) -> +{ 2 } : * COPY +try { @l for (i in 1..a) { 1 if (2 > 3) { continue @l } } 5 } finally { 2 } : * COPY +{ try { @l for (i in 1..a) { 1 if (2 > 3) { continue @l } } 5 } finally { 2 } } : * COPY ===================== == t10 == fun t10(a : Int) { @@ -242,15 +246,17 @@ fun t10(a : Int) { } } --------------------- -1 : Int NEW() -a : Int NEW() -1..a : {<: Iterable} NEW(, ) -1 : * NEW() -2 : {<: Comparable} NEW() -3 : Int NEW() -2 > 3 : Boolean NEW(, ) -2 : * NEW() -{ 2 } : * COPY + : Int NEW: magic(a : Int) -> + : Int NEW: magic(1..a|) -> +1 : Int NEW: r(1) -> +a : Int NEW: r(a) -> +1..a : {<: Iterable} NEW: call(.., rangeTo|, ) -> +1 : * NEW: r(1) -> +2 : {<: Comparable} NEW: r(2) -> +3 : Int NEW: r(3) -> +2 > 3 : Boolean NEW: call(>, compareTo|, ) -> +2 : * NEW: r(2) -> +{ 2 } : * COPY ===================== == t11 == fun t11() { @@ -262,8 +268,8 @@ fun t11() { } } --------------------- -1 : * NEW() -2 : Unit NEW() +1 : * NEW: r(1) -> +2 : Unit NEW: r(2) -> ===================== == t12 == fun t12() : Int { @@ -275,10 +281,10 @@ fun t12() : Int { } } --------------------- -1 : Int NEW() -3 : Int NEW() -doSmth(3) : * NEW() -{ doSmth(3) } : * COPY +1 : Int NEW: r(1) -> +3 : Int NEW: r(3) -> +doSmth(3) : * NEW: call(doSmth, doSmth|) -> +{ doSmth(3) } : * COPY ===================== == t13 == fun t13() : Int { @@ -293,15 +299,16 @@ fun t13() : Int { } } --------------------- -1 : Int NEW() -2 : Int NEW() -doSmth(2) : * NEW() -{ doSmth(2) } : * COPY -3 : Int NEW() -doSmth(3) : * NEW() -{ doSmth(3) } : * COPY -try { return 1 } catch (e: UnsupportedOperationException) { doSmth(2) } finally { doSmth(3) } : * COPY -{ try { return 1 } catch (e: UnsupportedOperationException) { doSmth(2) } finally { doSmth(3) } } : * COPY + : {<: UnsupportedOperationException} NEW: magic(e: UnsupportedOperationException) -> +1 : Int NEW: r(1) -> +2 : Int NEW: r(2) -> +doSmth(2) : * NEW: call(doSmth, doSmth|) -> +{ doSmth(2) } : * COPY +3 : Int NEW: r(3) -> +doSmth(3) : * NEW: call(doSmth, doSmth|) -> +{ doSmth(3) } : * COPY +try { return 1 } catch (e: UnsupportedOperationException) { doSmth(2) } finally { doSmth(3) } : * COPY +{ try { return 1 } catch (e: UnsupportedOperationException) { doSmth(2) } finally { doSmth(3) } } : * COPY ===================== == t14 == fun t14() : Int { @@ -313,12 +320,13 @@ fun t14() : Int { } } --------------------- -1 : Int NEW() -2 : Int NEW() -doSmth(2) : * NEW() -{ doSmth(2) } : * COPY -try { return 1 } catch (e: UnsupportedOperationException) { doSmth(2) } : * COPY -{ try { return 1 } catch (e: UnsupportedOperationException) { doSmth(2) } } : * COPY + : {<: UnsupportedOperationException} NEW: magic(e: UnsupportedOperationException) -> +1 : Int NEW: r(1) -> +2 : Int NEW: r(2) -> +doSmth(2) : * NEW: call(doSmth, doSmth|) -> +{ doSmth(2) } : * COPY +try { return 1 } catch (e: UnsupportedOperationException) { doSmth(2) } : * COPY +{ try { return 1 } catch (e: UnsupportedOperationException) { doSmth(2) } } : * COPY ===================== == t15 == fun t15() : Int { @@ -333,11 +341,12 @@ fun t15() : Int { } } --------------------- -1 : Int NEW() -2 : Int NEW() -3 : Int NEW() -doSmth(3) : * NEW() -{ doSmth(3) } : * COPY + : {<: UnsupportedOperationException} NEW: magic(e: UnsupportedOperationException) -> +1 : Int NEW: r(1) -> +2 : Int NEW: r(2) -> +3 : Int NEW: r(3) -> +doSmth(3) : * NEW: call(doSmth, doSmth|) -> +{ doSmth(3) } : * COPY ===================== == t16 == fun t16() : Int { @@ -352,18 +361,20 @@ fun t16() : Int { } } --------------------- -1 : Int NEW() -doSmth(1) : * NEW() -{ doSmth(1) } : * COPY -2 : Int NEW() -3 : Int NEW() -doSmth(3) : * NEW() -{ doSmth(3) } : * COPY -try { doSmth(1) } catch (e: UnsupportedOperationException) { return 2 } finally { doSmth(3) } : * COPY -{ try { doSmth(1) } catch (e: UnsupportedOperationException) { return 2 } finally { doSmth(3) } } : * COPY + : {<: UnsupportedOperationException} NEW: magic(e: UnsupportedOperationException) -> +1 : Int NEW: r(1) -> +doSmth(1) : * NEW: call(doSmth, doSmth|) -> +{ doSmth(1) } : * COPY +2 : Int NEW: r(2) -> +3 : Int NEW: r(3) -> +doSmth(3) : * NEW: call(doSmth, doSmth|) -> +{ doSmth(3) } : * COPY +try { doSmth(1) } catch (e: UnsupportedOperationException) { return 2 } finally { doSmth(3) } : * COPY +{ try { doSmth(1) } catch (e: UnsupportedOperationException) { return 2 } finally { doSmth(3) } } : * COPY ===================== == doSmth == fun doSmth(i: Int) { } --------------------- + : Int NEW: magic(i: Int) -> ===================== diff --git a/compiler/testData/cfg/controlStructures/FinallyTestCopy.values b/compiler/testData/cfg/controlStructures/FinallyTestCopy.values index e49fa806b52..b8e799c364b 100644 --- a/compiler/testData/cfg/controlStructures/FinallyTestCopy.values +++ b/compiler/testData/cfg/controlStructures/FinallyTestCopy.values @@ -30,15 +30,17 @@ fun testCopy1() : Int { } } --------------------- -doSmth() : * NEW() -{ doSmth() } : * COPY -doSmth1() : * NEW() -{ doSmth1() } : * COPY -doSmth2() : * NEW() -{ doSmth2() } : * COPY -1 : Int NEW() -try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { return 1 } : * NEW(, , ) -{ try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { return 1 } } : * COPY + : {<: NullPointerException} NEW: magic(e: NullPointerException) -> + : {<: Exception} NEW: magic(e: Exception) -> +doSmth() : * NEW: call(doSmth, doSmth) -> +{ doSmth() } : * COPY +doSmth1() : * NEW: call(doSmth1, doSmth1) -> +{ doSmth1() } : * COPY +doSmth2() : * NEW: call(doSmth2, doSmth2) -> +{ doSmth2() } : * COPY +1 : Int NEW: r(1) -> +try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { return 1 } : * NEW: merge(try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { return 1 }|, , ) -> +{ try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { return 1 } } : * COPY ===================== == testCopy2 == fun testCopy2() { @@ -59,16 +61,18 @@ fun testCopy2() { } } --------------------- -cond() : Boolean NEW() -doSmth() : * NEW() -{ doSmth() } : * COPY -doSmth1() : * NEW() -{ doSmth1() } : * COPY -doSmth2() : * NEW() -{ doSmth2() } : * COPY -cond() : Boolean NEW() -try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { if (cond()) return else continue } : * NEW(, , ) -{ try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { if (cond()) return else continue } } : * COPY + : {<: NullPointerException} NEW: magic(e: NullPointerException) -> + : {<: Exception} NEW: magic(e: Exception) -> +cond() : Boolean NEW: call(cond, cond) -> +doSmth() : * NEW: call(doSmth, doSmth) -> +{ doSmth() } : * COPY +doSmth1() : * NEW: call(doSmth1, doSmth1) -> +{ doSmth1() } : * COPY +doSmth2() : * NEW: call(doSmth2, doSmth2) -> +{ doSmth2() } : * COPY +cond() : Boolean NEW: call(cond, cond) -> +try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { if (cond()) return else continue } : * NEW: merge(try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { if (cond()) return else continue }|, , ) -> +{ try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { if (cond()) return else continue } } : * COPY ===================== == testCopy3 == fun testCopy3() { @@ -86,15 +90,17 @@ fun testCopy3() { } } --------------------- -doSmth() : * NEW() -{ doSmth() } : * COPY -doSmth1() : * NEW() -{ doSmth1() } : * COPY -doSmth2() : * NEW() -{ doSmth2() } : * COPY -cond() : Boolean NEW() -try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { while (cond()); } : * NEW(, , ) -{ try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { while (cond()); } } : * COPY + : {<: NullPointerException} NEW: magic(e: NullPointerException) -> + : {<: Exception} NEW: magic(e: Exception) -> +doSmth() : * NEW: call(doSmth, doSmth) -> +{ doSmth() } : * COPY +doSmth1() : * NEW: call(doSmth1, doSmth1) -> +{ doSmth1() } : * COPY +doSmth2() : * NEW: call(doSmth2, doSmth2) -> +{ doSmth2() } : * COPY +cond() : Boolean NEW: call(cond, cond) -> +try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { while (cond()); } : * NEW: merge(try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { while (cond()); }|, , ) -> +{ try { doSmth() } catch (e: NullPointerException) { doSmth1() } catch (e: Exception) { doSmth2() } finally { while (cond()); } } : * COPY ===================== == doTestCopy4 == fun doTestCopy4(list: List?) : Int { @@ -107,11 +113,12 @@ fun doTestCopy4(list: List?) : Int { } } --------------------- -doSmth() : * NEW() -{ doSmth() } : * COPY -list : {<: Any?} NEW() -null : {<: Any?} NEW() -list != null : Boolean NEW(, ) -try { doSmth() } finally { if(list != null) { } } : * COPY -{ try { doSmth() } finally { if(list != null) { } } } : * COPY + : {<: List?} NEW: magic(list: List?) -> +doSmth() : * NEW: call(doSmth, doSmth) -> +{ doSmth() } : * COPY +list : {<: Any?} NEW: r(list) -> +null : {<: Any?} NEW: r(null) -> +list != null : Boolean NEW: call(!=, equals|, ) -> +try { doSmth() } finally { if(list != null) { } } : * COPY +{ try { doSmth() } finally { if(list != null) { } } } : * COPY ===================== diff --git a/compiler/testData/cfg/controlStructures/For.values b/compiler/testData/cfg/controlStructures/For.values index 027b5496c73..2d7fb08589b 100644 --- a/compiler/testData/cfg/controlStructures/For.values +++ b/compiler/testData/cfg/controlStructures/For.values @@ -5,14 +5,16 @@ fun t1() { } } --------------------- -1 : Int NEW() -2 : Int NEW() -1..2 : {<: Iterable} NEW(, ) -i : Int NEW() -doSmth(i) : * NEW() -{ doSmth(i) } : * COPY + : Int NEW: magic(1..2|) -> +1 : Int NEW: r(1) -> +2 : Int NEW: r(2) -> +1..2 : {<: Iterable} NEW: call(.., rangeTo|, ) -> +i : Int NEW: r(i) -> +doSmth(i) : * NEW: call(doSmth, doSmth|) -> +{ doSmth(i) } : * COPY ===================== == doSmth == fun doSmth(i: Int) {} --------------------- + : Int NEW: magic(i: Int) -> ===================== diff --git a/compiler/testData/cfg/controlStructures/If.values b/compiler/testData/cfg/controlStructures/If.values index e2c4f2cf276..726b9ced804 100644 --- a/compiler/testData/cfg/controlStructures/If.values +++ b/compiler/testData/cfg/controlStructures/If.values @@ -16,16 +16,17 @@ fun t1(b: Boolean) { doSmth(r) } --------------------- -b : Boolean NEW() -"s" : String NEW() -u : String NEW() -doSmth(u) : * NEW() -b : Boolean NEW() -"s" : String NEW() -"t" : String NEW() -r : String NEW() -doSmth(r) : * NEW() -{ var u: String if (b) { u = "s" } doSmth(u) var r: String if (b) { r = "s" } else { r = "t" } doSmth(r) } : * COPY + : Boolean NEW: magic(b: Boolean) -> +b : Boolean NEW: r(b) -> +"s" : String NEW: r("s") -> +u : String NEW: r(u) -> +doSmth(u) : * NEW: call(doSmth, doSmth|) -> +b : Boolean NEW: r(b) -> +"s" : String NEW: r("s") -> +"t" : String NEW: r("t") -> +r : String NEW: r(r) -> +doSmth(r) : * NEW: call(doSmth, doSmth|) -> +{ var u: String if (b) { u = "s" } doSmth(u) var r: String if (b) { r = "s" } else { r = "t" } doSmth(r) } : * COPY ===================== == t2 == fun t2(b: Boolean) { @@ -39,14 +40,16 @@ fun t2(b: Boolean) { } } --------------------- -3 : Int NEW() -b : Boolean NEW() -i : String NEW() -doSmth(i) : * NEW() -i : * NEW() -i is Int : Boolean NEW() + : Boolean NEW: magic(b: Boolean) -> +3 : Int NEW: r(3) -> +b : Boolean NEW: r(b) -> +i : String NEW: r(i) -> +doSmth(i) : * NEW: call(doSmth, doSmth|) -> +i : * NEW: r(i) -> +i is Int : Boolean NEW: magic(i is Int|) -> ===================== == doSmth == fun doSmth(s: String) {} --------------------- + : String NEW: magic(s: String) -> ===================== diff --git a/compiler/testData/cfg/controlStructures/OnlyWhileInFunctionBody.values b/compiler/testData/cfg/controlStructures/OnlyWhileInFunctionBody.values index b6eaafa0d7c..eeee63fd336 100644 --- a/compiler/testData/cfg/controlStructures/OnlyWhileInFunctionBody.values +++ b/compiler/testData/cfg/controlStructures/OnlyWhileInFunctionBody.values @@ -5,11 +5,11 @@ fun main() { } } --------------------- -0 : {<: Comparable} NEW() -1 : Int NEW() -0 > 1 : Boolean NEW(, ) -2 : * NEW() -{ 2 } : * COPY +0 : {<: Comparable} NEW: r(0) -> +1 : Int NEW: r(1) -> +0 > 1 : Boolean NEW: call(>, compareTo|, ) -> +2 : * NEW: r(2) -> +{ 2 } : * COPY ===================== == dowhile == fun dowhile() { @@ -17,7 +17,7 @@ fun dowhile() { while(0 > 1) } --------------------- -0 : * NEW() -1 : * NEW() -0 > 1 : * NEW(, ) +0 : * NEW: r(0) -> +1 : * NEW: r(1) -> +0 > 1 : * NEW: call(>, compareTo|, ) -> ===================== diff --git a/compiler/testData/cfg/controlStructures/returnsInWhen.values b/compiler/testData/cfg/controlStructures/returnsInWhen.values index f1835c8c05d..0bb026b5228 100644 --- a/compiler/testData/cfg/controlStructures/returnsInWhen.values +++ b/compiler/testData/cfg/controlStructures/returnsInWhen.values @@ -5,6 +5,8 @@ fun illegalWhenBlock(a: Any): Any { } } --------------------- -a : * NEW() -a : {<: Any} NEW() + : {<: Any} NEW: magic(a: Any) -> + : * NEW: magic(is Int|) -> +a : * NEW: r(a) -> +a : {<: Any} NEW: r(a) -> ===================== diff --git a/compiler/testData/cfg/conventions/bothReceivers.values b/compiler/testData/cfg/conventions/bothReceivers.values index 0e2db937727..eca297a429b 100644 --- a/compiler/testData/cfg/conventions/bothReceivers.values +++ b/compiler/testData/cfg/conventions/bothReceivers.values @@ -18,9 +18,10 @@ fun foobar(f: Foo) { Bar().f() } --------------------- -Bar() : Bar NEW() -f : Foo NEW() -f() : * NEW(, ) + : Foo NEW: magic(f: Foo) -> +Bar() : Bar NEW: call(Bar, ) -> +f : Foo NEW: r(f) -> +f() : * NEW: call(f, invoke|, ) -> Bar().f() : * COPY { Bar().f() } : * COPY -===================== \ No newline at end of file +===================== diff --git a/compiler/testData/cfg/conventions/equals.values b/compiler/testData/cfg/conventions/equals.values index 9d4a5bf3270..e59d786eaaf 100644 --- a/compiler/testData/cfg/conventions/equals.values +++ b/compiler/testData/cfg/conventions/equals.values @@ -4,7 +4,9 @@ fun foo(a: Int, b: Int) { } } --------------------- -a : OR{{<: Any}, {<: Any}} NEW() -b : {<: Any?} NEW() -a == b : Boolean NEW(, ) + : Int NEW: magic(a: Int) -> + : Int NEW: magic(b: Int) -> +a : OR{{<: Any}, {<: Any}} NEW: r(a) -> +b : {<: Any?} NEW: r(b) -> +a == b : Boolean NEW: call(==, equals|, ) -> ===================== diff --git a/compiler/testData/cfg/conventions/incrementAtTheEnd.values b/compiler/testData/cfg/conventions/incrementAtTheEnd.values index daed10577df..22098b2cb99 100644 --- a/compiler/testData/cfg/conventions/incrementAtTheEnd.values +++ b/compiler/testData/cfg/conventions/incrementAtTheEnd.values @@ -4,8 +4,8 @@ fun foo() { i++ } --------------------- -1 : Int NEW() -i : Int NEW() +1 : Int NEW: r(1) -> +i : Int NEW: r(i) -> i++ : Int COPY { var i = 1 i++ } : Int COPY ===================== diff --git a/compiler/testData/cfg/conventions/invoke.values b/compiler/testData/cfg/conventions/invoke.values index 02c3e5b3466..a4f83479e29 100644 --- a/compiler/testData/cfg/conventions/invoke.values +++ b/compiler/testData/cfg/conventions/invoke.values @@ -3,7 +3,8 @@ fun foo(f: () -> Unit) { f() } --------------------- -f : {<: () -> Unit} NEW() -f() : * NEW() + : {<: () -> Unit} NEW: magic(f: () -> Unit) -> +f : {<: () -> Unit} NEW: r(f) -> +f() : * NEW: call(f, invoke|) -> { f() } : * COPY ===================== diff --git a/compiler/testData/cfg/conventions/notEqual.values b/compiler/testData/cfg/conventions/notEqual.values index 5f758f0157a..07315fcaa79 100644 --- a/compiler/testData/cfg/conventions/notEqual.values +++ b/compiler/testData/cfg/conventions/notEqual.values @@ -3,7 +3,9 @@ fun neq(a: Int, b: Int) { if (a != b) {} } --------------------- -a : OR{{<: Any}, {<: Any}} NEW() -b : {<: Any?} NEW() -a != b : Boolean NEW(, ) + : Int NEW: magic(a: Int) -> + : Int NEW: magic(b: Int) -> +a : OR{{<: Any}, {<: Any}} NEW: r(a) -> +b : {<: Any?} NEW: r(b) -> +a != b : Boolean NEW: call(!=, equals|, ) -> ===================== diff --git a/compiler/testData/cfg/deadCode/DeadCode.values b/compiler/testData/cfg/deadCode/DeadCode.values index addf7ec3995..29bc8914e7e 100644 --- a/compiler/testData/cfg/deadCode/DeadCode.values +++ b/compiler/testData/cfg/deadCode/DeadCode.values @@ -4,7 +4,7 @@ fun test() { test() } --------------------- -Exception() : {<: Throwable} NEW() -test() : * NEW() -{ throw Exception() test() } : * COPY +Exception() : {<: Throwable} NEW: call(Exception, ) -> +test() : * NEW: call(test, test) -> +{ throw Exception() test() } : * COPY ===================== diff --git a/compiler/testData/cfg/deadCode/returnInElvis.values b/compiler/testData/cfg/deadCode/returnInElvis.values index 0a2dabc4721..e92efdc7e4c 100644 --- a/compiler/testData/cfg/deadCode/returnInElvis.values +++ b/compiler/testData/cfg/deadCode/returnInElvis.values @@ -3,7 +3,7 @@ fun foo() { return ?: null } --------------------- -null : * NEW() -return ?: null : * COPY -{ return ?: null } : * COPY +null : * NEW: r(null) -> +return ?: null : * COPY +{ return ?: null } : * COPY ===================== diff --git a/compiler/testData/cfg/deadCode/stringTemplate.values b/compiler/testData/cfg/deadCode/stringTemplate.values index 280634698cd..3c358f7060f 100644 --- a/compiler/testData/cfg/deadCode/stringTemplate.values +++ b/compiler/testData/cfg/deadCode/stringTemplate.values @@ -3,8 +3,8 @@ fun test() { "${throw Exception()} ${1}" } --------------------- -Exception() : {<: Throwable} NEW() -1 : * NEW() -"${throw Exception()} ${1}" : * NEW() +Exception() : {<: Throwable} NEW: call(Exception, ) -> +1 : * NEW: r(1) -> +"${throw Exception()} ${1}" : * NEW: magic("${throw Exception()} ${1}"|) -> { "${throw Exception()} ${1}" } : * COPY ===================== diff --git a/compiler/testData/cfg/declarations/classesAndObjects/AnonymousInitializers.values b/compiler/testData/cfg/declarations/classesAndObjects/AnonymousInitializers.values index 886da7ea362..9ece51d6f23 100644 --- a/compiler/testData/cfg/declarations/classesAndObjects/AnonymousInitializers.values +++ b/compiler/testData/cfg/declarations/classesAndObjects/AnonymousInitializers.values @@ -15,7 +15,9 @@ class AnonymousInitializers() { } } --------------------- -34 : Int NEW() -12 : Int NEW() -13 : Int NEW() + : AnonymousInitializers NEW: magic($i) -> + : AnonymousInitializers NEW: magic($i) -> +34 : Int NEW: r(34) -> +12 : Int NEW: r(12) -> +13 : Int NEW: r(13) -> ===================== diff --git a/compiler/testData/cfg/declarations/functionLiterals/unusedFunctionLiteral.values b/compiler/testData/cfg/declarations/functionLiterals/unusedFunctionLiteral.values index 5ac4b35aefe..1a6b4f8f683 100644 --- a/compiler/testData/cfg/declarations/functionLiterals/unusedFunctionLiteral.values +++ b/compiler/testData/cfg/declarations/functionLiterals/unusedFunctionLiteral.values @@ -3,7 +3,7 @@ fun foo() { {} } --------------------- -{} : * NEW() +{} : * NEW: r({}) -> { {} } : * COPY ===================== == anonymous_0 == diff --git a/compiler/testData/cfg/declarations/functions/FailFunction.values b/compiler/testData/cfg/declarations/functions/FailFunction.values index 7a6b3c52016..7c185a25542 100644 --- a/compiler/testData/cfg/declarations/functions/FailFunction.values +++ b/compiler/testData/cfg/declarations/functions/FailFunction.values @@ -3,6 +3,6 @@ fun fail() : Nothing { throw java.lang.RuntimeException() } --------------------- -RuntimeException() : {<: Throwable} NEW() +RuntimeException() : {<: Throwable} NEW: call(RuntimeException, ) -> java.lang.RuntimeException() : {<: Throwable} COPY ===================== diff --git a/compiler/testData/cfg/declarations/functions/typeParameter.values b/compiler/testData/cfg/declarations/functions/typeParameter.values index ab80f5a4ee4..ddeb2059902 100644 --- a/compiler/testData/cfg/declarations/functions/typeParameter.values +++ b/compiler/testData/cfg/declarations/functions/typeParameter.values @@ -3,6 +3,6 @@ fun foo() { T } --------------------- -T : * NEW() +T : * NEW: magic(T) -> { T } : * COPY ===================== diff --git a/compiler/testData/cfg/declarations/local/LocalDeclarations.values b/compiler/testData/cfg/declarations/local/LocalDeclarations.values index 9c4fe5cf211..597197f5a84 100644 --- a/compiler/testData/cfg/declarations/local/LocalDeclarations.values +++ b/compiler/testData/cfg/declarations/local/LocalDeclarations.values @@ -17,11 +17,12 @@ class C() { } } --------------------- -1 : Int NEW() +1 : Int NEW: r(1) -> ===================== == doSmth == fun doSmth(i: Int) {} --------------------- + : Int NEW: magic(i: Int) -> ===================== == test1 == fun test1() { @@ -33,8 +34,9 @@ fun test1() { } } --------------------- -1 : Int NEW() -object { val x : Int { $x = 1 } } : NEW() + : NEW: magic($x) -> +1 : Int NEW: r(1) -> +object { val x : Int { $x = 1 } } : NEW: r(object { val x : Int { $x = 1 } }) -> ===================== == O == object O { @@ -44,7 +46,8 @@ object O { } } --------------------- -1 : Int NEW() + : O NEW: magic($x) -> +1 : Int NEW: r(1) -> ===================== == test2 == fun test2() { @@ -54,9 +57,9 @@ fun test2() { } } --------------------- -1 : Int NEW() -b : Int NEW() -object { val x = b } : NEW() +1 : Int NEW: r(1) -> +b : Int NEW: r(b) -> +object { val x = b } : NEW: r(object { val x = b }) -> ===================== == test3 == fun test3() { @@ -68,14 +71,15 @@ fun test3() { } } --------------------- -object { val y : Int fun inner_bar() { y = 10 } } : NEW() +object { val y : Int fun inner_bar() { y = 10 } } : NEW: r(object { val y : Int fun inner_bar() { y = 10 } }) -> ===================== == inner_bar == fun inner_bar() { y = 10 } --------------------- -10 : Int NEW() + : NEW: magic(y) -> +10 : Int NEW: r(10) -> ===================== == test4 == fun test4() { @@ -91,15 +95,17 @@ fun test4() { } } --------------------- -1 : Int NEW() -object { val x : Int val y : Int { $x = 1 } fun ggg() { y = 10 } } : NEW() + : NEW: magic($x) -> +1 : Int NEW: r(1) -> +object { val x : Int val y : Int { $x = 1 } fun ggg() { y = 10 } } : NEW: r(object { val x : Int val y : Int { $x = 1 } fun ggg() { y = 10 } }) -> ===================== == ggg == fun ggg() { y = 10 } --------------------- -10 : Int NEW() + : NEW: magic(y) -> +10 : Int NEW: r(10) -> ===================== == test5 == fun test5() { @@ -117,21 +123,24 @@ fun test5() { } } --------------------- -1 : Int NEW() -2 : Int NEW() -object { var x = 1 { $x = 2 } fun foo() { x = 3 } fun bar() { x = 4 } } : NEW() + : NEW: magic($x) -> +1 : Int NEW: r(1) -> +2 : Int NEW: r(2) -> +object { var x = 1 { $x = 2 } fun foo() { x = 3 } fun bar() { x = 4 } } : NEW: r(object { var x = 1 { $x = 2 } fun foo() { x = 3 } fun bar() { x = 4 } }) -> ===================== == foo == fun foo() { x = 3 } --------------------- -3 : Int NEW() + : NEW: magic(x) -> +3 : Int NEW: r(3) -> ===================== == bar == fun bar() { x = 4 } --------------------- -4 : Int NEW() + : NEW: magic(x) -> +4 : Int NEW: r(4) -> ===================== diff --git a/compiler/testData/cfg/declarations/local/ObjectExpression.values b/compiler/testData/cfg/declarations/local/ObjectExpression.values index bf8c6041316..79ff8c63418 100644 --- a/compiler/testData/cfg/declarations/local/ObjectExpression.values +++ b/compiler/testData/cfg/declarations/local/ObjectExpression.values @@ -17,7 +17,7 @@ class B : A { == foo == override fun foo() = 10 --------------------- -10 : Int NEW() +10 : Int NEW: r(10) -> ===================== == foo == fun foo(b: B) : Int { @@ -25,9 +25,10 @@ fun foo(b: B) : Int { return o.foo() } --------------------- -b : * NEW() -object : A by b {} : NEW() -o : {<: A} NEW() -foo() : Int NEW() -o.foo() : Int COPY + : B NEW: magic(b: B) -> +b : * NEW: r(b) -> +object : A by b {} : NEW: r(object : A by b {}) -> +o : {<: A} NEW: r(o) -> +foo() : Int NEW: call(foo, foo|) -> +o.foo() : Int COPY ===================== diff --git a/compiler/testData/cfg/declarations/local/localClass.values b/compiler/testData/cfg/declarations/local/localClass.values index 4b9ec1b16cd..8d75950b182 100644 --- a/compiler/testData/cfg/declarations/local/localClass.values +++ b/compiler/testData/cfg/declarations/local/localClass.values @@ -21,12 +21,12 @@ fun f() { } } --------------------- -"" : String NEW() +"" : String NEW: r("") -> ===================== == loc == fun loc() { val x3 = "" } --------------------- -"" : String NEW() +"" : String NEW: r("") -> ===================== diff --git a/compiler/testData/cfg/declarations/local/localProperty.values b/compiler/testData/cfg/declarations/local/localProperty.values index bd5c69a29c0..096cc6d25a8 100644 --- a/compiler/testData/cfg/declarations/local/localProperty.values +++ b/compiler/testData/cfg/declarations/local/localProperty.values @@ -16,5 +16,5 @@ get() { return b } --------------------- -b : Int NEW() +b : Int NEW: r(b) -> ===================== diff --git a/compiler/testData/cfg/declarations/multiDeclaration/MultiDecl.values b/compiler/testData/cfg/declarations/multiDeclaration/MultiDecl.values index 99a44889fa0..a77d27d818a 100644 --- a/compiler/testData/cfg/declarations/multiDeclaration/MultiDecl.values +++ b/compiler/testData/cfg/declarations/multiDeclaration/MultiDecl.values @@ -8,12 +8,12 @@ class C { == component1 == fun component1() = 1 --------------------- -1 : Int NEW() +1 : Int NEW: r(1) -> ===================== == component2 == fun component2() = 2 --------------------- -2 : Int NEW() +2 : Int NEW: r(2) -> ===================== == test == fun test(c: C) { @@ -21,8 +21,9 @@ fun test(c: C) { val d = 1 } --------------------- -a : Int NEW() -b : Int NEW() -c : C NEW() -1 : Int NEW() + : C NEW: magic(c: C) -> +a : Int NEW: call(a, component1|) -> +b : Int NEW: call(b, component2|) -> +c : C NEW: r(c) -> +1 : Int NEW: r(1) -> ===================== diff --git a/compiler/testData/cfg/declarations/multiDeclaration/multiDeclarationWithError.values b/compiler/testData/cfg/declarations/multiDeclaration/multiDeclarationWithError.values index cad29edf6e3..b4899b7ce04 100644 --- a/compiler/testData/cfg/declarations/multiDeclaration/multiDeclarationWithError.values +++ b/compiler/testData/cfg/declarations/multiDeclaration/multiDeclarationWithError.values @@ -4,7 +4,10 @@ fun foo(x: Int) { a } --------------------- -x : * NEW() -a : * NEW() -{ val (a, b) = x a } : * COPY + : Int NEW: magic(x: Int) -> + : {<: [ERROR : component1() return type]} NEW: magic(a|) -> + : {<: [ERROR : component2() return type]} NEW: magic(b|) -> +x : * NEW: r(x) -> +a : * NEW: r(a) -> +{ val (a, b) = x a } : * COPY ===================== diff --git a/compiler/testData/cfg/declarations/properties/DelegatedProperty.values b/compiler/testData/cfg/declarations/properties/DelegatedProperty.values index 7197e993c66..832dbc60adc 100644 --- a/compiler/testData/cfg/declarations/properties/DelegatedProperty.values +++ b/compiler/testData/cfg/declarations/properties/DelegatedProperty.values @@ -7,15 +7,17 @@ class Delegate { == get == fun get(_this: Any, p: PropertyMetadata): Int = 0 --------------------- -0 : Int NEW() + : {<: Any} NEW: magic(_this: Any) -> + : {<: PropertyMetadata} NEW: magic(p: PropertyMetadata) -> +0 : Int NEW: r(0) -> ===================== == a == val a = Delegate() --------------------- -Delegate() : Delegate NEW() +Delegate() : Delegate NEW: call(Delegate, ) -> ===================== == b == val b by a --------------------- -a : * NEW() +a : * NEW: r(a) -> ===================== diff --git a/compiler/testData/cfg/declarations/properties/backingFieldAccess.values b/compiler/testData/cfg/declarations/properties/backingFieldAccess.values index 163de356aa2..111f192c242 100644 --- a/compiler/testData/cfg/declarations/properties/backingFieldAccess.values +++ b/compiler/testData/cfg/declarations/properties/backingFieldAccess.values @@ -8,6 +8,7 @@ class C { } } --------------------- -$a : * NEW() -{ $a } : * COPY + : C NEW: magic($a) -> +$a : * NEW: r($a|) -> +{ $a } : * COPY ===================== diff --git a/compiler/testData/cfg/declarations/properties/backingFieldQualifiedWithThis.values b/compiler/testData/cfg/declarations/properties/backingFieldQualifiedWithThis.values index 6c6f52e2a37..3cfdf3bbabc 100644 --- a/compiler/testData/cfg/declarations/properties/backingFieldQualifiedWithThis.values +++ b/compiler/testData/cfg/declarations/properties/backingFieldQualifiedWithThis.values @@ -8,10 +8,10 @@ abstract class Bar { == foo == fun foo() = "foo" + this.$bar --------------------- -"foo" : String NEW() -this : {<: Bar} COPY -this : {<: Bar} NEW() -$bar : {<: Any?} NEW() -this.$bar : {<: Any?} COPY -"foo" + this.$bar : String NEW(, ) +"foo" : String NEW: r("foo") -> +this : {<: Bar} COPY +this : {<: Bar} NEW: r(this) -> +$bar : {<: Any?} NEW: r($bar|) -> +this.$bar : {<: Any?} COPY +"foo" + this.$bar : String NEW: call(+, plus|, ) -> ===================== diff --git a/compiler/testData/cfg/expressions/Assignments.values b/compiler/testData/cfg/expressions/Assignments.values index f532d04aa5c..41621efe835 100644 --- a/compiler/testData/cfg/expressions/Assignments.values +++ b/compiler/testData/cfg/expressions/Assignments.values @@ -20,28 +20,28 @@ fun assignments() : Unit { t.x += 1 } --------------------- -1 : Int NEW() -2 : Int NEW() -x : Int NEW() -2 : Int NEW() -x += 2 : Int NEW(, ) -true : Boolean NEW() -1 : Int NEW() -2 : Int NEW() -if (true) 1 else 2 : Int NEW(, ) -true : Boolean NEW() -false : Boolean NEW() -true && false : Boolean NEW(, ) -false : Boolean NEW() -true : Boolean NEW() -false && true : Boolean NEW(, ) -Test() : Test NEW() -t : Test NEW() -1 : Int NEW() -t : Test NEW() -x : Int NEW() -t.x : Int COPY -1 : Int NEW() -t.x += 1 : Int NEW(, ) -{ var x = 1 x = 2 x += 2 x = if (true) 1 else 2 val y = true && false val z = false && true val t = Test(); t.x = 1 t.x += 1 } : Int COPY +1 : Int NEW: r(1) -> +2 : Int NEW: r(2) -> +x : Int NEW: r(x) -> +2 : Int NEW: r(2) -> +x += 2 : Int NEW: call(+=, plus|, ) -> +true : Boolean NEW: r(true) -> +1 : Int NEW: r(1) -> +2 : Int NEW: r(2) -> +if (true) 1 else 2 : Int NEW: merge(if (true) 1 else 2|, ) -> +true : Boolean NEW: r(true) -> +false : Boolean NEW: r(false) -> +true && false : Boolean NEW: magic(true && false|, ) -> +false : Boolean NEW: r(false) -> +true : Boolean NEW: r(true) -> +false && true : Boolean NEW: magic(false && true|, ) -> +Test() : Test NEW: call(Test, ) -> +t : Test NEW: r(t) -> +1 : Int NEW: r(1) -> +t : Test NEW: r(t) -> +x : Int NEW: r(x|) -> +t.x : Int COPY +1 : Int NEW: r(1) -> +t.x += 1 : Int NEW: call(+=, plus|, ) -> +{ var x = 1 x = 2 x += 2 x = if (true) 1 else 2 val y = true && false val z = false && true val t = Test(); t.x = 1 t.x += 1 } : Int COPY ===================== diff --git a/compiler/testData/cfg/expressions/LazyBooleans.values b/compiler/testData/cfg/expressions/LazyBooleans.values index b432c87df86..e3e4b0127e9 100644 --- a/compiler/testData/cfg/expressions/LazyBooleans.values +++ b/compiler/testData/cfg/expressions/LazyBooleans.values @@ -17,34 +17,36 @@ fun lazyBooleans(a : Boolean, b : Boolean) : Unit { 14 } --------------------- -a : Boolean NEW() -1 : * NEW() -{ 1 } : * COPY -2 : * NEW() -{ 2 } : * COPY -if (a) { 1 } else { 2 } : * NEW(, ) -3 : * NEW() -a : Boolean NEW() -b : Boolean NEW() -a && b : Boolean NEW(, ) -5 : * NEW() -6 : * NEW() -if (a && b) 5 else 6 : * NEW(, ) -7 : * NEW() -a : Boolean NEW() -b : Boolean NEW() -a || b : Boolean NEW(, ) -8 : * NEW() -9 : * NEW() -if (a || b) 8 else 9 : * NEW(, ) -10 : * NEW() -a : Boolean NEW() -11 : * NEW() -if (a) 11 : * COPY -12 : * NEW() -a : Boolean NEW() -13 : * NEW() -if (a) else 13 : * COPY -14 : * NEW() -{ if (a) { 1 } else { 2 } 3 if (a && b) 5 else 6 7 if (a || b) 8 else 9 10 if (a) 11 12 if (a) else 13 14 } : * COPY + : Boolean NEW: magic(a : Boolean) -> + : Boolean NEW: magic(b : Boolean) -> +a : Boolean NEW: r(a) -> +1 : * NEW: r(1) -> +{ 1 } : * COPY +2 : * NEW: r(2) -> +{ 2 } : * COPY +if (a) { 1 } else { 2 } : * NEW: merge(if (a) { 1 } else { 2 }|, ) -> +3 : * NEW: r(3) -> +a : Boolean NEW: r(a) -> +b : Boolean NEW: r(b) -> +a && b : Boolean NEW: magic(a && b|, ) -> +5 : * NEW: r(5) -> +6 : * NEW: r(6) -> +if (a && b) 5 else 6 : * NEW: merge(if (a && b) 5 else 6|, ) -> +7 : * NEW: r(7) -> +a : Boolean NEW: r(a) -> +b : Boolean NEW: r(b) -> +a || b : Boolean NEW: magic(a || b|, ) -> +8 : * NEW: r(8) -> +9 : * NEW: r(9) -> +if (a || b) 8 else 9 : * NEW: merge(if (a || b) 8 else 9|, ) -> +10 : * NEW: r(10) -> +a : Boolean NEW: r(a) -> +11 : * NEW: r(11) -> +if (a) 11 : * COPY +12 : * NEW: r(12) -> +a : Boolean NEW: r(a) -> +13 : * NEW: r(13) -> +if (a) else 13 : * COPY +14 : * NEW: r(14) -> +{ if (a) { 1 } else { 2 } 3 if (a && b) 5 else 6 7 if (a || b) 8 else 9 10 if (a) 11 12 if (a) else 13 14 } : * COPY ===================== diff --git a/compiler/testData/cfg/expressions/ReturnFromExpression.values b/compiler/testData/cfg/expressions/ReturnFromExpression.values index dc871c3aa57..abb245b93c1 100644 --- a/compiler/testData/cfg/expressions/ReturnFromExpression.values +++ b/compiler/testData/cfg/expressions/ReturnFromExpression.values @@ -3,8 +3,8 @@ fun blockAndAndMismatch() : Boolean { false || (return false) } --------------------- -false : Boolean NEW() -false : Boolean NEW() -false || (return false) : * NEW() -{ false || (return false) } : * COPY +false : Boolean NEW: r(false) -> +false : Boolean NEW: r(false) -> +false || (return false) : * NEW: magic(false || (return false)|) -> +{ false || (return false) } : * COPY ===================== diff --git a/compiler/testData/cfg/expressions/assignmentToThis.values b/compiler/testData/cfg/expressions/assignmentToThis.values index 2571d44967f..71164f37f9f 100644 --- a/compiler/testData/cfg/expressions/assignmentToThis.values +++ b/compiler/testData/cfg/expressions/assignmentToThis.values @@ -3,5 +3,6 @@ fun Int.bar(c: C) { this = c } --------------------- -c : * NEW() + : {<: [ERROR : C]} NEW: magic(c: C) -> +c : * NEW: r(c) -> ===================== diff --git a/compiler/testData/cfg/expressions/chainedQualifiedExpression.values b/compiler/testData/cfg/expressions/chainedQualifiedExpression.values index 03ec485f499..4ae30f206ef 100644 --- a/compiler/testData/cfg/expressions/chainedQualifiedExpression.values +++ b/compiler/testData/cfg/expressions/chainedQualifiedExpression.values @@ -50,141 +50,142 @@ public open class JetKeywordCompletionContributor() { } } --------------------- -1.0 : Double NEW() -BunchKeywordRegister() : JetKeywordCompletionContributor.BunchKeywordRegister NEW() -ABSTRACT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -FINAL_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -OPEN_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -INTERNAL_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -PRIVATE_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -PROTECTED_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -PUBLIC_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -CLASS_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -ENUM_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -FUN_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -GET_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -SET_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -TRAIT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -VAL_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -VAR_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -TYPE_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -IMPORT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -add(IMPORT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -PACKAGE_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -add(PACKAGE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -OVERRIDE_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -add(OVERRIDE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -IN_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -inTopLevel : Double NEW() -add(IN_KEYWORD, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -OUT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -inTopLevel : Double NEW() -add(OUT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -OBJECT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW() -unresolvedCode : Double NEW() -add(OBJECT_KEYWORD, unresolvedCode) : JetKeywordCompletionContributor.BunchKeywordRegister NEW(, , ) -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) .add(OBJECT_KEYWORD, unresolvedCode) : JetKeywordCompletionContributor.BunchKeywordRegister COPY -registerAll() : * NEW() -BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) .add(OBJECT_KEYWORD, unresolvedCode) .registerAll() : * COPY -{ val inTopLevel = 1.0 BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) .add(OBJECT_KEYWORD, unresolvedCode) .registerAll() } : * COPY + : {<: JetKeywordCompletionContributor} NEW: magic(BunchKeywordRegister()) -> +1.0 : Double NEW: r(1.0) -> +BunchKeywordRegister() : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(BunchKeywordRegister, |) -> +ABSTRACT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(ABSTRACT_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +FINAL_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(FINAL_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +OPEN_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(OPEN_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +INTERNAL_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(INTERNAL_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +PRIVATE_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(PRIVATE_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +PROTECTED_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(PROTECTED_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +PUBLIC_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(PUBLIC_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +CLASS_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(CLASS_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +ENUM_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(ENUM_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +FUN_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(FUN_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +GET_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(GET_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +SET_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(SET_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +TRAIT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(TRAIT_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +VAL_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(VAL_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +VAR_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(VAR_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +TYPE_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(TYPE_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +IMPORT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(IMPORT_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(IMPORT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +PACKAGE_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(PACKAGE_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(PACKAGE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +OVERRIDE_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(OVERRIDE_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(OVERRIDE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +IN_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(IN_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(IN_KEYWORD, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +OUT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(OUT_KEYWORD) -> +inTopLevel : Double NEW: r(inTopLevel) -> +add(OUT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +OBJECT_KEYWORD : {<: [ERROR : Type annotation was missing]} NEW: r(OBJECT_KEYWORD) -> +unresolvedCode : Double NEW: magic(unresolvedCode) -> +add(OBJECT_KEYWORD, unresolvedCode) : JetKeywordCompletionContributor.BunchKeywordRegister NEW: call(add, add|, , ) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) .add(OBJECT_KEYWORD, unresolvedCode) : JetKeywordCompletionContributor.BunchKeywordRegister COPY +registerAll() : * NEW: call(registerAll, registerAll|) -> +BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) .add(OBJECT_KEYWORD, unresolvedCode) .registerAll() : * COPY +{ val inTopLevel = 1.0 BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel) .add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(IMPORT_KEYWORD, inTopLevel) .add(PACKAGE_KEYWORD, inTopLevel) .add(OVERRIDE_KEYWORD, inTopLevel) .add(IN_KEYWORD, inTopLevel, inTopLevel) .add(OUT_KEYWORD, inTopLevel) .add(OBJECT_KEYWORD, unresolvedCode) .registerAll() } : * COPY ===================== == ABSTRACT_KEYWORD == val ABSTRACT_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == FINAL_KEYWORD == val FINAL_KEYWORD OPEN_KEYWORD = JetToken() @@ -193,100 +194,100 @@ val FINAL_KEYWORD OPEN_KEYWORD = JetToken() == OPEN_KEYWORD == val OPEN_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == INTERNAL_KEYWORD == val INTERNAL_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == PRIVATE_KEYWORD == val PRIVATE_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == PROTECTED_KEYWORD == val PROTECTED_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == PUBLIC_KEYWORD == val PUBLIC_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == CLASS_KEYWORD == val CLASS_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == ENUM_KEYWORD == val ENUM_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == FUN_KEYWORD == val FUN_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == GET_KEYWORD == val GET_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == SET_KEYWORD == val SET_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == TRAIT_KEYWORD == val TRAIT_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == VAL_KEYWORD == val VAL_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == VAR_KEYWORD == val VAR_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == TYPE_KEYWORD == val TYPE_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == IMPORT_KEYWORD == val IMPORT_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == PACKAGE_KEYWORD == val PACKAGE_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == OVERRIDE_KEYWORD == val OVERRIDE_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == IN_KEYWORD == val IN_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == OUT_KEYWORD == val OUT_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== == OBJECT_KEYWORD == val OBJECT_KEYWORD = JetToken() --------------------- -JetToken() : JetToken NEW() +JetToken() : JetToken NEW: call(JetToken, ) -> ===================== diff --git a/compiler/testData/cfg/expressions/expressionAsFunction.values b/compiler/testData/cfg/expressions/expressionAsFunction.values index 52a6534275b..db16ba62e4f 100644 --- a/compiler/testData/cfg/expressions/expressionAsFunction.values +++ b/compiler/testData/cfg/expressions/expressionAsFunction.values @@ -3,8 +3,9 @@ fun invoke(f: () -> Unit) { (f)() } --------------------- -f : {<: () -> Unit} NEW() -(f) : {<: () -> Unit} COPY -(f)() : * NEW() -{ (f)() } : * COPY + : {<: () -> Unit} NEW: magic(f: () -> Unit) -> +f : {<: () -> Unit} NEW: r(f) -> +(f) : {<: () -> Unit} COPY +(f)() : * NEW: call((f), invoke|) -> +{ (f)() } : * COPY ===================== diff --git a/compiler/testData/cfg/expressions/incdec.values b/compiler/testData/cfg/expressions/incdec.values index 060a72f960d..c90940b7858 100644 --- a/compiler/testData/cfg/expressions/incdec.values +++ b/compiler/testData/cfg/expressions/incdec.values @@ -3,6 +3,7 @@ fun bar(n: Int) { } --------------------- + : Int NEW: magic(n: Int) -> ===================== == foo == fun foo() { @@ -13,18 +14,18 @@ fun foo() { bar(--a) } --------------------- -1 : Int NEW() -a : Int NEW() -a++ : Int COPY -bar(a++) : * NEW() -a : Int NEW() -a-- : Int COPY -bar(a--) : * NEW() -a : Int NEW() -++a : Int NEW() -bar(++a) : * NEW() -a : Int NEW() ---a : Int NEW() -bar(--a) : * NEW() -{ var a = 1 bar(a++) bar(a--) bar(++a) bar(--a) } : * COPY +1 : Int NEW: r(1) -> +a : Int NEW: r(a) -> +a++ : Int COPY +bar(a++) : * NEW: call(bar, bar|) -> +a : Int NEW: r(a) -> +a-- : Int COPY +bar(a--) : * NEW: call(bar, bar|) -> +a : Int NEW: r(a) -> +++a : Int NEW: call(++, inc|) -> +bar(++a) : * NEW: call(bar, bar|) -> +a : Int NEW: r(a) -> +--a : Int NEW: call(--, dec|) -> +bar(--a) : * NEW: call(bar, bar|) -> +{ var a = 1 bar(a++) bar(a--) bar(++a) bar(--a) } : * COPY ===================== diff --git a/compiler/testData/cfg/expressions/nothingExpr.values b/compiler/testData/cfg/expressions/nothingExpr.values index 4cd3916aecd..a226abc4840 100644 --- a/compiler/testData/cfg/expressions/nothingExpr.values +++ b/compiler/testData/cfg/expressions/nothingExpr.values @@ -5,7 +5,7 @@ fun Any?.doSomething() {} == bar == fun bar(): Nothing = throw Exception() --------------------- -Exception() : {<: Throwable} NEW() +Exception() : {<: Throwable} NEW: call(Exception, ) -> ===================== == foo == fun foo() { @@ -13,11 +13,11 @@ fun foo() { bar().doSomething } --------------------- -null : * NEW() -null!! : * NEW() -doSomething() : * NEW() -null!!.doSomething() : * COPY -doSomething : * NEW() -bar().doSomething : * COPY -{ null!!.doSomething() bar().doSomething } : * COPY +null : * NEW: r(null) -> +null!! : * NEW: magic(null!!|) -> +doSomething() : * NEW: call(doSomething, doSomething|) -> +null!!.doSomething() : * COPY +doSomething : * NEW: call(doSomething, doSomething) -> +bar().doSomething : * COPY +{ null!!.doSomething() bar().doSomething } : * COPY ===================== diff --git a/compiler/testData/cfg/expressions/propertySafeCall.values b/compiler/testData/cfg/expressions/propertySafeCall.values index a288285f8f4..67972a084ca 100644 --- a/compiler/testData/cfg/expressions/propertySafeCall.values +++ b/compiler/testData/cfg/expressions/propertySafeCall.values @@ -3,8 +3,9 @@ fun test(s: String?) { s?.length } --------------------- -s : {<: CharSequence?} NEW() -length : * NEW() -s?.length : * COPY -{ s?.length } : * COPY + : {<: String?} NEW: magic(s: String?) -> +s : {<: CharSequence?} NEW: r(s) -> +length : * NEW: r(length|) -> +s?.length : * COPY +{ s?.length } : * COPY ===================== diff --git a/compiler/testData/cfg/expressions/qualifiedExpressionWithoutSelector.values b/compiler/testData/cfg/expressions/qualifiedExpressionWithoutSelector.values index 71888c1db6a..bb53a1e0aeb 100644 --- a/compiler/testData/cfg/expressions/qualifiedExpressionWithoutSelector.values +++ b/compiler/testData/cfg/expressions/qualifiedExpressionWithoutSelector.values @@ -3,7 +3,8 @@ fun foo(s: String) { s. } --------------------- -s : * NEW() -s. : * NEW() -{ s. } : * COPY + : String NEW: magic(s: String) -> +s : * NEW: r(s) -> +s. : * NEW: magic(s.|) -> +{ s. } : * COPY ===================== diff --git a/compiler/testData/cfg/expressions/thisExpression.values b/compiler/testData/cfg/expressions/thisExpression.values index a1db0a07d38..df9ca0222e3 100644 --- a/compiler/testData/cfg/expressions/thisExpression.values +++ b/compiler/testData/cfg/expressions/thisExpression.values @@ -3,6 +3,6 @@ fun Function0.foo() { this() } --------------------- -this() : * NEW() +this() : * NEW: call(this, invoke) -> { this() } : * COPY ===================== diff --git a/compiler/testData/cfg/expressions/unresolvedCall.values b/compiler/testData/cfg/expressions/unresolvedCall.values index e7c190cc644..12b3fa41a60 100644 --- a/compiler/testData/cfg/expressions/unresolvedCall.values +++ b/compiler/testData/cfg/expressions/unresolvedCall.values @@ -3,8 +3,9 @@ fun test(a: Any) { a.foo() } --------------------- -a : * NEW() -foo() : * NEW() -a.foo() : * COPY -{ a.foo() } : * COPY + : {<: Any} NEW: magic(a: Any) -> +a : * NEW: r(a) -> +foo() : * NEW: magic(foo()|) -> +a.foo() : * COPY +{ a.foo() } : * COPY ===================== diff --git a/compiler/testData/cfg/expressions/unresolvedProperty.values b/compiler/testData/cfg/expressions/unresolvedProperty.values index a9903e08e05..d6e1b81d1bb 100644 --- a/compiler/testData/cfg/expressions/unresolvedProperty.values +++ b/compiler/testData/cfg/expressions/unresolvedProperty.values @@ -3,8 +3,9 @@ fun test(a: Any) { a.foo } --------------------- -a : * NEW() -foo : * NEW() -a.foo : * COPY -{ a.foo } : * COPY + : {<: Any} NEW: magic(a: Any) -> +a : * NEW: r(a) -> +foo : * NEW: magic(foo|) -> +a.foo : * COPY +{ a.foo } : * COPY ===================== diff --git a/compiler/testData/cfg/expressions/unusedExpressionSimpleName.values b/compiler/testData/cfg/expressions/unusedExpressionSimpleName.values index 6e60c264f8f..70b9d6e3f52 100644 --- a/compiler/testData/cfg/expressions/unusedExpressionSimpleName.values +++ b/compiler/testData/cfg/expressions/unusedExpressionSimpleName.values @@ -3,6 +3,7 @@ fun main(arg : Array) { a } --------------------- -a : * NEW() -{ a } : * COPY + : {<: Array} NEW: magic(arg : Array) -> +a : * NEW: magic(a) -> +{ a } : * COPY ===================== diff --git a/compiler/testData/cfg/functions/DefaultValuesForArguments.values b/compiler/testData/cfg/functions/DefaultValuesForArguments.values index 1f17659350c..cab5857d9b2 100644 --- a/compiler/testData/cfg/functions/DefaultValuesForArguments.values +++ b/compiler/testData/cfg/functions/DefaultValuesForArguments.values @@ -1,9 +1,11 @@ == foo == fun foo(i: Int = 1, j: Int) = i + j --------------------- -1 : Int NEW() -i: Int = 1 : Int NEW(, ) -i : Int NEW() -j : Int NEW() -i + j : Int NEW(, ) + : Int NEW: magic(i: Int = 1) -> + : Int NEW: magic(j: Int) -> +1 : Int NEW: r(1) -> +i: Int = 1 : Int NEW: merge(i: Int = 1|, ) -> +i : Int NEW: r(i) -> +j : Int NEW: r(j) -> +i + j : Int NEW: call(+, plus|, ) -> ===================== diff --git a/compiler/testData/cfg/tailCalls/finally.values b/compiler/testData/cfg/tailCalls/finally.values index 164bdd47631..91e330a9346 100644 --- a/compiler/testData/cfg/tailCalls/finally.values +++ b/compiler/testData/cfg/tailCalls/finally.values @@ -7,6 +7,6 @@ tailRecursive fun test() : Int { } } --------------------- -test() : * NEW() +test() : * NEW: call(test, test) -> { test() } : * COPY ===================== diff --git a/compiler/testData/cfg/tailCalls/finallyWithReturn.values b/compiler/testData/cfg/tailCalls/finallyWithReturn.values index 11c80464648..faf82f7f340 100644 --- a/compiler/testData/cfg/tailCalls/finallyWithReturn.values +++ b/compiler/testData/cfg/tailCalls/finallyWithReturn.values @@ -7,5 +7,5 @@ tailRecursive fun test() : Int { } } --------------------- -test() : Int NEW() +test() : Int NEW: call(test, test) -> ===================== diff --git a/compiler/testData/cfg/tailCalls/sum.values b/compiler/testData/cfg/tailCalls/sum.values index 7df26749973..3fd87f430aa 100644 --- a/compiler/testData/cfg/tailCalls/sum.values +++ b/compiler/testData/cfg/tailCalls/sum.values @@ -4,17 +4,19 @@ tailRecursive fun sum(x: Long, sum: Long): Long { return sum(x - 1, sum + x) } --------------------- -x : OR{{<: Any}, {<: Any}} NEW() -0 : {<: Number} NEW() -toLong() : {<: Any?} NEW() -0.toLong() : {<: Any?} COPY -x == 0.toLong() : Boolean NEW(, ) -sum : Long NEW() -x : Long NEW() -1 : Int NEW() -x - 1 : Long NEW(, ) -sum : Long NEW() -x : Long NEW() -sum + x : Long NEW(, ) -sum(x - 1, sum + x) : Long NEW(, ) + : Long NEW: magic(x: Long) -> + : Long NEW: magic(sum: Long) -> +x : OR{{<: Any}, {<: Any}} NEW: r(x) -> +0 : {<: Number} NEW: r(0) -> +toLong() : {<: Any?} NEW: call(toLong, toLong|) -> +0.toLong() : {<: Any?} COPY +x == 0.toLong() : Boolean NEW: call(==, equals|, ) -> +sum : Long NEW: r(sum) -> +x : Long NEW: r(x) -> +1 : Int NEW: r(1) -> +x - 1 : Long NEW: call(-, minus|, ) -> +sum : Long NEW: r(sum) -> +x : Long NEW: r(x) -> +sum + x : Long NEW: call(+, plus|, ) -> +sum(x - 1, sum + x) : Long NEW: call(sum, sum|, ) -> ===================== diff --git a/compiler/testData/cfg/tailCalls/try.values b/compiler/testData/cfg/tailCalls/try.values index 269ddaa7c86..0de53c91e89 100644 --- a/compiler/testData/cfg/tailCalls/try.values +++ b/compiler/testData/cfg/tailCalls/try.values @@ -7,5 +7,6 @@ tailRecursive fun foo() { } } --------------------- -foo() : Unit NEW() + : {<: Throwable} NEW: magic(e: Throwable) -> +foo() : Unit NEW: call(foo, foo) -> ===================== diff --git a/compiler/testData/cfg/tailCalls/tryCatchFinally.values b/compiler/testData/cfg/tailCalls/tryCatchFinally.values index 08302009127..f33891190bd 100644 --- a/compiler/testData/cfg/tailCalls/tryCatchFinally.values +++ b/compiler/testData/cfg/tailCalls/tryCatchFinally.values @@ -9,12 +9,13 @@ fun test() : Unit { } } --------------------- -test() : * NEW() -{ test() } : * COPY -test() : * NEW() -{ test() } : * COPY -test() : * NEW() -{ test() } : * COPY -try { test() } catch (any : Exception) { test() } finally { test() } : * NEW(, ) -{ try { test() } catch (any : Exception) { test() } finally { test() } } : * COPY + : {<: Exception} NEW: magic(any : Exception) -> +test() : * NEW: call(test, test) -> +{ test() } : * COPY +test() : * NEW: call(test, test) -> +{ test() } : * COPY +test() : * NEW: call(test, test) -> +{ test() } : * COPY +try { test() } catch (any : Exception) { test() } finally { test() } : * NEW: merge(try { test() } catch (any : Exception) { test() } finally { test() }|, ) -> +{ try { test() } catch (any : Exception) { test() } finally { test() } } : * COPY ===================== diff --git a/compiler/tests/org/jetbrains/jet/cfg/AbstractPseudoValueTest.kt b/compiler/tests/org/jetbrains/jet/cfg/AbstractPseudoValueTest.kt index f980f195c5b..d3d20554597 100644 --- a/compiler/tests/org/jetbrains/jet/cfg/AbstractPseudoValueTest.kt +++ b/compiler/tests/org/jetbrains/jet/cfg/AbstractPseudoValueTest.kt @@ -25,6 +25,7 @@ import java.util.* import org.jetbrains.jet.lang.cfg.pseudocode.collectValueUsages import org.jetbrains.jet.lang.cfg.pseudocode.TypePredicate import org.jetbrains.jet.lang.cfg.pseudocode.getExpectedTypePredicate +import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.InstructionWithValue public abstract class AbstractPseudoValueTest : AbstractPseudocodeTest() { override fun dumpInstructions(pseudocode: PseudocodeImpl, out: StringBuilder, bindingContext: BindingContext) { @@ -46,33 +47,47 @@ public abstract class AbstractPseudoValueTest : AbstractPseudocodeTest() { return elementToValues } - fun maxLength(strings: Iterable): Int = strings.map { it.length }.max() ?: 0 - - fun elementText(element: JetElement): String = element.getText()!!.replaceAll("\\s+", " ") + fun elementText(element: JetElement?): String = + element?.getText()?.replaceAll("\\s+", " ") ?: "" fun valueDecl(value: PseudoValue): String { val typePredicate = expectedTypePredicateMap.getOrPut(value) { getExpectedTypePredicate(value, valueUsageMap, bindingContext) } return "${value.debugName}: $typePredicate" } - fun valueDescription(element: JetElement, value: PseudoValue): String { - return if (value.element != element) "COPY" else "NEW${value.createdAt.inputValues.makeString(", ", "(", ")")}" + fun valueDescription(element: JetElement?, value: PseudoValue): String { + return if (value.element != element) "COPY" else "NEW: ${value.createdAt}" } val elementToValues = getElementToValueMap(pseudocode) - if (elementToValues.isEmpty()) return - - val elementColumnWidth = elementToValues.keySet().map { elementText(it).length() }.max()!! - val valueColumnWidth = elementToValues.values().map { valueDecl(it).length() }.max()!! - val valueDescColumnWidth = elementToValues.entrySet().map { valueDescription(it.key, it.value).length }.max()!! + val unboundValues = pseudocode.getInstructions() + .map { (it as? InstructionWithValue)?.outputValue } + .filterNotNull() + .filter { it.element == null } + .toSortedListBy { it.debugName } + val allValues = elementToValues.values() + unboundValues + if (allValues.isEmpty()) return + val valueDescriptions = LinkedHashMap, String>() + for (value in unboundValues) { + valueDescriptions[value to null] = valueDescription(null, value) + } for ((element, value) in elementToValues.entrySet()) { + valueDescriptions[value to element] = valueDescription(element, value) + } + + val elementColumnWidth = elementToValues.keySet().map { elementText(it).length() }.max() ?: 1 + val valueColumnWidth = allValues.map { valueDecl(it).length() }.max()!! + val valueDescColumnWidth = valueDescriptions.values().map { it.length }.max()!! + + for ((ve, description) in valueDescriptions.entrySet()) { + val (value, element) = ve out .append("%1$-${elementColumnWidth}s".format(elementText(element))) .append(" ") .append("%1$-${valueColumnWidth}s".format(valueDecl(value))) .append(" ") - .append("%1$-${valueDescColumnWidth}s".format(valueDescription(element, value))) + .append("%1$-${valueDescColumnWidth}s".format(description)) .append("\n") } }