Added/updated tests for LexicalScope.
This commit is contained in:
@@ -4,7 +4,7 @@ class Test {
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(var x : Int;)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
@@ -29,8 +29,8 @@ fun assignments() : Unit {
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
mark({ 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 })
|
||||
1 <START>
|
||||
2 mark({ 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 })
|
||||
v(var x = 1)
|
||||
r(1)
|
||||
w(x)
|
||||
@@ -72,7 +72,7 @@ L5:
|
||||
r(t)
|
||||
w(t.x)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
1 <END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
|
||||
@@ -18,23 +18,23 @@ fun lazyBooleans(a : Boolean, b : Boolean) : Unit {
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(a : Boolean)
|
||||
w(a)
|
||||
v(b : Boolean)
|
||||
w(b)
|
||||
mark({ 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 })
|
||||
2 mark({ 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 })
|
||||
mark(if (a) { 1 } else { 2 })
|
||||
r(a)
|
||||
jf(L2) NEXT:[mark({ 2 }), mark({ 1 })]
|
||||
mark({ 1 })
|
||||
3 mark({ 1 })
|
||||
r(1)
|
||||
jmp(L3) NEXT:[r(3)]
|
||||
2 jmp(L3) NEXT:[r(3)]
|
||||
L2:
|
||||
mark({ 2 }) PREV:[jf(L2)]
|
||||
3 mark({ 2 }) PREV:[jf(L2)]
|
||||
r(2)
|
||||
L3:
|
||||
r(3) PREV:[jmp(L3), r(2)]
|
||||
2 r(3) PREV:[jmp(L3), r(2)]
|
||||
mark(if (a && b) 5 else 6)
|
||||
r(a)
|
||||
jf(L4) NEXT:[jf(L5), r(b)]
|
||||
@@ -78,7 +78,7 @@ L12:
|
||||
L13:
|
||||
r(14) PREV:[jmp(L13), r(13)]
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
1 <END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
|
||||
@@ -4,8 +4,8 @@ fun blockAndAndMismatch() : Boolean {
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
mark({ false || (return false) })
|
||||
1 <START>
|
||||
2 mark({ false || (return false) })
|
||||
r(false)
|
||||
jt(L2) NEXT:[mark((return false)), r(false || (return false))]
|
||||
mark((return false))
|
||||
@@ -14,7 +14,7 @@ L0:
|
||||
L2:
|
||||
r(false || (return false)) PREV:[jt(L2)]
|
||||
L1:
|
||||
<END> NEXT:[<SINK>] PREV:[ret(*) L1, r(false || (return false))]
|
||||
1 <END> NEXT:[<SINK>] PREV:[ret(*) L1, r(false || (return false))]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
|
||||
@@ -4,14 +4,14 @@ fun Int.bar(c: C) {
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(c: C)
|
||||
w(c)
|
||||
mark({ this = c })
|
||||
2 mark({ this = c })
|
||||
r(c)
|
||||
unsupported(BINARY_EXPRESSION : this = c)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
1 <END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
class JetToken
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
@@ -59,8 +59,8 @@ public open class JetKeywordCompletionContributor() {
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
mark({ 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() })
|
||||
1 <START>
|
||||
2 mark({ 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() })
|
||||
v(val inTopLevel = 1.0)
|
||||
r(1.0)
|
||||
w(inTopLevel)
|
||||
@@ -217,7 +217,7 @@ L0:
|
||||
call(add, add)
|
||||
call(registerAll, registerAll)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
1 <END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
@@ -227,7 +227,7 @@ sink:
|
||||
val ABSTRACT_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val ABSTRACT_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -243,7 +243,7 @@ sink:
|
||||
val FINAL_KEYWORD OPEN_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val FINAL_KEYWORD OPEN_KEYWORD = JetToken())
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
@@ -256,7 +256,7 @@ sink:
|
||||
val OPEN_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val OPEN_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -272,7 +272,7 @@ sink:
|
||||
val INTERNAL_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val INTERNAL_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -288,7 +288,7 @@ sink:
|
||||
val PRIVATE_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val PRIVATE_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -304,7 +304,7 @@ sink:
|
||||
val PROTECTED_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val PROTECTED_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -320,7 +320,7 @@ sink:
|
||||
val PUBLIC_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val PUBLIC_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -336,7 +336,7 @@ sink:
|
||||
val CLASS_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val CLASS_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -352,7 +352,7 @@ sink:
|
||||
val ENUM_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val ENUM_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -368,7 +368,7 @@ sink:
|
||||
val FUN_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val FUN_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -384,7 +384,7 @@ sink:
|
||||
val GET_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val GET_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -400,7 +400,7 @@ sink:
|
||||
val SET_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val SET_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -416,7 +416,7 @@ sink:
|
||||
val TRAIT_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val TRAIT_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -432,7 +432,7 @@ sink:
|
||||
val VAL_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val VAL_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -448,7 +448,7 @@ sink:
|
||||
val VAR_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val VAR_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -464,7 +464,7 @@ sink:
|
||||
val TYPE_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val TYPE_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -480,7 +480,7 @@ sink:
|
||||
val IMPORT_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val IMPORT_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -496,7 +496,7 @@ sink:
|
||||
val PACKAGE_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val PACKAGE_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -512,7 +512,7 @@ sink:
|
||||
val OVERRIDE_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val OVERRIDE_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -528,7 +528,7 @@ sink:
|
||||
val IN_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val IN_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -544,7 +544,7 @@ sink:
|
||||
val OUT_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val OUT_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
@@ -560,7 +560,7 @@ sink:
|
||||
val OBJECT_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(val OBJECT_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
|
||||
@@ -4,16 +4,16 @@ fun invoke(f: () -> Unit) {
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(f: () -> Unit)
|
||||
w(f)
|
||||
mark({ (f)() })
|
||||
2 mark({ (f)() })
|
||||
mark((f)())
|
||||
mark((f))
|
||||
r(f)
|
||||
call((f), <for expression (f)>)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
1 <END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
|
||||
@@ -4,15 +4,15 @@ fun test(s: String?) {
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(s: String?)
|
||||
w(s)
|
||||
mark({ s?.length })
|
||||
2 mark({ s?.length })
|
||||
mark(s?.length)
|
||||
r(s)
|
||||
r(length)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
1 <END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
|
||||
@@ -4,14 +4,14 @@ fun foo(s: String) {
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(s: String)
|
||||
w(s)
|
||||
mark({ s. })
|
||||
2 mark({ s. })
|
||||
mark(s.)
|
||||
r(s)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
1 <END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
|
||||
@@ -4,13 +4,13 @@ fun Function0<Unit>.foo() {
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
mark({ this() })
|
||||
1 <START>
|
||||
2 mark({ this() })
|
||||
mark(this())
|
||||
r(this)
|
||||
call(this, <for expression this>)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
1 <END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
|
||||
@@ -4,17 +4,17 @@ fun test(a: Any) {
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(a: Any)
|
||||
w(a)
|
||||
mark({ a.foo() })
|
||||
2 mark({ a.foo() })
|
||||
mark(a.foo())
|
||||
mark(foo())
|
||||
error(foo, No resolved call)
|
||||
error(foo, No resolved call)
|
||||
r(a)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
1 <END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
|
||||
@@ -4,13 +4,13 @@ fun main(arg : Array<String>) {
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
1 <START>
|
||||
v(arg : Array<String>)
|
||||
w(arg)
|
||||
mark({ a })
|
||||
2 mark({ a })
|
||||
error(a, No resolved call)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
1 <END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
|
||||
Reference in New Issue
Block a user