diff --git a/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/build.log b/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/build.log index 27f99960b9e..536cf259677 100644 --- a/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/build.log +++ b/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/build.log @@ -4,6 +4,16 @@ Compiling files: src/constraints.kt src/foo.kt src/usages.kt +Exit code: OK + +==== STEP 1 ==== +Compiling files: + src/usages.kt +Exit code: OK + +==== STEP 2 ==== +Compiling files: + src/usages.kt Exit code: COMPILATION_ERROR Unresolved reference: vala Unresolved reference: vara diff --git a/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/usages.kt b/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/usages.kt index d333ce23a7b..b38bc975cab 100644 --- a/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/usages.kt +++ b/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/usages.kt @@ -2,7 +2,7 @@ package foo import bar.* -/*p:foo*/fun usages(i: /*p:foo*/I) { +/*p:foo*/fun usages(i: /*p:foo*/I) /*p:foo(E)*/{ /*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 @@ -18,8 +18,6 @@ import bar.* /*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 @@ -36,8 +34,6 @@ import bar.* /*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( diff --git a/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/usages.kt.new.2 b/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/usages.kt.new.2 new file mode 100644 index 00000000000..d333ce23a7b --- /dev/null +++ b/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/usages.kt.new.2 @@ -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 +) {} diff --git a/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/usages.kt.touch.1 b/jps-plugin/testData/incremental/lookupTracker/js/classifierMembers/usages.kt.touch.1 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/build.log b/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/build.log index 27f99960b9e..536cf259677 100644 --- a/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/build.log +++ b/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/build.log @@ -4,6 +4,16 @@ Compiling files: src/constraints.kt src/foo.kt src/usages.kt +Exit code: OK + +==== STEP 1 ==== +Compiling files: + src/usages.kt +Exit code: OK + +==== STEP 2 ==== +Compiling files: + src/usages.kt Exit code: COMPILATION_ERROR Unresolved reference: vala Unresolved reference: vara diff --git a/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt b/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt index d30c609ccb3..5b5db050b86 100644 --- a/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt +++ b/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt @@ -2,7 +2,7 @@ package foo import bar.* -/*p:foo*/fun usages(i: /*p:foo*/I) { +/*p:foo*/fun usages(i: /*p:foo*/I) /*p:foo(E)*/{ /*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 @@ -18,8 +18,6 @@ import bar.* /*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 c:foo.A.Companion(getVala) c:foo.A.Companion(getVALA) p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/vala - /*p:foo*/A./*c:foo.A c:foo.A.Companion c:foo.A.Companion(getVara) c:foo.A.Companion(getVARA) p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/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 @@ -36,8 +34,6 @@ import bar.* /*p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/E./*c:foo.E*/Y./*c:foo.E*/foo() /*p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm p:kotlin(Array)*/E./*c:foo.E*/values() /*p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/E./*c:foo.E*/valueOf(/*p:kotlin(String)*/"") - /*p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/E./*c:foo.E*/foo - /*p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/E./*c:foo.E*/bar() } /*p:foo*/fun classifiers( diff --git a/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt.new.2 b/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt.new.2 new file mode 100644 index 00000000000..d30c609ccb3 --- /dev/null +++ b/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt.new.2 @@ -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 c:foo.A.Companion(getVala) c:foo.A.Companion(getVALA) p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/vala + /*p:foo*/A./*c:foo.A c:foo.A.Companion c:foo.A.Companion(getVara) c:foo.A.Companion(getVARA) p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/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 p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/E./*c:foo.E*/X + /*p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm p:kotlin(Int)*/E./*c:foo.E*/X./*c:foo.E*/a + /*p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/E./*c:foo.E*/Y./*c:foo.E*/foo() + /*p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm p:kotlin(Array)*/E./*c:foo.E*/values() + /*p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/E./*c:foo.E*/valueOf(/*p:kotlin(String)*/"") + /*p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/E./*c:foo.E*/foo + /*p:foo p:bar p:kotlin p:kotlin.annotation p:kotlin.collections p:kotlin.ranges p:kotlin.sequences p:kotlin.text p:kotlin.io p:kotlin.comparisons p:java.lang p:kotlin.jvm*/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 +) {} diff --git a/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt.touch.1 b/jps-plugin/testData/incremental/lookupTracker/jvm/classifierMembers/usages.kt.touch.1 new file mode 100644 index 00000000000..e69de29bb2d