K2 IC: fix member lookup recording
The previous code recorded only class name, instead of fqname, as a scope of lookup. #KT-65943 fixed #KTIJ-24828 fixed related to #KT-56197
This commit is contained in:
committed by
Space Team
parent
f38dc3999c
commit
5b62558798
+2
-2
@@ -330,8 +330,8 @@ class MemberScopeTowerLevel(
|
||||
private fun Triple<FirLookupTrackerComponent?, SmartList<String>, CallInfo>.recordCallableMemberLookup(callable: FirCallableSymbol<*>) {
|
||||
first?.run {
|
||||
recordTypeResolveAsLookup(callable.fir.returnTypeRef, third.callSite.source, third.containingFile.source)
|
||||
callable.callableId.className?.let { lookupScope ->
|
||||
second.add(lookupScope.asString())
|
||||
callable.callableId.classId?.takeIf { !it.isLocal }?.let { lookupScope ->
|
||||
second.add(lookupScope.asFqNameString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+10
@@ -49,6 +49,11 @@ public class JvmLookupTrackerTestGenerated extends AbstractJvmLookupTrackerTest
|
||||
runTest("jps/jps-plugin/testData/incremental/lookupTracker/jvm/java/");
|
||||
}
|
||||
|
||||
@TestMetadata("jvmNameChanged")
|
||||
public void testJvmNameChanged() {
|
||||
runTest("jps/jps-plugin/testData/incremental/lookupTracker/jvm/jvmNameChanged/");
|
||||
}
|
||||
|
||||
@TestMetadata("localDeclarations")
|
||||
public void testLocalDeclarations() {
|
||||
runTest("jps/jps-plugin/testData/incremental/lookupTracker/jvm/localDeclarations/");
|
||||
@@ -73,4 +78,9 @@ public class JvmLookupTrackerTestGenerated extends AbstractJvmLookupTrackerTest
|
||||
public void testSyntheticProperties() {
|
||||
runTest("jps/jps-plugin/testData/incremental/lookupTracker/jvm/syntheticProperties/");
|
||||
}
|
||||
|
||||
@TestMetadata("typeAliasAndUsage")
|
||||
public void testTypeAliasAndUsage() {
|
||||
runTest("jps/jps-plugin/testData/incremental/lookupTracker/jvm/typeAliasAndUsage/");
|
||||
}
|
||||
}
|
||||
|
||||
+12
-12
@@ -7,20 +7,20 @@ import bar.*
|
||||
var b = ""
|
||||
|
||||
val c: /*p:bar p:foo*/String
|
||||
get() = /*p:A p:foo.A p:kotlin(String)*/b
|
||||
get() = /*p:foo.A p:kotlin(String)*/b
|
||||
|
||||
var d: /*p:bar p:foo*/String = "ddd"
|
||||
get() = field
|
||||
set(v) { field = v }
|
||||
|
||||
fun foo() {
|
||||
/*p:A p:foo.A p:kotlin(Int)*/a
|
||||
/*p:A p:foo.A p:kotlin(Unit)*/foo()
|
||||
/*p:A(a) p:foo.A(a) p:kotlin(Int)*/this.a
|
||||
/*p:A(foo) p:foo.A(foo) p:kotlin(Unit)*/this.foo()
|
||||
/*p:A.Companion p:bar p:foo p:foo.A p:foo.A.Companion p:kotlin(Unit)*/baz()
|
||||
/*p:A.Companion(a) p:bar p:foo p:foo.A p:foo.A(a) p:foo.A.Companion p:foo.A.Companion(a) p:kotlin(Int)*/Companion.a
|
||||
/*p:A.O(v) p:bar p:foo p:foo.A p:foo.A.Companion p:foo.A.O(v) p:kotlin(String)*/O.v = "OK"
|
||||
/*p:foo.A p:kotlin(Int)*/a
|
||||
/*p:foo.A p:kotlin(Unit)*/foo()
|
||||
/*p:foo.A(a) p:kotlin(Int)*/this.a
|
||||
/*p:foo.A(foo) p:kotlin(Unit)*/this.foo()
|
||||
/*p:bar p:foo p:foo.A p:foo.A.Companion p:kotlin(Unit)*/baz()
|
||||
/*p:bar p:foo p:foo.A p:foo.A(a) p:foo.A.Companion p:foo.A.Companion(a) p:kotlin(Int)*/Companion.a
|
||||
/*p:bar p:foo p:foo.A p:foo.A.Companion p:foo.A.O(v) p:kotlin(String)*/O.v = "OK"
|
||||
}
|
||||
|
||||
class B {
|
||||
@@ -63,9 +63,9 @@ import bar.*
|
||||
|
||||
val a = 1
|
||||
fun foo() {
|
||||
/*p:E p:foo.E p:kotlin(Int)*/a
|
||||
/*p:E(a) p:bar p:foo p:foo.E p:foo.E(a) p:kotlin(Int) p:kotlin.Enum p:kotlin.Enum.Companion*/Y.a
|
||||
/*p:E p:foo.E p:kotlin(Unit)*/foo()
|
||||
/*p:E(foo) p:bar p:foo p:foo.E p:foo.E(foo) p:kotlin(Unit) p:kotlin.Enum p:kotlin.Enum.Companion*/X.foo()
|
||||
/*p:foo.E p:kotlin(Int)*/a
|
||||
/*p:bar p:foo p:foo.E p:foo.E(a) p:kotlin(Int) p:kotlin.Enum p:kotlin.Enum.Companion*/Y.a
|
||||
/*p:foo.E p:kotlin(Unit)*/foo()
|
||||
/*p:bar p:foo p:foo.E p:foo.E(foo) p:kotlin(Unit) p:kotlin.Enum p:kotlin.Enum.Companion*/X.foo()
|
||||
}
|
||||
}
|
||||
|
||||
+22
-22
@@ -3,35 +3,35 @@ package foo
|
||||
import bar.*
|
||||
|
||||
/*p:foo*/fun usages(i: /*p:bar p:foo*/I) {
|
||||
/*p:A(a) p:foo p:foo.A(a) p:kotlin(Int)*/A().a
|
||||
/*p:A(b) p:foo p:foo.A(b) p:kotlin(String)*/A().b
|
||||
/*p:A(c) p:foo p:foo.A(c) p:kotlin(String)*/A().c
|
||||
/*p:A(d) p:foo p:foo.A(d) p:kotlin(String)*/A().d = "new value"
|
||||
/*p:A(foo) p:foo p:foo.A(foo) p:kotlin(Unit)*/A().foo()
|
||||
/*p:A.B(a) p:foo p:foo(B) p:foo.A.B(a) p:kotlin(Int)*/A.B().a
|
||||
/*p:A.B.CO(bar) p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.bar(1)
|
||||
/*p:A.B.CO(bar) p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.CO.bar(1)
|
||||
/*p:foo p:foo.A(a) p:kotlin(Int)*/A().a
|
||||
/*p:foo p:foo.A(b) p:kotlin(String)*/A().b
|
||||
/*p:foo p:foo.A(c) p:kotlin(String)*/A().c
|
||||
/*p:foo p:foo.A(d) p:kotlin(String)*/A().d = "new value"
|
||||
/*p:foo p:foo.A(foo) p:kotlin(Unit)*/A().foo()
|
||||
/*p:foo p:foo(B) p:foo.A.B(a) p:kotlin(Int)*/A.B().a
|
||||
/*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.bar(1)
|
||||
/*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.CO.bar(1)
|
||||
/*p:foo*/A
|
||||
/*p:A.Companion(a) p:foo p:foo.A(a) p:foo.A.Companion(a) p:kotlin(Int)*/A.a
|
||||
/*p:A.Companion(baz) p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.baz()
|
||||
/*p:foo p:foo.A(a) p:foo.A.Companion(a) p:kotlin(Int)*/A.a
|
||||
/*p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.baz()
|
||||
/*p:foo*/A.Companion
|
||||
/*p:A.Companion(baz) p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.Companion.baz()
|
||||
/*p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.Companion.baz()
|
||||
/*p:foo*/A.O
|
||||
/*p:A.O(v) p:foo p:foo.A.O(v) p:kotlin(String)*/A.O.v = "OK"
|
||||
/*p:foo p:foo.A.O(v) p:kotlin(String)*/A.O.v = "OK"
|
||||
|
||||
/*p:I(a) p:foo.I(a) p:kotlin(Int)*/i.a = 2
|
||||
/*p:Obj(a) p:foo p:foo.Obj(a) p:kotlin(Int)*/Obj.a
|
||||
/*p:Obj(foo) p:bar(foo) p:foo p:foo(foo) p:foo.Obj(foo) p:kotlin(Unit)*/Obj.foo()
|
||||
/*p:foo.I(a) p:kotlin(Int)*/i.a = 2
|
||||
/*p:foo p:foo.Obj(a) p:kotlin(Int)*/Obj.a
|
||||
/*p:bar(foo) p:foo p:foo(foo) p:foo.Obj(foo) p:kotlin(Unit)*/Obj.foo()
|
||||
var ii: /*p:bar p:foo*/I = /*p:foo*/Obj
|
||||
/*p:I(a) p:foo.I(a) p:kotlin(Int)*/ii.a
|
||||
/*p:I(foo) p:foo.I(foo) p:kotlin(Unit)*/ii.foo()
|
||||
/*p:Obj(b) p:foo p:foo.Obj(b) p:kotlin(Int)*/Obj.b
|
||||
val iii = /*p:Obj(bar) p:bar(bar) p:foo p:foo(I) p:foo(bar) p:foo.Obj(bar)*/Obj.bar()
|
||||
/*p:I(foo) p:foo.I(foo) p:kotlin(Unit)*/iii.foo()
|
||||
/*p:foo.I(a) p:kotlin(Int)*/ii.a
|
||||
/*p:foo.I(foo) p:kotlin(Unit)*/ii.foo()
|
||||
/*p:foo p:foo.Obj(b) p:kotlin(Int)*/Obj.b
|
||||
val iii = /*p:bar(bar) p:foo p:foo(I) p:foo(bar) p:foo.Obj(bar)*/Obj.bar()
|
||||
/*p:foo.I(foo) p:kotlin(Unit)*/iii.foo()
|
||||
|
||||
/*p:bar p:foo*/E.X
|
||||
/*p:E(a) p:bar p:foo p:foo.E(a) p:kotlin(Int)*/E.X.a
|
||||
/*p:E(foo) p:bar p:foo p:foo.E(foo) p:kotlin(Unit)*/E.Y.foo()
|
||||
/*p:bar p:foo p:foo.E(a) p:kotlin(Int)*/E.X.a
|
||||
/*p:bar p:foo p:foo.E(foo) p:kotlin(Unit)*/E.Y.foo()
|
||||
/*p:bar p:foo p:kotlin(Array)*/E.values()
|
||||
/*p:bar p:foo*/E.valueOf("")
|
||||
}
|
||||
|
||||
+22
-22
@@ -3,37 +3,37 @@ package foo
|
||||
import bar.*
|
||||
|
||||
/*p:foo*/fun usages(i: /*p:bar p:foo*/I) {
|
||||
/*p:A(a) p:foo p:foo.A(a) p:kotlin(Int)*/A().a
|
||||
/*p:A(b) p:foo p:foo.A(b) p:kotlin(String)*/A().b
|
||||
/*p:A(c) p:foo p:foo.A(c) p:kotlin(String)*/A().c
|
||||
/*p:A(d) p:foo p:foo.A(d) p:kotlin(String)*/A().d = "new value"
|
||||
/*p:A(foo) p:foo p:foo.A(foo) p:kotlin(Unit)*/A().foo()
|
||||
/*p:A.B(a) p:foo p:foo(B) p:foo.A.B(a) p:kotlin(Int)*/A.B().a
|
||||
/*p:A.B.CO(bar) p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.bar(1)
|
||||
/*p:A.B.CO(bar) p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.CO.bar(1)
|
||||
/*p:foo p:foo.A(a) p:kotlin(Int)*/A().a
|
||||
/*p:foo p:foo.A(b) p:kotlin(String)*/A().b
|
||||
/*p:foo p:foo.A(c) p:kotlin(String)*/A().c
|
||||
/*p:foo p:foo.A(d) p:kotlin(String)*/A().d = "new value"
|
||||
/*p:foo p:foo.A(foo) p:kotlin(Unit)*/A().foo()
|
||||
/*p:foo p:foo(B) p:foo.A.B(a) p:kotlin(Int)*/A.B().a
|
||||
/*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.bar(1)
|
||||
/*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.CO.bar(1)
|
||||
/*p:foo*/A
|
||||
/*p:A.Companion(a) p:foo p:foo.A(a) p:foo.A.Companion(a) p:kotlin(Int)*/A.a
|
||||
/*p:A.Companion(baz) p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.baz()
|
||||
/*p:foo p:foo.A(a) p:foo.A.Companion(a) p:kotlin(Int)*/A.a
|
||||
/*p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.baz()
|
||||
/*p:foo*/A.Companion
|
||||
/*p:A.Companion(baz) p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.Companion.baz()
|
||||
/*p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.Companion.baz()
|
||||
/*p:foo*/A.O
|
||||
/*p:A.O(v) p:foo p:foo.A.O(v) p:kotlin(String)*/A.O.v = "OK"
|
||||
/*p:foo p:foo.A.O(v) p:kotlin(String)*/A.O.v = "OK"
|
||||
/*p:bar(vala) p:foo p:foo(vala) p:foo.A(vala) p:foo.A.Companion(vala)*/A.vala
|
||||
/*p:bar(vara) p:foo p:foo(vara) p:foo.A(vara) p:foo.A.Companion(vara)*/A.vara()
|
||||
|
||||
/*p:I(a) p:foo.I(a) p:kotlin(Int)*/i.a = 2
|
||||
/*p:Obj(a) p:foo p:foo.Obj(a) p:kotlin(Int)*/Obj.a
|
||||
/*p:Obj(foo) p:bar(foo) p:foo p:foo(foo) p:foo.Obj(foo) p:kotlin(Unit)*/Obj.foo()
|
||||
/*p:foo.I(a) p:kotlin(Int)*/i.a = 2
|
||||
/*p:foo p:foo.Obj(a) p:kotlin(Int)*/Obj.a
|
||||
/*p:bar(foo) p:foo p:foo(foo) p:foo.Obj(foo) p:kotlin(Unit)*/Obj.foo()
|
||||
var ii: /*p:bar p:foo*/I = /*p:foo*/Obj
|
||||
/*p:I(a) p:foo.I(a) p:kotlin(Int)*/ii.a
|
||||
/*p:I(foo) p:foo.I(foo) p:kotlin(Unit)*/ii.foo()
|
||||
/*p:Obj(b) p:foo p:foo.Obj(b) p:kotlin(Int)*/Obj.b
|
||||
val iii = /*p:Obj(bar) p:bar(bar) p:foo p:foo(I) p:foo(bar) p:foo.Obj(bar)*/Obj.bar()
|
||||
/*p:I(foo) p:foo.I(foo) p:kotlin(Unit)*/iii.foo()
|
||||
/*p:foo.I(a) p:kotlin(Int)*/ii.a
|
||||
/*p:foo.I(foo) p:kotlin(Unit)*/ii.foo()
|
||||
/*p:foo p:foo.Obj(b) p:kotlin(Int)*/Obj.b
|
||||
val iii = /*p:bar(bar) p:foo p:foo(I) p:foo(bar) p:foo.Obj(bar)*/Obj.bar()
|
||||
/*p:foo.I(foo) p:kotlin(Unit)*/iii.foo()
|
||||
|
||||
/*p:bar p:foo*/E.X
|
||||
/*p:E(a) p:bar p:foo p:foo.E(a) p:kotlin(Int)*/E.X.a
|
||||
/*p:E(foo) p:bar p:foo p:foo.E(foo) p:kotlin(Unit)*/E.Y.foo()
|
||||
/*p:bar p:foo p:foo.E(a) p:kotlin(Int)*/E.X.a
|
||||
/*p:bar p:foo p:foo.E(foo) p:kotlin(Unit)*/E.Y.foo()
|
||||
/*p:bar p:foo p:kotlin(Array)*/E.values()
|
||||
/*p:bar p:foo*/E.valueOf("")
|
||||
/*p:bar p:bar(foo) p:foo p:foo(foo)*/E.foo
|
||||
|
||||
+8
-8
@@ -6,13 +6,13 @@ package foo.bar
|
||||
na == a
|
||||
na == null
|
||||
|
||||
/*p:A(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a > b
|
||||
/*p:A(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a < b
|
||||
/*p:A(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a >= b
|
||||
/*p:A(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a <= b
|
||||
/*p:foo.bar.A(compareTo) p:kotlin(Int)*/a > b
|
||||
/*p:foo.bar.A(compareTo) p:kotlin(Int)*/a < b
|
||||
/*p:foo.bar.A(compareTo) p:kotlin(Int)*/a >= b
|
||||
/*p:foo.bar.A(compareTo) p:kotlin(Int)*/a <= b
|
||||
|
||||
/*p:A(compareTo) p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a > c
|
||||
/*p:A(compareTo) p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a < c
|
||||
/*p:A(compareTo) p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a >= c
|
||||
/*p:A(compareTo) p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a <= c
|
||||
/*p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a > c
|
||||
/*p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a < c
|
||||
/*p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a >= c
|
||||
/*p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a <= c
|
||||
}
|
||||
|
||||
+5
-5
@@ -20,11 +20,11 @@ package foo.bar
|
||||
}
|
||||
|
||||
|
||||
/*p:foo.bar*/val x1 by /*p:D1(getValue) p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:kotlin(Int) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(provideDelegate)*/D1()
|
||||
/*p:foo.bar*/var y1 by /*p:D1(getValue) p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar(setValue) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:foo.bar.D1(setValue) p:kotlin(Int) p:kotlin(Unit) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(provideDelegate) p:kotlin.reflect(setValue)*/D1()
|
||||
/*p:foo.bar*/val x1 by /*p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:kotlin(Int) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(provideDelegate)*/D1()
|
||||
/*p:foo.bar*/var y1 by /*p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar(setValue) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:foo.bar.D1(setValue) p:kotlin(Int) p:kotlin(Unit) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(provideDelegate) p:kotlin.reflect(setValue)*/D1()
|
||||
|
||||
/*p:foo.bar*/val x2 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:kotlin(Int) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(getValue) p:kotlin.reflect(provideDelegate)*/D2()
|
||||
/*p:foo.bar*/var y2 by /*p:D2(setValue) p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:foo.bar.D2(setValue) p:kotlin(Int) p:kotlin(Unit) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(getValue) p:kotlin.reflect(provideDelegate)*/D2()
|
||||
/*p:foo.bar*/var y2 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:foo.bar.D2(setValue) p:kotlin(Int) p:kotlin(Unit) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(getValue) p:kotlin.reflect(provideDelegate)*/D2()
|
||||
|
||||
/*p:foo.bar*/val x3 by /*p:D3(provideDelegate) p:foo.bar p:foo.bar(getValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:kotlin(Int) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(getValue)*/D3()
|
||||
/*p:foo.bar*/var y3 by /*p:D2(setValue) p:D3(provideDelegate) p:foo.bar p:foo.bar(getValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:foo.bar.D3(setValue) p:kotlin(Int) p:kotlin(Unit) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(getValue)*/D3()
|
||||
/*p:foo.bar*/val x3 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:kotlin(Int) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(getValue)*/D3()
|
||||
/*p:foo.bar*/var y3 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar.D2(setValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:foo.bar.D3(setValue) p:kotlin(Int) p:kotlin(Unit) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(getValue)*/D3()
|
||||
|
||||
+6
-6
@@ -3,22 +3,22 @@ package foo.bar
|
||||
/*p:foo.bar*/fun testOperators(a: /*p:foo.bar*/A, b: /*p:foo.bar*/Int) {
|
||||
var d = a
|
||||
|
||||
d/*p:A(inc) p:foo.bar(A) p:foo.bar.A(inc)*/++
|
||||
/*p:A(inc) p:foo.bar(A) p:foo.bar.A(inc)*/++d
|
||||
d/*p:foo.bar(A) p:foo.bar.A(inc)*/++
|
||||
/*p:foo.bar(A) p:foo.bar.A(inc)*/++d
|
||||
d/*p:foo.bar(A) p:foo.bar(dec) p:foo.bar.A(dec)*/--
|
||||
/*p:foo.bar(A) p:foo.bar(dec) p:foo.bar.A(dec)*/--d
|
||||
|
||||
/*p:A(plus) p:foo.bar(A) p:foo.bar.A(plus)*/a + b
|
||||
/*p:foo.bar(A) p:foo.bar.A(plus)*/a + b
|
||||
/*p:foo.bar(A) p:foo.bar(minus) p:foo.bar.A(minus)*/a - b
|
||||
/*p:foo.bar(not) p:foo.bar.A(not) p:kotlin(Unit)*/!a
|
||||
|
||||
// for val
|
||||
/*p:A(timesAssign) p:foo.bar(times) p:foo.bar.A(times) p:foo.bar.A(timesAssign) p:kotlin(Unit)*/a *= b
|
||||
/*p:foo.bar(times) p:foo.bar.A(times) p:foo.bar.A(timesAssign) p:kotlin(Unit)*/a *= b
|
||||
/*p:foo.bar(div) p:foo.bar(divAssign) p:foo.bar.A(div) p:foo.bar.A(divAssign) p:kotlin(Unit)*/a /= b
|
||||
|
||||
// for var
|
||||
/*p:A(plus) p:foo.bar(A) p:foo.bar(plusAssign) p:foo.bar.A(plus) p:foo.bar.A(plusAssign)*/d += b
|
||||
/*p:foo.bar(A) p:foo.bar(plusAssign) p:foo.bar.A(plus) p:foo.bar.A(plusAssign)*/d += b
|
||||
/*p:foo.bar(A) p:foo.bar(minus) p:foo.bar(minusAssign) p:foo.bar.A(minus) p:foo.bar.A(minusAssign)*/d -= b
|
||||
/*p:A(timesAssign) p:foo.bar(times) p:foo.bar.A(times) p:foo.bar.A(timesAssign) p:kotlin(Unit)*/d *= b
|
||||
/*p:foo.bar(times) p:foo.bar.A(times) p:foo.bar.A(timesAssign) p:kotlin(Unit)*/d *= b
|
||||
/*p:foo.bar(div) p:foo.bar(divAssign) p:foo.bar.A(div) p:foo.bar.A(divAssign) p:kotlin(Unit)*/d /= b
|
||||
}
|
||||
|
||||
+8
-8
@@ -1,16 +1,16 @@
|
||||
package foo.bar
|
||||
|
||||
/*p:foo.bar*/fun testOther(a: /*p:foo.bar*/A, b: /*p:foo.bar*/Int, c: /*p:foo.bar*/Any, na: /*p:foo.bar*/A?) {
|
||||
/*p:foo.bar(set) p:foo.bar.A(set) p:kotlin(Unit)*/a[1] = /*p:A(get) p:foo.bar.A(get) p:kotlin(Int)*/a[2]
|
||||
/*p:foo.bar(set) p:foo.bar.A(set) p:kotlin(Unit)*/a[1] = /*p:foo.bar.A(get) p:kotlin(Int)*/a[2]
|
||||
|
||||
/*p:A(contains) p:foo.bar.A(contains) p:kotlin(Boolean)*/b in a
|
||||
/*p:A(contains) p:Boolean(not) p:foo.bar(contains) p:foo.bar.A(contains) p:kotlin(Boolean) p:kotlin.Boolean(not)*/"s" !in a
|
||||
/*p:foo.bar.A(contains) p:kotlin(Boolean)*/b in a
|
||||
/*p:foo.bar(contains) p:foo.bar.A(contains) p:kotlin(Boolean) p:kotlin.Boolean(not)*/"s" !in a
|
||||
|
||||
/*p:A(invoke) p:foo.bar(A) p:foo.bar.A(invoke) p:kotlin(Unit)*/a()
|
||||
/*p:A(invoke) p:foo.bar p:foo.bar(A) p:foo.bar(invoke) p:foo.bar.A(invoke) p:kotlin(Unit)*/a(1)
|
||||
/*p:foo.bar(A) p:foo.bar.A(invoke) p:kotlin(Unit)*/a()
|
||||
/*p:foo.bar p:foo.bar(A) p:foo.bar(invoke) p:foo.bar.A(invoke) p:kotlin(Unit)*/a(1)
|
||||
|
||||
val (/*p:A(component1) p:foo.bar(A) p:foo.bar.A(component1)*/h, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/t) = a;
|
||||
val (/*p:foo.bar(A) p:foo.bar.A(component1)*/h, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/t) = a;
|
||||
|
||||
for ((/*p:A(component1) p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:A(iterator) p:A(next) p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next) p:kotlin(Boolean)*/a);
|
||||
for ((/*p:A(component1) p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:A(iterator) p:A(next) p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar(iterator) p:foo.bar.A(hasNext) p:foo.bar.A(next) p:foo.bar.A?(iterator) p:kotlin(Boolean)*/na);
|
||||
for ((/*p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next) p:kotlin(Boolean)*/a);
|
||||
for ((/*p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar(iterator) p:foo.bar.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next) p:foo.bar.A?(iterator) p:kotlin(Boolean)*/na);
|
||||
}
|
||||
|
||||
+2
-2
@@ -5,11 +5,11 @@ package foo
|
||||
/*p:foo*/fun <T> identity(): (/*p:foo*/T) -> /*p:foo*/T = null as (/*p:foo*/T) -> /*p:foo*/T
|
||||
|
||||
/*p:foo*/fun <T> compute(f: () -> /*p:foo*/T) {
|
||||
val result = /*p:Function0(invoke) p:kotlin(Function0) p:kotlin.Function0<T>(invoke)*/f()
|
||||
val result = /*p:kotlin(Function0) p:kotlin.Function0(invoke) p:kotlin.Function0<T>(invoke)*/f()
|
||||
}
|
||||
|
||||
/*p:foo*/class Bar<T>(val t: /*p:foo*/T) {
|
||||
init {
|
||||
val a = /*p:Bar p:foo.Bar<T>*/t
|
||||
val a = /*p:foo.Bar p:foo.Bar<T>*/t
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -5,5 +5,5 @@ package foo
|
||||
inner class B
|
||||
}
|
||||
|
||||
val b = /*p:A.B(B)*/A().B()
|
||||
val b = A().B()
|
||||
}
|
||||
+3
-3
@@ -3,7 +3,7 @@ package local.declarations
|
||||
import bar.*
|
||||
|
||||
/*p:local.declarations*/fun f(p: /*p:bar p:local.declarations*/Any) {
|
||||
/*p:Any(toString) p:kotlin(String) p:kotlin.Any(toString)*/p.toString()
|
||||
/*p:kotlin(String) p:kotlin.Any(toString)*/p.toString()
|
||||
|
||||
val a = 1
|
||||
val b = a
|
||||
@@ -43,7 +43,7 @@ import bar.*
|
||||
/*p:kotlin(Int)*/i.a
|
||||
/*p:kotlin(Unit)*/i.foo()
|
||||
|
||||
/*p:<anonymous>(a) p:kotlin(String)*/o.a
|
||||
val ii = /*p:<anonymous>(foo)*/o.foo()
|
||||
/*p:kotlin(String)*/o.a
|
||||
val ii = o.foo()
|
||||
/*p:kotlin(Int)*/ii.a
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@ package foo
|
||||
/*p:bar(SAMInterface)*/import bar.SAMInterface
|
||||
|
||||
/*p:foo*/fun foo(c: /*p:bar p:foo*/C) {
|
||||
/*p:C(foo) p:bar(foo) p:bar.C(foo) p:foo(foo) p:kotlin(Unit)*/c.foo()
|
||||
/*p:C(foo) p:bar(SAMInterface) p:bar.C(foo) p:bar/SAMInterface(<SAM-CONSTRUCTOR>) p:kotlin(Unit)*/c.foo /*p:kotlin(Function1) p:kotlin(Unit)*/{ /*p:kotlin(Unit)*/}
|
||||
/*p:bar(foo) p:bar.C(foo) p:foo(foo) p:kotlin(Unit)*/c.foo()
|
||||
/*p:bar(SAMInterface) p:bar.C(foo) p:bar/SAMInterface(<SAM-CONSTRUCTOR>) p:kotlin(Unit)*/c.foo /*p:kotlin(Function1) p:kotlin(Unit)*/{ /*p:kotlin(Unit)*/}
|
||||
|
||||
/*p:bar p:bar(bar) p:foo p:foo(bar) p:kotlin(Unit)*/C.bar()
|
||||
/*p:bar p:bar(SAMInterface) p:bar/SAMInterface(<SAM-CONSTRUCTOR>) p:foo p:kotlin(Unit)*/C.bar /*p:kotlin(Function1) p:kotlin(Unit)*/{/*p:kotlin(Unit)*/}
|
||||
|
||||
+12
-12
@@ -7,20 +7,20 @@ import bar.*
|
||||
var b = ""
|
||||
|
||||
val c: /*p:bar p:foo*/String
|
||||
get() = /*p:A p:foo.A p:kotlin(String)*/b
|
||||
get() = /*p:foo.A p:kotlin(String)*/b
|
||||
|
||||
var d: /*p:bar p:foo*/String = "ddd"
|
||||
get() = field
|
||||
set(v) { field = v }
|
||||
|
||||
fun foo() {
|
||||
/*p:A p:foo.A p:kotlin(Int)*/a
|
||||
/*p:A p:foo.A p:kotlin(Unit)*/foo()
|
||||
/*p:A(a) p:foo.A(a) p:kotlin(Int)*/this.a
|
||||
/*p:A(foo) p:foo.A(foo) p:kotlin(Unit)*/this.foo()
|
||||
/*p:A.Companion p:bar p:foo p:foo.A p:foo.A.Companion p:kotlin(Unit)*/baz()
|
||||
/*p:A.Companion(a) p:bar p:foo p:foo.A p:foo.A(a) p:foo.A.Companion p:foo.A.Companion(a) p:kotlin(Int)*/Companion.a
|
||||
/*p:A.O(v) p:bar p:foo p:foo.A p:foo.A.Companion p:foo.A.O(v) p:kotlin(String)*/O.v = "OK"
|
||||
/*p:foo.A p:kotlin(Int)*/a
|
||||
/*p:foo.A p:kotlin(Unit)*/foo()
|
||||
/*p:foo.A(a) p:kotlin(Int)*/this.a
|
||||
/*p:foo.A(foo) p:kotlin(Unit)*/this.foo()
|
||||
/*p:bar p:foo p:foo.A p:foo.A.Companion p:kotlin(Unit)*/baz()
|
||||
/*p:bar p:foo p:foo.A p:foo.A(a) p:foo.A.Companion p:foo.A.Companion(a) p:kotlin(Int)*/Companion.a
|
||||
/*p:bar p:foo p:foo.A p:foo.A.Companion p:foo.A.O(v) p:kotlin(String)*/O.v = "OK"
|
||||
}
|
||||
|
||||
class B {
|
||||
@@ -63,9 +63,9 @@ import bar.*
|
||||
|
||||
val a = 1
|
||||
fun foo() {
|
||||
/*p:E p:foo.E p:kotlin(Int)*/a
|
||||
/*p:E(a) p:bar p:foo p:foo.E p:foo.E(a) p:kotlin(Int) p:kotlin.Enum p:kotlin.Enum.Companion*/Y.a
|
||||
/*p:E p:foo.E p:kotlin(Unit)*/foo()
|
||||
/*p:E(foo) p:bar p:foo p:foo.E p:foo.E(foo) p:kotlin(Unit) p:kotlin.Enum p:kotlin.Enum.Companion*/X.foo()
|
||||
/*p:foo.E p:kotlin(Int)*/a
|
||||
/*p:bar p:foo p:foo.E p:foo.E(a) p:kotlin(Int) p:kotlin.Enum p:kotlin.Enum.Companion*/Y.a
|
||||
/*p:foo.E p:kotlin(Unit)*/foo()
|
||||
/*p:bar p:foo p:foo.E p:foo.E(foo) p:kotlin(Unit) p:kotlin.Enum p:kotlin.Enum.Companion*/X.foo()
|
||||
}
|
||||
}
|
||||
|
||||
+22
-22
@@ -3,35 +3,35 @@ package foo
|
||||
import bar.*
|
||||
|
||||
/*p:foo*/fun usages(i: /*p:bar p:foo*/I) {
|
||||
/*p:A(a) p:foo p:foo.A(a) p:kotlin(Int)*/A().a
|
||||
/*p:A(b) p:foo p:foo.A(b) p:kotlin(String)*/A().b
|
||||
/*p:A(c) p:foo p:foo.A(c) p:kotlin(String)*/A().c
|
||||
/*p:A(d) p:foo p:foo.A(d) p:kotlin(String)*/A().d = "new value"
|
||||
/*p:A(foo) p:foo p:foo.A(foo) p:kotlin(Unit)*/A().foo()
|
||||
/*p:A.B(a) p:foo p:foo(B) p:foo.A.B(a) p:kotlin(Int)*/A.B().a
|
||||
/*p:A.B.CO(bar) p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.bar(1)
|
||||
/*p:A.B.CO(bar) p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.CO.bar(1)
|
||||
/*p:foo p:foo.A(a) p:kotlin(Int)*/A().a
|
||||
/*p:foo p:foo.A(b) p:kotlin(String)*/A().b
|
||||
/*p:foo p:foo.A(c) p:kotlin(String)*/A().c
|
||||
/*p:foo p:foo.A(d) p:kotlin(String)*/A().d = "new value"
|
||||
/*p:foo p:foo.A(foo) p:kotlin(Unit)*/A().foo()
|
||||
/*p:foo p:foo(B) p:foo.A.B(a) p:kotlin(Int)*/A.B().a
|
||||
/*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.bar(1)
|
||||
/*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.CO.bar(1)
|
||||
/*p:foo*/A
|
||||
/*p:A.Companion(a) p:foo p:foo.A(a) p:foo.A.Companion(a) p:kotlin(Int)*/A.a
|
||||
/*p:A.Companion(baz) p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.baz()
|
||||
/*p:foo p:foo.A(a) p:foo.A.Companion(a) p:kotlin(Int)*/A.a
|
||||
/*p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.baz()
|
||||
/*p:foo*/A.Companion
|
||||
/*p:A.Companion(baz) p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.Companion.baz()
|
||||
/*p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.Companion.baz()
|
||||
/*p:foo*/A.O
|
||||
/*p:A.O(v) p:foo p:foo.A.O(v) p:kotlin(String)*/A.O.v = "OK"
|
||||
/*p:foo p:foo.A.O(v) p:kotlin(String)*/A.O.v = "OK"
|
||||
|
||||
/*p:I(a) p:foo.I(a) p:kotlin(Int)*/i.a = 2
|
||||
/*p:Obj(a) p:foo p:foo.Obj(a) p:kotlin(Int)*/Obj.a
|
||||
/*p:Obj(foo) p:bar(foo) p:foo p:foo(foo) p:foo.Obj(foo) p:kotlin(Unit)*/Obj.foo()
|
||||
/*p:foo.I(a) p:kotlin(Int)*/i.a = 2
|
||||
/*p:foo p:foo.Obj(a) p:kotlin(Int)*/Obj.a
|
||||
/*p:bar(foo) p:foo p:foo(foo) p:foo.Obj(foo) p:kotlin(Unit)*/Obj.foo()
|
||||
var ii: /*p:bar p:foo*/I = /*p:foo*/Obj
|
||||
/*p:I(a) p:foo.I(a) p:kotlin(Int)*/ii.a
|
||||
/*p:I(foo) p:foo.I(foo) p:kotlin(Unit)*/ii.foo()
|
||||
/*p:Obj(b) p:foo p:foo.Obj(b) p:kotlin(Int)*/Obj.b
|
||||
val iii = /*p:Obj(bar) p:bar(bar) p:foo p:foo(I) p:foo(bar) p:foo.Obj(bar)*/Obj.bar()
|
||||
/*p:I(foo) p:foo.I(foo) p:kotlin(Unit)*/iii.foo()
|
||||
/*p:foo.I(a) p:kotlin(Int)*/ii.a
|
||||
/*p:foo.I(foo) p:kotlin(Unit)*/ii.foo()
|
||||
/*p:foo p:foo.Obj(b) p:kotlin(Int)*/Obj.b
|
||||
val iii = /*p:bar(bar) p:foo p:foo(I) p:foo(bar) p:foo.Obj(bar)*/Obj.bar()
|
||||
/*p:foo.I(foo) p:kotlin(Unit)*/iii.foo()
|
||||
|
||||
/*p:bar p:foo*/E.X
|
||||
/*p:E(a) p:bar p:foo p:foo.E(a) p:kotlin(Int)*/E.X.a
|
||||
/*p:E(foo) p:bar p:foo p:foo.E(foo) p:kotlin(Unit)*/E.Y.foo()
|
||||
/*p:bar p:foo p:foo.E(a) p:kotlin(Int)*/E.X.a
|
||||
/*p:bar p:foo p:foo.E(foo) p:kotlin(Unit)*/E.Y.foo()
|
||||
/*p:bar p:foo p:kotlin(Array)*/E.values()
|
||||
/*p:bar p:foo*/E.valueOf("")
|
||||
}
|
||||
|
||||
+22
-22
@@ -3,37 +3,37 @@ package foo
|
||||
import bar.*
|
||||
|
||||
/*p:foo*/fun usages(i: /*p:bar p:foo*/I) {
|
||||
/*p:A(a) p:foo p:foo.A(a) p:kotlin(Int)*/A().a
|
||||
/*p:A(b) p:foo p:foo.A(b) p:kotlin(String)*/A().b
|
||||
/*p:A(c) p:foo p:foo.A(c) p:kotlin(String)*/A().c
|
||||
/*p:A(d) p:foo p:foo.A(d) p:kotlin(String)*/A().d = "new value"
|
||||
/*p:A(foo) p:foo p:foo.A(foo) p:kotlin(Unit)*/A().foo()
|
||||
/*p:A.B(a) p:foo p:foo(B) p:foo.A.B(a) p:kotlin(Int)*/A.B().a
|
||||
/*p:A.B.CO(bar) p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.bar(1)
|
||||
/*p:A.B.CO(bar) p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.CO.bar(1)
|
||||
/*p:foo p:foo.A(a) p:kotlin(Int)*/A().a
|
||||
/*p:foo p:foo.A(b) p:kotlin(String)*/A().b
|
||||
/*p:foo p:foo.A(c) p:kotlin(String)*/A().c
|
||||
/*p:foo p:foo.A(d) p:kotlin(String)*/A().d = "new value"
|
||||
/*p:foo p:foo.A(foo) p:kotlin(Unit)*/A().foo()
|
||||
/*p:foo p:foo(B) p:foo.A.B(a) p:kotlin(Int)*/A.B().a
|
||||
/*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.bar(1)
|
||||
/*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar) p:kotlin(Unit)*/A.B.CO.bar(1)
|
||||
/*p:foo*/A
|
||||
/*p:A.Companion(a) p:foo p:foo.A(a) p:foo.A.Companion(a) p:kotlin(Int)*/A.a
|
||||
/*p:A.Companion(baz) p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.baz()
|
||||
/*p:foo p:foo.A(a) p:foo.A.Companion(a) p:kotlin(Int)*/A.a
|
||||
/*p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.baz()
|
||||
/*p:foo*/A.Companion
|
||||
/*p:A.Companion(baz) p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.Companion.baz()
|
||||
/*p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz) p:kotlin(Unit)*/A.Companion.baz()
|
||||
/*p:foo*/A.O
|
||||
/*p:A.O(v) p:foo p:foo.A.O(v) p:kotlin(String)*/A.O.v = "OK"
|
||||
/*p:foo p:foo.A.O(v) p:kotlin(String)*/A.O.v = "OK"
|
||||
/*p:bar(vala) p:foo p:foo(vala) p:foo.A(vala) p:foo.A.Companion(vala)*/A.vala
|
||||
/*p:bar(vara) p:foo p:foo(vara) p:foo.A(vara) p:foo.A.Companion(vara)*/A.vara()
|
||||
|
||||
/*p:I(a) p:foo.I(a) p:kotlin(Int)*/i.a = 2
|
||||
/*p:Obj(a) p:foo p:foo.Obj(a) p:kotlin(Int)*/Obj.a
|
||||
/*p:Obj(foo) p:bar(foo) p:foo p:foo(foo) p:foo.Obj(foo) p:kotlin(Unit)*/Obj.foo()
|
||||
/*p:foo.I(a) p:kotlin(Int)*/i.a = 2
|
||||
/*p:foo p:foo.Obj(a) p:kotlin(Int)*/Obj.a
|
||||
/*p:bar(foo) p:foo p:foo(foo) p:foo.Obj(foo) p:kotlin(Unit)*/Obj.foo()
|
||||
var ii: /*p:bar p:foo*/I = /*p:foo*/Obj
|
||||
/*p:I(a) p:foo.I(a) p:kotlin(Int)*/ii.a
|
||||
/*p:I(foo) p:foo.I(foo) p:kotlin(Unit)*/ii.foo()
|
||||
/*p:Obj(b) p:foo p:foo.Obj(b) p:kotlin(Int)*/Obj.b
|
||||
val iii = /*p:Obj(bar) p:bar(bar) p:foo p:foo(I) p:foo(bar) p:foo.Obj(bar)*/Obj.bar()
|
||||
/*p:I(foo) p:foo.I(foo) p:kotlin(Unit)*/iii.foo()
|
||||
/*p:foo.I(a) p:kotlin(Int)*/ii.a
|
||||
/*p:foo.I(foo) p:kotlin(Unit)*/ii.foo()
|
||||
/*p:foo p:foo.Obj(b) p:kotlin(Int)*/Obj.b
|
||||
val iii = /*p:bar(bar) p:foo p:foo(I) p:foo(bar) p:foo.Obj(bar)*/Obj.bar()
|
||||
/*p:foo.I(foo) p:kotlin(Unit)*/iii.foo()
|
||||
|
||||
/*p:bar p:foo*/E.X
|
||||
/*p:E(a) p:bar p:foo p:foo.E(a) p:kotlin(Int)*/E.X.a
|
||||
/*p:E(foo) p:bar p:foo p:foo.E(foo) p:kotlin(Unit)*/E.Y.foo()
|
||||
/*p:bar p:foo p:foo.E(a) p:kotlin(Int)*/E.X.a
|
||||
/*p:bar p:foo p:foo.E(foo) p:kotlin(Unit)*/E.Y.foo()
|
||||
/*p:bar p:foo p:kotlin(Array)*/E.values()
|
||||
/*p:bar p:foo*/E.valueOf("")
|
||||
/*p:bar p:bar(foo) p:foo p:foo(foo)*/E.foo
|
||||
|
||||
+8
-8
@@ -6,13 +6,13 @@ package foo.bar
|
||||
na == a
|
||||
na == null
|
||||
|
||||
/*p:A(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a > b
|
||||
/*p:A(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a < b
|
||||
/*p:A(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a >= b
|
||||
/*p:A(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a <= b
|
||||
/*p:foo.bar.A(compareTo) p:kotlin(Int)*/a > b
|
||||
/*p:foo.bar.A(compareTo) p:kotlin(Int)*/a < b
|
||||
/*p:foo.bar.A(compareTo) p:kotlin(Int)*/a >= b
|
||||
/*p:foo.bar.A(compareTo) p:kotlin(Int)*/a <= b
|
||||
|
||||
/*p:A(compareTo) p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a > c
|
||||
/*p:A(compareTo) p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a < c
|
||||
/*p:A(compareTo) p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a >= c
|
||||
/*p:A(compareTo) p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a <= c
|
||||
/*p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a > c
|
||||
/*p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a < c
|
||||
/*p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a >= c
|
||||
/*p:foo.bar(compareTo) p:foo.bar.A(compareTo) p:kotlin(Int)*/a <= c
|
||||
}
|
||||
|
||||
+5
-5
@@ -20,11 +20,11 @@ package foo.bar
|
||||
}
|
||||
|
||||
|
||||
/*p:foo.bar*/val x1 by /*p:D1(getValue) p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:kotlin(Int) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(provideDelegate)*/D1()
|
||||
/*p:foo.bar*/var y1 by /*p:D1(getValue) p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar(setValue) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:foo.bar.D1(setValue) p:kotlin(Int) p:kotlin(Unit) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(provideDelegate) p:kotlin.reflect(setValue)*/D1()
|
||||
/*p:foo.bar*/val x1 by /*p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:kotlin(Int) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(provideDelegate)*/D1()
|
||||
/*p:foo.bar*/var y1 by /*p:foo.bar p:foo.bar(D2) p:foo.bar(provideDelegate) p:foo.bar(setValue) p:foo.bar.D1(getValue) p:foo.bar.D1(provideDelegate) p:foo.bar.D1(setValue) p:kotlin(Int) p:kotlin(Unit) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(provideDelegate) p:kotlin.reflect(setValue)*/D1()
|
||||
|
||||
/*p:foo.bar*/val x2 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:kotlin(Int) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(getValue) p:kotlin.reflect(provideDelegate)*/D2()
|
||||
/*p:foo.bar*/var y2 by /*p:D2(setValue) p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:foo.bar.D2(setValue) p:kotlin(Int) p:kotlin(Unit) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(getValue) p:kotlin.reflect(provideDelegate)*/D2()
|
||||
/*p:foo.bar*/var y2 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar(provideDelegate) p:foo.bar.D2(getValue) p:foo.bar.D2(provideDelegate) p:foo.bar.D2(setValue) p:kotlin(Int) p:kotlin(Unit) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(getValue) p:kotlin.reflect(provideDelegate)*/D2()
|
||||
|
||||
/*p:foo.bar*/val x3 by /*p:D3(provideDelegate) p:foo.bar p:foo.bar(getValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:kotlin(Int) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(getValue)*/D3()
|
||||
/*p:foo.bar*/var y3 by /*p:D2(setValue) p:D3(provideDelegate) p:foo.bar p:foo.bar(getValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:foo.bar.D3(setValue) p:kotlin(Int) p:kotlin(Unit) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(getValue)*/D3()
|
||||
/*p:foo.bar*/val x3 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:kotlin(Int) p:kotlin.reflect p:kotlin.reflect(KProperty0) p:kotlin.reflect(getValue)*/D3()
|
||||
/*p:foo.bar*/var y3 by /*p:foo.bar p:foo.bar(getValue) p:foo.bar.D2(setValue) p:foo.bar.D3(getValue) p:foo.bar.D3(provideDelegate) p:foo.bar.D3(setValue) p:kotlin(Int) p:kotlin(Unit) p:kotlin.reflect p:kotlin.reflect(KMutableProperty0) p:kotlin.reflect(getValue)*/D3()
|
||||
|
||||
+6
-6
@@ -3,22 +3,22 @@ package foo.bar
|
||||
/*p:foo.bar*/fun testOperators(a: /*p:foo.bar*/A, b: /*p:foo.bar*/Int) {
|
||||
var d = a
|
||||
|
||||
d/*p:A(inc) p:foo.bar(A) p:foo.bar.A(inc)*/++
|
||||
/*p:A(inc) p:foo.bar(A) p:foo.bar.A(inc)*/++d
|
||||
d/*p:foo.bar(A) p:foo.bar.A(inc)*/++
|
||||
/*p:foo.bar(A) p:foo.bar.A(inc)*/++d
|
||||
d/*p:foo.bar(A) p:foo.bar(dec) p:foo.bar.A(dec)*/--
|
||||
/*p:foo.bar(A) p:foo.bar(dec) p:foo.bar.A(dec)*/--d
|
||||
|
||||
/*p:A(plus) p:foo.bar(A) p:foo.bar.A(plus)*/a + b
|
||||
/*p:foo.bar(A) p:foo.bar.A(plus)*/a + b
|
||||
/*p:foo.bar(A) p:foo.bar(minus) p:foo.bar.A(minus)*/a - b
|
||||
/*p:foo.bar(not) p:foo.bar.A(not) p:kotlin(Unit)*/!a
|
||||
|
||||
// for val
|
||||
/*p:A(timesAssign) p:foo.bar(times) p:foo.bar.A(times) p:foo.bar.A(timesAssign) p:kotlin(Unit)*/a *= b
|
||||
/*p:foo.bar(times) p:foo.bar.A(times) p:foo.bar.A(timesAssign) p:kotlin(Unit)*/a *= b
|
||||
/*p:foo.bar(div) p:foo.bar(divAssign) p:foo.bar.A(div) p:foo.bar.A(divAssign) p:kotlin(Unit)*/a /= b
|
||||
|
||||
// for var
|
||||
/*p:A(plus) p:foo.bar(A) p:foo.bar(plusAssign) p:foo.bar.A(plus) p:foo.bar.A(plusAssign)*/d += b
|
||||
/*p:foo.bar(A) p:foo.bar(plusAssign) p:foo.bar.A(plus) p:foo.bar.A(plusAssign)*/d += b
|
||||
/*p:foo.bar(A) p:foo.bar(minus) p:foo.bar(minusAssign) p:foo.bar.A(minus) p:foo.bar.A(minusAssign)*/d -= b
|
||||
/*p:A(timesAssign) p:foo.bar(times) p:foo.bar.A(times) p:foo.bar.A(timesAssign) p:kotlin(Unit)*/d *= b
|
||||
/*p:foo.bar(times) p:foo.bar.A(times) p:foo.bar.A(timesAssign) p:kotlin(Unit)*/d *= b
|
||||
/*p:foo.bar(div) p:foo.bar(divAssign) p:foo.bar.A(div) p:foo.bar.A(divAssign) p:kotlin(Unit)*/d /= b
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package foo.bar
|
||||
|
||||
/*p:foo.bar*/fun testOther(a: /*p:foo.bar*/A, b: /*p:foo.bar*/Int, c: /*p:foo.bar*/Any, na: /*p:foo.bar*/A?) {
|
||||
/*p:foo.bar(set) p:foo.bar.A(set) p:kotlin(Unit)*/a[1] = /*p:A(get) p:foo.bar.A(get) p:kotlin(Int)*/a[2]
|
||||
/*p:foo.bar(set) p:foo.bar.A(set) p:kotlin(Unit)*/a[1] = /*p:foo.bar.A(get) p:kotlin(Int)*/a[2]
|
||||
|
||||
/*p:A(contains) p:foo.bar.A(contains) p:kotlin(Boolean)*/b in a
|
||||
/*p:A(contains) p:Boolean(not) p:foo.bar(contains) p:foo.bar.A(contains) p:kotlin(Boolean) p:kotlin.Boolean(not)*/"s" !in a
|
||||
/*p:foo.bar.A(contains) p:kotlin(Boolean)*/b in a
|
||||
/*p:foo.bar(contains) p:foo.bar.A(contains) p:kotlin(Boolean) p:kotlin.Boolean(not)*/"s" !in a
|
||||
|
||||
/*p:A(invoke) p:foo.bar(A) p:foo.bar.A(invoke) p:kotlin(Unit)*/a()
|
||||
/*p:A(invoke) p:foo.bar p:foo.bar(A) p:foo.bar(invoke) p:foo.bar.A(invoke) p:kotlin(Unit)*/a(1)
|
||||
/*p:foo.bar(A) p:foo.bar.A(invoke) p:kotlin(Unit)*/a()
|
||||
/*p:foo.bar p:foo.bar(A) p:foo.bar(invoke) p:foo.bar.A(invoke) p:kotlin(Unit)*/a(1)
|
||||
|
||||
val (/*p:A(component1) p:foo.bar(A) p:foo.bar.A(component1)*/h, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/t) = a;
|
||||
val (/*p:foo.bar(A) p:foo.bar.A(component1)*/h, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/t) = a;
|
||||
|
||||
for ((/*p:A(component1) p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:A(iterator) p:A(next) p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next) p:kotlin(Boolean)*/a);
|
||||
for ((/*p:A(component1) p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:A(iterator) p:A(next) p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar(iterator) p:foo.bar.A(hasNext) p:foo.bar.A(next) p:foo.bar.A?(iterator) p:kotlin(Boolean)*/na);
|
||||
for ((/*p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next) p:kotlin(Boolean)*/a);
|
||||
for ((/*p:foo.bar(A) p:foo.bar.A(component1)*/f, /*p:foo.bar(A) p:foo.bar(component2) p:foo.bar.A(component2)*/s) in /*p:foo.bar(A) p:foo.bar(hasNext) p:foo.bar(iterator) p:foo.bar.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next) p:foo.bar.A?(iterator) p:kotlin(Boolean)*/na);
|
||||
}
|
||||
|
||||
+2
-2
@@ -5,11 +5,11 @@ package foo
|
||||
/*p:foo*/fun <T> identity(): (/*p:foo*/T) -> /*p:foo*/T = null as (/*p:foo*/T) -> /*p:foo*/T
|
||||
|
||||
/*p:foo*/fun <T> compute(f: () -> /*p:foo*/T) {
|
||||
val result = /*p:Function0(invoke) p:kotlin(Function0) p:kotlin.Function0<T>(invoke)*/f()
|
||||
val result = /*p:kotlin(Function0) p:kotlin.Function0(invoke) p:kotlin.Function0<T>(invoke)*/f()
|
||||
}
|
||||
|
||||
/*p:foo*/class Bar<T>(val t: /*p:foo*/T) {
|
||||
init {
|
||||
val a = /*p:Bar p:foo.Bar<T>*/t
|
||||
val a = /*p:foo.Bar p:foo.Bar<T>*/t
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -5,5 +5,5 @@ package foo
|
||||
inner class B
|
||||
}
|
||||
|
||||
val b = /*p:A.B(B)*/A().B()
|
||||
val b = A().B()
|
||||
}
|
||||
@@ -6,10 +6,10 @@ import baz.*
|
||||
/*p:foo*/fun usages() {
|
||||
val c = /*p:bar*/C()
|
||||
|
||||
/*p:C(field) p:bar.C(field) p:kotlin(Int)*/c.field
|
||||
/*p:C(field) p:bar.C(field) p:kotlin(Int)*/c.field = 2
|
||||
/*p:C(func) p:bar.C(func) p:kotlin(Unit)*/c.func()
|
||||
/*p:C.B(B) p:bar(B) p:bar.C(B)*/c.B()
|
||||
/*p:bar.C(field) p:kotlin(Int)*/c.field
|
||||
/*p:bar.C(field) p:kotlin(Int)*/c.field = 2
|
||||
/*p:bar.C(func) p:kotlin(Unit)*/c.func()
|
||||
/*p:bar(B) p:bar.C(B) p:bar.C.B(B)*/c.B()
|
||||
|
||||
/*p:bar p:baz p:foo*/C.sfield
|
||||
/*p:bar p:baz p:foo*/C.sfield = "new"
|
||||
@@ -17,21 +17,21 @@ import baz.*
|
||||
/*p:bar p:bar(S) p:baz p:foo*/C.S()
|
||||
|
||||
// inherited from I
|
||||
/*p:C(ifunc) p:bar.C(ifunc) p:kotlin(Unit)*/c.ifunc()
|
||||
/*p:bar.C(ifunc) p:kotlin(Unit)*/c.ifunc()
|
||||
/*p:bar p:baz p:foo*/C.isfield
|
||||
// expected error: Unresolved reference: IS
|
||||
/*p:bar p:bar(IS) p:baz p:baz(IS) p:foo p:foo(IS)*/C.IS()
|
||||
|
||||
|
||||
val i: /*p:bar p:baz p:foo*/I = c
|
||||
/*p:I(ifunc) p:foo.I(ifunc) p:kotlin(Unit)*/i.ifunc()
|
||||
/*p:foo.I(ifunc) p:kotlin(Unit)*/i.ifunc()
|
||||
|
||||
/*p:bar p:baz p:foo*/I.isfield
|
||||
/*p:bar p:baz p:foo p:foo(IS)*/I.IS()
|
||||
|
||||
/*p:bar p:baz p:foo*/E.F
|
||||
/*p:E(field) p:bar p:baz p:baz.E(field) p:foo p:kotlin(Int)*/E.F.field
|
||||
/*p:E(func) p:bar p:baz p:baz.E(func) p:foo p:kotlin(Unit)*/E.S.func()
|
||||
/*p:bar p:baz p:baz.E(field) p:foo p:kotlin(Int)*/E.F.field
|
||||
/*p:bar p:baz p:baz.E(func) p:foo p:kotlin(Unit)*/E.S.func()
|
||||
}
|
||||
|
||||
fun classifiers(
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package foo
|
||||
|
||||
/*p:foo(A)*/open class A {
|
||||
/*p:kotlin.jvm(JvmName)*/@/*p:foo*/JvmName("g")
|
||||
fun f() {}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package foo
|
||||
|
||||
/*p:foo(A)*/open class A {
|
||||
/*p:kotlin.jvm(JvmName)*/@/*p:foo*/JvmName("h")
|
||||
fun f() {}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
/*p:foo*/class AChild : /*p:foo*/A()
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
==== INITIAL BUILD ====
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
src/AChild.kt
|
||||
src/useAChild.kt
|
||||
Exit code: OK
|
||||
|
||||
==== STEP 1 ====
|
||||
Compiling files:
|
||||
src/A.kt
|
||||
Exit code: OK
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
/*p:foo*/fun useAChild(a: /*p:foo*/AChild) {
|
||||
/*p:foo.A(f) p:foo.AChild(f) p:kotlin(Unit)*/a.f()
|
||||
}
|
||||
+3
-3
@@ -3,7 +3,7 @@ package local.declarations
|
||||
import bar.*
|
||||
|
||||
/*p:local.declarations*/fun f(p: /*p:bar p:local.declarations*/Any) {
|
||||
/*p:Any(toString) p:kotlin(String) p:kotlin.Any(toString)*/p.toString()
|
||||
/*p:kotlin(String) p:kotlin.Any(toString)*/p.toString()
|
||||
|
||||
val a = 1
|
||||
val b = a
|
||||
@@ -43,7 +43,7 @@ import bar.*
|
||||
/*p:kotlin(Int)*/i.a
|
||||
/*p:kotlin(Unit)*/i.foo()
|
||||
|
||||
/*p:<anonymous>(a) p:kotlin(String)*/o.a
|
||||
val ii = /*p:<anonymous>(foo)*/o.foo()
|
||||
/*p:kotlin(String)*/o.a
|
||||
val ii = o.foo()
|
||||
/*p:kotlin(Int)*/ii.a
|
||||
}
|
||||
|
||||
+4
-4
@@ -17,10 +17,10 @@ package foo.bar
|
||||
/*p:JavaClass(bazBaz) p:kotlin(Int)*/j.bazBaz = ""
|
||||
/*p:JavaClass(setBoo) p:kotlin(Unit)*/j.setBoo(2)
|
||||
/*p:<root>(boo) p:JavaClass(boo) p:foo(boo) p:foo.bar(boo)*/j.boo = 2
|
||||
/*p:KotlinClass(getFoo) p:foo.KotlinClass(getFoo) p:kotlin(Int)*/k.getFoo() // getFoo may be an inner class in JavaClass
|
||||
/*p:KotlinClass(setFoo) p:foo.KotlinClass(setFoo) p:kotlin(Unit)*/k.setFoo(2)
|
||||
/*p:KotlinClass(foo) p:foo.KotlinClass(foo) p:kotlin(Int)*/k.foo = 2
|
||||
/*p:KotlinClass(foo) p:foo.KotlinClass(foo) p:kotlin(Int)*/k.foo
|
||||
/*p:foo.KotlinClass(getFoo) p:kotlin(Int)*/k.getFoo() // getFoo may be an inner class in JavaClass
|
||||
/*p:foo.KotlinClass(setFoo) p:kotlin(Unit)*/k.setFoo(2)
|
||||
/*p:foo.KotlinClass(foo) p:kotlin(Int)*/k.foo = 2
|
||||
/*p:foo.KotlinClass(foo) p:kotlin(Int)*/k.foo
|
||||
/*p:JavaClass(bar) p:foo.KotlinClass(bar)*/k.bar
|
||||
/*p:JavaClass(bar) p:foo.KotlinClass(bar)*/k.bar = ""
|
||||
/*p:JavaClass(bazBaz) p:foo.KotlinClass(bazBaz) p:kotlin(Int)*/k.bazBaz
|
||||
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
|
||||
package top
|
||||
|
||||
/*p:top*/class Foo {
|
||||
val prop = 42
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package top
|
||||
|
||||
/*p:top(TypeAlias)*/typealias TypeAlias = /*p:top*/Foo
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
==== INITIAL BUILD ====
|
||||
Compiling files:
|
||||
src/Foo.kt
|
||||
src/TypeAlias.kt
|
||||
src/usage.kt
|
||||
Exit code: OK
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package top
|
||||
|
||||
/*p:top*/fun typeAliasUsage(a: /*p:top*/TypeAlias) {
|
||||
/*p:kotlin(Int) p:top.Foo(prop) p:top.TypeAlias(prop)*/a.prop
|
||||
}
|
||||
+14
-14
@@ -142,13 +142,6 @@ abstract class IncrementalCompilationJsMultiProjectIT : BaseIncrementalCompilati
|
||||
// `impactedClassInAppIsRecompiled = false` for Kotlin/JS (KT-56197 was fixed for Kotlin/JVM only)
|
||||
doTestLibClassBecameFinal(gradleVersion, impactedClassInAppIsRecompiled = false)
|
||||
}
|
||||
|
||||
@DisplayName("KT-56197: Change interface in lib which has subclass in app")
|
||||
@GradleTest
|
||||
override fun testChangeInterfaceInLib(gradleVersion: GradleVersion) {
|
||||
// `impactedClassInAppIsRecompiled = false` for Kotlin/JS (KT-56197 was fixed for Kotlin/JVM only)
|
||||
doTestChangeInterfaceInLib(gradleVersion, impactedClassInAppIsRecompiled = false)
|
||||
}
|
||||
}
|
||||
|
||||
@DisplayName("K/JS multi-project IC with disabled precise outputs backups")
|
||||
@@ -158,6 +151,13 @@ abstract class IncrementalCompilationJsMultiProjectWithoutPreciseBackupIT : Incr
|
||||
|
||||
class IncrementalCompilationK1JsMultiProject : IncrementalCompilationJsMultiProjectIT() {
|
||||
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||
|
||||
@DisplayName("KT-56197: Change interface in lib which has subclass in app")
|
||||
@GradleTest
|
||||
override fun testChangeInterfaceInLib(gradleVersion: GradleVersion) {
|
||||
// `impactedClassInAppIsRecompiled = false` for Kotlin/JS (KT-56197 was fixed for Kotlin/JVM only)
|
||||
doTestChangeInterfaceInLib(gradleVersion, impactedClassInAppIsRecompiled = false)
|
||||
}
|
||||
}
|
||||
|
||||
class IncrementalCompilationK2JsMultiProject : IncrementalCompilationJsMultiProjectIT() {
|
||||
@@ -171,6 +171,13 @@ class IncrementalCompilationK2JsMultiProject : IncrementalCompilationJsMultiProj
|
||||
|
||||
class IncrementalCompilationK1JsMultiProjectWithoutPreciseBackupIT : IncrementalCompilationJsMultiProjectWithoutPreciseBackupIT() {
|
||||
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||
|
||||
@DisplayName("KT-56197: Change interface in lib which has subclass in app")
|
||||
@GradleTest
|
||||
override fun testChangeInterfaceInLib(gradleVersion: GradleVersion) {
|
||||
// `impactedClassInAppIsRecompiled = false` for Kotlin/JS (KT-56197 was fixed for Kotlin/JVM only)
|
||||
doTestChangeInterfaceInLib(gradleVersion, impactedClassInAppIsRecompiled = false)
|
||||
}
|
||||
}
|
||||
|
||||
class IncrementalCompilationK2JsMultiProjectWithoutPreciseBackupIT : IncrementalCompilationJsMultiProjectWithoutPreciseBackupIT() {
|
||||
@@ -509,13 +516,6 @@ open class IncrementalCompilationOldICJvmMultiProjectIT : IncrementalCompilation
|
||||
// `impactedClassInAppIsRecompiled = false` for the old IC (KT-56197 was fixed for the new IC only)
|
||||
doTestLibClassBecameFinal(gradleVersion, impactedClassInAppIsRecompiled = false)
|
||||
}
|
||||
|
||||
@DisplayName("KT-56197: Change interface in lib which has subclass in app")
|
||||
@GradleTest
|
||||
override fun testChangeInterfaceInLib(gradleVersion: GradleVersion) {
|
||||
// `impactedClassInAppIsRecompiled = false` for the old IC (KT-56197 was fixed for the new IC only)
|
||||
doTestChangeInterfaceInLib(gradleVersion, impactedClassInAppIsRecompiled = false)
|
||||
}
|
||||
}
|
||||
|
||||
@DisplayName("K/JVM multi-project IC with disabled precise outputs backups and disabled classpath snapshots")
|
||||
|
||||
Reference in New Issue
Block a user