restructured control flow tests
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
== Test ==
|
||||
class Test {
|
||||
var x : Int;
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(var x : Int;)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== assignments ==
|
||||
fun assignments() : Unit {
|
||||
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
|
||||
}
|
||||
---------------------
|
||||
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 })
|
||||
v(var x = 1)
|
||||
r(1)
|
||||
w(x)
|
||||
r(2)
|
||||
w(x)
|
||||
mark(x += 2)
|
||||
r(x)
|
||||
r(2)
|
||||
call(+=, plus)
|
||||
w(x)
|
||||
mark(if (true) 1 else 2)
|
||||
r(true)
|
||||
jf(L2) NEXT:[r(2), r(1)]
|
||||
r(1)
|
||||
jmp(L3) NEXT:[w(x)]
|
||||
L2:
|
||||
r(2) PREV:[jf(L2)]
|
||||
L3:
|
||||
w(x) PREV:[jmp(L3), r(2)]
|
||||
v(val y = true && false)
|
||||
r(true)
|
||||
jf(L4) NEXT:[r(true && false), r(false)]
|
||||
r(false)
|
||||
L4:
|
||||
r(true && false) PREV:[jf(L4), r(false)]
|
||||
w(y)
|
||||
v(val z = false && true)
|
||||
r(false)
|
||||
jf(L5) NEXT:[r(false && true), r(true)]
|
||||
r(true)
|
||||
L5:
|
||||
r(false && true) PREV:[jf(L5), r(true)]
|
||||
w(z)
|
||||
v(val t = Test())
|
||||
mark(Test())
|
||||
call(Test, <init>)
|
||||
w(t)
|
||||
r(1)
|
||||
r(t)
|
||||
w(t.x)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
@@ -0,0 +1,17 @@
|
||||
class Test {
|
||||
var x : Int;
|
||||
}
|
||||
|
||||
fun assignments() : Unit {
|
||||
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
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
== lazyBooleans ==
|
||||
fun lazyBooleans(a : Boolean, b : Boolean) : Unit {
|
||||
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
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<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 })
|
||||
mark(if (a) { 1 } else { 2 })
|
||||
r(a)
|
||||
jf(L2) NEXT:[mark({ 2 }), mark({ 1 })]
|
||||
mark({ 1 })
|
||||
r(1)
|
||||
jmp(L3) NEXT:[r(3)]
|
||||
L2:
|
||||
mark({ 2 }) PREV:[jf(L2)]
|
||||
r(2)
|
||||
L3:
|
||||
r(3) PREV:[jmp(L3), r(2)]
|
||||
mark(if (a && b) 5 else 6)
|
||||
r(a)
|
||||
jf(L4) NEXT:[jf(L5), r(b)]
|
||||
r(b)
|
||||
L4:
|
||||
jf(L5) NEXT:[r(6), r(5)] PREV:[jf(L4), r(b)]
|
||||
r(5)
|
||||
jmp(L6) NEXT:[r(7)]
|
||||
L5:
|
||||
r(6) PREV:[jf(L5)]
|
||||
L6:
|
||||
r(7) PREV:[jmp(L6), r(6)]
|
||||
mark(if (a || b) 8 else 9)
|
||||
r(a)
|
||||
jt(L7) NEXT:[r(b), jf(L8)]
|
||||
r(b)
|
||||
L7:
|
||||
jf(L8) NEXT:[r(9), r(8)] PREV:[jt(L7), r(b)]
|
||||
r(8)
|
||||
jmp(L9) NEXT:[r(10)]
|
||||
L8:
|
||||
r(9) PREV:[jf(L8)]
|
||||
L9:
|
||||
r(10) PREV:[jmp(L9), r(9)]
|
||||
mark(if (a) 11)
|
||||
r(a)
|
||||
jf(L10) NEXT:[read (Unit), r(11)]
|
||||
r(11)
|
||||
jmp(L11) NEXT:[r(12)]
|
||||
L10:
|
||||
read (Unit) PREV:[jf(L10)]
|
||||
L11:
|
||||
r(12) PREV:[jmp(L11), read (Unit)]
|
||||
mark(if (a) else 13)
|
||||
r(a)
|
||||
jf(L12) NEXT:[r(13), read (Unit)]
|
||||
read (Unit)
|
||||
jmp(L13) NEXT:[r(14)]
|
||||
L12:
|
||||
r(13) PREV:[jf(L12)]
|
||||
L13:
|
||||
r(14) PREV:[jmp(L13), r(13)]
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
@@ -0,0 +1,17 @@
|
||||
fun lazyBooleans(a : Boolean, b : Boolean) : Unit {
|
||||
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
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
== blockAndAndMismatch ==
|
||||
fun blockAndAndMismatch() : Boolean {
|
||||
false || (return false)
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
mark({ false || (return false) })
|
||||
r(false)
|
||||
jt(L2) NEXT:[mark((return false)), r(false || (return false))]
|
||||
mark((return false))
|
||||
r(false)
|
||||
ret(*) L1 NEXT:[<END>]
|
||||
L2:
|
||||
r(false || (return false)) PREV:[jt(L2)]
|
||||
L1:
|
||||
<END> NEXT:[<SINK>] PREV:[ret(*) L1, r(false || (return false))]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
@@ -0,0 +1,3 @@
|
||||
fun blockAndAndMismatch() : Boolean {
|
||||
false || (return false)
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
== bar ==
|
||||
fun Int.bar(c: C) {
|
||||
this = c
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(c: C)
|
||||
w(c)
|
||||
mark({ this = c })
|
||||
r(c)
|
||||
unsupported(BINARY_EXPRESSION : this = c)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
@@ -0,0 +1,3 @@
|
||||
fun Int.bar(c: C) {
|
||||
this = c
|
||||
}
|
||||
@@ -0,0 +1,574 @@
|
||||
== JetToken ==
|
||||
class JetToken
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== JetKeywordCompletionContributor ==
|
||||
public open class JetKeywordCompletionContributor() {
|
||||
{
|
||||
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()
|
||||
}
|
||||
|
||||
private inner class BunchKeywordRegister() {
|
||||
fun add(keyword= JetToken(), vararg filters: Double): BunchKeywordRegister {
|
||||
}
|
||||
|
||||
fun registerAll() {
|
||||
}
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
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() })
|
||||
v(val inTopLevel = 1.0)
|
||||
r(1.0)
|
||||
w(inTopLevel)
|
||||
mark(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())
|
||||
mark(registerAll())
|
||||
mark(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))
|
||||
mark(add(OBJECT_KEYWORD, unresolvedCode))
|
||||
mark(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))
|
||||
mark(add(OUT_KEYWORD, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(IN_KEYWORD, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(OVERRIDE_KEYWORD, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(PACKAGE_KEYWORD, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(IMPORT_KEYWORD, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(TYPE_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(VAR_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(VAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(TRAIT_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(SET_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(GET_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(FUN_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(ENUM_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(CLASS_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(PUBLIC_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(PROTECTED_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(PRIVATE_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(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))
|
||||
mark(add(INTERNAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(add(OPEN_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel) .add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(add(FINAL_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(BunchKeywordRegister() .add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(add(ABSTRACT_KEYWORD, inTopLevel, inTopLevel, inTopLevel))
|
||||
mark(BunchKeywordRegister())
|
||||
call(BunchKeywordRegister, <init>)
|
||||
r(ABSTRACT_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(FINAL_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(OPEN_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(INTERNAL_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(PRIVATE_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(PROTECTED_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(PUBLIC_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(CLASS_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(ENUM_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(FUN_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(GET_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(SET_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(TRAIT_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(VAL_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(VAR_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(TYPE_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(IMPORT_KEYWORD)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(PACKAGE_KEYWORD)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(OVERRIDE_KEYWORD)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(IN_KEYWORD)
|
||||
r(inTopLevel)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(OUT_KEYWORD)
|
||||
r(inTopLevel)
|
||||
call(add, add)
|
||||
r(OBJECT_KEYWORD)
|
||||
error(unresolvedCode, No resolved call)
|
||||
call(add, add)
|
||||
call(registerAll, registerAll)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== ABSTRACT_KEYWORD ==
|
||||
val ABSTRACT_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val ABSTRACT_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(ABSTRACT_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== FINAL_KEYWORD ==
|
||||
val FINAL_KEYWORD OPEN_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val FINAL_KEYWORD OPEN_KEYWORD = JetToken())
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== OPEN_KEYWORD ==
|
||||
val OPEN_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val OPEN_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(OPEN_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== INTERNAL_KEYWORD ==
|
||||
val INTERNAL_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val INTERNAL_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(INTERNAL_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== PRIVATE_KEYWORD ==
|
||||
val PRIVATE_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val PRIVATE_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(PRIVATE_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== PROTECTED_KEYWORD ==
|
||||
val PROTECTED_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val PROTECTED_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(PROTECTED_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== PUBLIC_KEYWORD ==
|
||||
val PUBLIC_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val PUBLIC_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(PUBLIC_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== CLASS_KEYWORD ==
|
||||
val CLASS_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val CLASS_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(CLASS_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== ENUM_KEYWORD ==
|
||||
val ENUM_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val ENUM_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(ENUM_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== FUN_KEYWORD ==
|
||||
val FUN_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val FUN_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(FUN_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== GET_KEYWORD ==
|
||||
val GET_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val GET_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(GET_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== SET_KEYWORD ==
|
||||
val SET_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val SET_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(SET_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== TRAIT_KEYWORD ==
|
||||
val TRAIT_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val TRAIT_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(TRAIT_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== VAL_KEYWORD ==
|
||||
val VAL_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val VAL_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(VAL_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== VAR_KEYWORD ==
|
||||
val VAR_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val VAR_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(VAR_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== TYPE_KEYWORD ==
|
||||
val TYPE_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val TYPE_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(TYPE_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== IMPORT_KEYWORD ==
|
||||
val IMPORT_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val IMPORT_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(IMPORT_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== PACKAGE_KEYWORD ==
|
||||
val PACKAGE_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val PACKAGE_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(PACKAGE_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== OVERRIDE_KEYWORD ==
|
||||
val OVERRIDE_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val OVERRIDE_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(OVERRIDE_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== IN_KEYWORD ==
|
||||
val IN_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val IN_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(IN_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== OUT_KEYWORD ==
|
||||
val OUT_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val OUT_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(OUT_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
== OBJECT_KEYWORD ==
|
||||
val OBJECT_KEYWORD = JetToken()
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(val OBJECT_KEYWORD = JetToken())
|
||||
mark(JetToken())
|
||||
call(JetToken, <init>)
|
||||
w(OBJECT_KEYWORD)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
@@ -0,0 +1,73 @@
|
||||
package test
|
||||
|
||||
class JetToken
|
||||
|
||||
public open class JetKeywordCompletionContributor() {
|
||||
{
|
||||
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()
|
||||
}
|
||||
|
||||
private inner class BunchKeywordRegister() {
|
||||
fun add(keyword= JetToken(), vararg filters: Double): BunchKeywordRegister {
|
||||
}
|
||||
|
||||
fun registerAll() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val ABSTRACT_KEYWORD = JetToken()
|
||||
val FINAL_KEYWORD OPEN_KEYWORD = JetToken()
|
||||
val OPEN_KEYWORD = JetToken()
|
||||
val INTERNAL_KEYWORD = JetToken()
|
||||
val PRIVATE_KEYWORD = JetToken()
|
||||
val PROTECTED_KEYWORD = JetToken()
|
||||
val PUBLIC_KEYWORD = JetToken()
|
||||
val CLASS_KEYWORD = JetToken()
|
||||
val ENUM_KEYWORD = JetToken()
|
||||
val FUN_KEYWORD = JetToken()
|
||||
val GET_KEYWORD = JetToken()
|
||||
val SET_KEYWORD = JetToken()
|
||||
val TRAIT_KEYWORD = JetToken()
|
||||
val VAL_KEYWORD = JetToken()
|
||||
val VAR_KEYWORD = JetToken()
|
||||
val TYPE_KEYWORD = JetToken()
|
||||
val IMPORT_KEYWORD = JetToken()
|
||||
val PACKAGE_KEYWORD = JetToken()
|
||||
val OVERRIDE_KEYWORD = JetToken()
|
||||
val IN_KEYWORD = JetToken()
|
||||
val OUT_KEYWORD = JetToken()
|
||||
val OBJECT_KEYWORD = JetToken()
|
||||
@@ -0,0 +1,21 @@
|
||||
== invoke ==
|
||||
fun invoke(f: () -> Unit) {
|
||||
(f)()
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(f: () -> Unit)
|
||||
w(f)
|
||||
mark({ (f)() })
|
||||
mark((f)())
|
||||
mark((f))
|
||||
r(f)
|
||||
call((f), <for expression (f)>)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
@@ -0,0 +1,3 @@
|
||||
fun invoke(f: () -> Unit) {
|
||||
(f)()
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
== test ==
|
||||
fun test(s: String?) {
|
||||
s?.length
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(s: String?)
|
||||
w(s)
|
||||
mark({ s?.length })
|
||||
mark(s?.length)
|
||||
r(s)
|
||||
r(length)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
@@ -0,0 +1,3 @@
|
||||
fun test(s: String?) {
|
||||
s?.length
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
== foo ==
|
||||
fun foo(s: String) {
|
||||
s.
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(s: String)
|
||||
w(s)
|
||||
mark({ s. })
|
||||
mark(s.)
|
||||
r(s)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
@@ -0,0 +1,3 @@
|
||||
fun foo(s: String) {
|
||||
s.
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
== foo ==
|
||||
fun Function0<Unit>.foo() {
|
||||
this()
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
mark({ this() })
|
||||
mark(this())
|
||||
r(this)
|
||||
call(this, <for expression this>)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
@@ -0,0 +1,3 @@
|
||||
fun Function0<Unit>.foo() {
|
||||
this()
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
== test ==
|
||||
fun test(a: Any) {
|
||||
a.foo()
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(a: Any)
|
||||
w(a)
|
||||
mark({ a.foo() })
|
||||
mark(a.foo())
|
||||
mark(foo())
|
||||
error(foo, No resolved call)
|
||||
error(foo, No resolved call)
|
||||
r(a)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
@@ -0,0 +1,3 @@
|
||||
fun test(a: Any) {
|
||||
a.foo()
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
== main ==
|
||||
fun main(arg : Array<String>) {
|
||||
a
|
||||
}
|
||||
---------------------
|
||||
L0:
|
||||
<START>
|
||||
v(arg : Array<String>)
|
||||
w(arg)
|
||||
mark({ a })
|
||||
error(a, No resolved call)
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
<ERROR> PREV:[]
|
||||
sink:
|
||||
<SINK> PREV:[<ERROR>, <END>]
|
||||
=====================
|
||||
@@ -0,0 +1,5 @@
|
||||
package Hello
|
||||
|
||||
fun main(arg : Array<String>) {
|
||||
a
|
||||
}
|
||||
Reference in New Issue
Block a user