Add JS lookup tracker tests
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
package bar
|
||||
|
||||
// To force creating bar package
|
||||
|
||||
/*p:bar(Dummy)*/private class Dummy
|
||||
@@ -0,0 +1,11 @@
|
||||
==== INITIAL BUILD ====
|
||||
Compiling files:
|
||||
src/bar.kt
|
||||
src/constraints.kt
|
||||
src/foo.kt
|
||||
src/usages.kt
|
||||
Exit code: COMPILATION_ERROR
|
||||
Unresolved reference: vala
|
||||
Unresolved reference: vara
|
||||
Unresolved reference: foo
|
||||
Unresolved reference: bar
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package foo
|
||||
|
||||
import bar.*
|
||||
|
||||
/*p:foo*/fun <T : /*p:foo*/A?, B : /*p:foo p:bar*/Iterable</*p:foo p:bar*/Number>, C, D> test()
|
||||
where C : /*p:foo p:bar*/Number, C : /*p:foo p:bar*/Comparable</*p:foo p:bar*/Number>, D : B
|
||||
{}
|
||||
@@ -0,0 +1,71 @@
|
||||
package foo
|
||||
|
||||
import bar.*
|
||||
|
||||
/*p:foo*/class A {
|
||||
val a = /*p:kotlin(Int)*/1
|
||||
var b = /*p:kotlin(String)*/""
|
||||
|
||||
val c: /*c:foo.A c:foo.A.Companion p:foo p:bar*/String
|
||||
get() = /*c:foo.A p:kotlin(String)*/b
|
||||
|
||||
var d: /*c:foo.A c:foo.A.Companion p:foo p:bar*/String = /*p:kotlin(String)*/"ddd"
|
||||
get() = /*p:kotlin(String)*/field
|
||||
set(v) { /*p:kotlin(String)*/field = /*p:kotlin(String)*/v }
|
||||
|
||||
fun foo() {
|
||||
/*c:foo.A p:kotlin(Int)*/a
|
||||
/*c:foo.A*/foo()
|
||||
/*p:foo(A) p:kotlin(Int)*/this./*c:foo.A*/a
|
||||
/*p:foo(A)*/this./*c:foo.A*/foo()
|
||||
/*c:foo.A c:foo.A.Companion p:foo p:bar*/baz()
|
||||
/*c:foo.A c:foo.A.Companion p:foo p:bar p:kotlin(Int)*/Companion./*c:foo.A.Companion*/a
|
||||
/*c:foo.A c:foo.A.Companion p:foo p:bar p:kotlin(String)*/O./*c:foo.A.O*/v = /*p:kotlin(String)*/"OK"
|
||||
}
|
||||
|
||||
class B {
|
||||
val a = /*p:kotlin(Int)*/1
|
||||
|
||||
companion object CO {
|
||||
fun bar(a: /*c:foo.A.B.CO c:foo.A.B c:foo.A c:foo.A.Companion p:foo p:bar*/Int) {}
|
||||
}
|
||||
}
|
||||
|
||||
inner class C
|
||||
|
||||
companion object {
|
||||
val a = /*p:kotlin(Int)*/1
|
||||
fun baz() {}
|
||||
}
|
||||
|
||||
object O {
|
||||
var v = /*p:kotlin(String)*/"vvv"
|
||||
}
|
||||
}
|
||||
|
||||
/*p:foo*/interface I {
|
||||
var a: /*c:foo.I p:foo p:bar*/Int
|
||||
fun foo()
|
||||
|
||||
class NI
|
||||
}
|
||||
|
||||
/*p:foo*/object Obj : /*p:foo*/I {
|
||||
override var a = /*p:kotlin(Int)*/1
|
||||
override fun foo() {}
|
||||
val b = /*p:kotlin(Int)*/1
|
||||
fun bar(): /*c:foo.Obj p:foo*/I = /*p:kotlin(Nothing) p:foo(I)*/null as /*c:foo.Obj p:foo*/I
|
||||
}
|
||||
|
||||
/*p:foo*/enum class E {
|
||||
X,
|
||||
Y;
|
||||
|
||||
val a = /*p:kotlin(Int)*/1
|
||||
fun foo() {
|
||||
/*c:foo.E p:kotlin(Int)*/a
|
||||
/*c:foo.E p:foo p:bar p:kotlin(Int)*/Y./*c:foo.E*/a
|
||||
/*c:foo.E*/foo()
|
||||
/*c:foo.E p:foo p:bar*/X./*c:foo.E*/foo()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package foo
|
||||
|
||||
import bar.*
|
||||
|
||||
/*p:foo*/fun usages(i: /*p:foo*/I) {
|
||||
/*p:foo c:foo.A.Companion(invoke) p:foo(invoke) p:kotlin(Int)*/A()./*c:foo.A*/a
|
||||
/*p:foo c:foo.A.Companion(invoke) p:foo(invoke) p:kotlin(String)*/A()./*c:foo.A*/b
|
||||
/*p:foo c:foo.A.Companion(invoke) p:foo(invoke) p:kotlin(String)*/A()./*c:foo.A*/c
|
||||
/*p:foo c:foo.A.Companion(invoke) p:foo(invoke) p:kotlin(String)*/A()./*c:foo.A*/d = /*p:kotlin(String)*/"new value"
|
||||
/*p:foo c:foo.A.Companion(invoke) p:foo(invoke)*/A()./*c:foo.A*/foo()
|
||||
/*p:foo p:kotlin(Int)*/A./*c:foo.A c:foo.A.Companion c:foo.A.B.CO(invoke)*/B()./*c:foo.A.B*/a
|
||||
/*p:foo*/A./*c:foo.A*/B./*c:foo.A.B c:foo.A.B.CO*/bar(1)
|
||||
/*p:foo*/A./*c:foo.A*/B./*c:foo.A.B*/CO./*c:foo.A.B.CO*/bar(1)
|
||||
/*p:foo c:foo.A(Companion)*/A
|
||||
/*p:foo p:kotlin(Int)*/A./*c:foo.A.Companion c:foo.A*/a
|
||||
/*p:foo*/A./*c:foo.A c:foo.A.Companion*/baz()
|
||||
/*p:foo c:foo.A(Companion)*/A./*c:foo.A.Companion c:foo.A*/Companion
|
||||
/*p:foo*/A./*c:foo.A*/Companion./*c:foo.A.Companion*/baz()
|
||||
/*p:foo c:foo.A(O)*/A./*c:foo.A.Companion c:foo.A*/O
|
||||
/*p:foo p:kotlin(String)*/A./*c:foo.A*/O./*c:foo.A.O*/v = /*p:kotlin(String)*/"OK"
|
||||
/*p:foo*/A./*c:foo.A.Companion c:foo.A p:foo p:bar*/vala
|
||||
/*p:foo*/A./*c:foo.A c:foo.A.Companion p:foo p:bar*/vara()
|
||||
|
||||
/*p:foo(I) p:kotlin(Int)*/i./*c:foo.I*/a = /*p:kotlin(Int)*/2
|
||||
/*p:foo p:kotlin(Int)*/Obj./*c:foo.Obj*/a
|
||||
/*p:foo*/Obj./*c:foo.Obj*/foo()
|
||||
var ii: /*p:foo*/I = /*p:foo*/Obj
|
||||
/*p:foo(I) p:kotlin(Int)*/ii./*c:foo.I*/a
|
||||
/*p:foo(I)*/ii./*c:foo.I*/foo()
|
||||
/*p:foo p:kotlin(Int)*/Obj./*c:foo.Obj*/b
|
||||
val iii = /*p:foo p:foo(I)*/Obj./*c:foo.Obj*/bar()
|
||||
/*p:foo(I)*/iii./*c:foo.I*/foo()
|
||||
|
||||
/*p:foo p:bar*/E./*c:foo.E*/X
|
||||
/*p:foo p:bar p:kotlin(Int)*/E./*c:foo.E*/X./*c:foo.E*/a
|
||||
/*p:foo p:bar*/E./*c:foo.E*/Y./*c:foo.E*/foo()
|
||||
/*p:foo p:bar p:kotlin(Array)*/E./*c:foo.E*/values()
|
||||
/*p:foo p:bar*/E./*c:foo.E*/valueOf(/*p:kotlin(String)*/"")
|
||||
/*p:foo p:bar*/E./*c:foo.E*/foo
|
||||
/*p:foo p:bar*/E./*c:foo.E*/bar()
|
||||
}
|
||||
|
||||
/*p:foo*/fun classifiers(
|
||||
a: /*p:foo*/A,
|
||||
ab: /*p:foo*/A./*c:foo.A*/B,
|
||||
ac: /*p:foo*/A./*c:foo.A*/C,
|
||||
abCo: /*p:foo*/A./*c:foo.A*/B./*c:foo.A.B*/CO,
|
||||
aCompanion: /*p:foo*/A./*c:foo.A*/Companion,
|
||||
aO: /*p:foo*/A./*c:foo.A*/O,
|
||||
i: /*p:foo*/I,
|
||||
ni: /*p:foo*/I./*c:foo.I*/NI,
|
||||
obj: /*p:foo*/Obj,
|
||||
e: /*p:foo*/E
|
||||
) {}
|
||||
Reference in New Issue
Block a user