K2 IC: fix classifiers lookups
in particular nested classifiers and companions. #KTIJ-24833 fixed #KTIJ-24830 fixed #KT-55195 fixed
This commit is contained in:
committed by
Space Team
parent
a823bfd600
commit
39b05a0a1c
+2
-2
@@ -2,6 +2,6 @@ package foo
|
||||
|
||||
import bar.*
|
||||
|
||||
/*p:foo*/fun <T : /*p:bar p:foo*/A?, B : /*p:bar p:foo*/Iterable</*p:bar p:foo*/Number>, C, D> test()
|
||||
where C : /*p:bar p:foo*/Number, C : /*p:bar p:foo*/Comparable</*p:bar p:foo*/Number>, D : /*p:bar p:foo*/B
|
||||
/*p:foo*/fun <T : /*p:bar p:foo*/A?, B : /*p:bar p:foo p:kotlin(Number) p:kotlin.collections*/Iterable</*p:bar p:foo p:kotlin*/Number>, C, D> test()
|
||||
where C : /*p:bar p:foo p:kotlin*/Number, C : /*p:bar p:foo p:kotlin p:kotlin(Number)*/Comparable</*p:bar p:foo p:kotlin*/Number>, D : /*p:bar p:foo*/B
|
||||
{}
|
||||
|
||||
+6
-6
@@ -6,10 +6,10 @@ import bar.*
|
||||
val a = 1
|
||||
var b = ""
|
||||
|
||||
val c: /*p:bar p:foo*/String
|
||||
val c: /*p:bar p:foo p:foo.A*/String
|
||||
get() = /*p:foo.A*/b
|
||||
|
||||
var d: /*p:bar p:foo*/String = "ddd"
|
||||
var d: /*p:bar p:foo p:foo.A*/String = "ddd"
|
||||
get() = field
|
||||
set(v) { field = v }
|
||||
|
||||
@@ -27,7 +27,7 @@ import bar.*
|
||||
val a = 1
|
||||
|
||||
companion object CO {
|
||||
fun bar(a: /*p:bar p:foo*/Int) {}
|
||||
fun bar(a: /*p:bar p:foo p:foo.A p:foo.A.B*/Int) {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ import bar.*
|
||||
}
|
||||
|
||||
/*p:foo*/interface I {
|
||||
var a: /*p:bar p:foo*/Int
|
||||
var a: /*p:bar p:foo p:foo.I*/Int
|
||||
fun foo()
|
||||
|
||||
class NI
|
||||
@@ -64,8 +64,8 @@ import bar.*
|
||||
val a = 1
|
||||
fun foo() {
|
||||
/*p:foo.E*/a
|
||||
/*p:bar p:foo p:foo.E p:foo.E(a) p:kotlin.Enum p:kotlin.Enum.Companion*/Y.a
|
||||
/*p:bar p:foo p:foo(E) p:foo.E p:foo.E(a) p:kotlin(Enum) p:kotlin.Enum p:kotlin.Enum(Companion) p:kotlin.Enum.Companion*/Y.a
|
||||
/*p:foo.E*/foo()
|
||||
/*p:bar p:foo p:foo.E p:foo.E(foo) p:kotlin.Enum p:kotlin.Enum.Companion*/X.foo()
|
||||
/*p:bar p:foo p:foo(E) p:foo.E p:foo.E(foo) p:kotlin(Enum) p:kotlin.Enum p:kotlin.Enum(Companion) p:kotlin.Enum.Companion*/X.foo()
|
||||
}
|
||||
}
|
||||
|
||||
+27
-27
@@ -8,43 +8,43 @@ import bar.*
|
||||
/*p:foo p:foo.A(c)*/A().c
|
||||
/*p:foo p:foo.A(d)*/A().d = "new value"
|
||||
/*p:foo p:foo.A(foo)*/A().foo()
|
||||
/*p:foo p:foo.A.B(a)*/A.B().a
|
||||
/*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar)*/A.B.bar(1)
|
||||
/*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar)*/A.B.CO.bar(1)
|
||||
/*p:foo*/A
|
||||
/*p:foo p:foo.A(a) p:foo.A.Companion(a)*/A.a
|
||||
/*p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz)*/A.baz()
|
||||
/*p:foo*/A.Companion
|
||||
/*p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz)*/A.Companion.baz()
|
||||
/*p:foo*/A.O
|
||||
/*p:foo p:foo.A.O(v)*/A.O.v = "OK"
|
||||
/*p:bar p:foo p:foo.A(B) p:foo.A(Companion) p:foo.A.B(a)*/A.B().a
|
||||
/*p:bar p:bar(bar) p:foo p:foo(bar) p:foo.A(B) p:foo.A(Companion) p:foo.A.B(CO) p:foo.A.B(bar) p:foo.A.B.CO(bar)*/A./*p:foo.A.B(CO)*/B.bar(1)
|
||||
/*p:bar p:bar(bar) p:foo p:foo(bar) p:foo.A(B) p:foo.A(Companion) p:foo.A.B(CO) p:foo.A.B.CO(bar)*/A./*p:foo.A.B(CO)*/B./*p:foo.A.B*/CO.bar(1)
|
||||
/*p:foo p:foo.A(Companion)*/A
|
||||
/*p:bar p:foo p:foo.A(Companion) p:foo.A(a) p:foo.A.Companion(a)*/A.a
|
||||
/*p:bar p:bar(baz) p:foo p:foo(baz) p:foo.A(Companion) p:foo.A(baz) p:foo.A.Companion(baz)*/A.baz()
|
||||
/*p:bar p:foo p:foo.A(Companion)*/A./*p:foo.A*/Companion
|
||||
/*p:bar p:bar(baz) p:foo p:foo(baz) p:foo.A(Companion) p:foo.A(baz) p:foo.A.Companion(baz)*/A./*p:foo.A*/Companion.baz()
|
||||
/*p:bar p:foo p:foo.A(Companion) p:foo.A(O)*/A./*p:foo.A*/O
|
||||
/*p:bar p:foo p:foo.A(Companion) p:foo.A(O) p:foo.A.O(v)*/A./*p:foo.A*/O.v = "OK"
|
||||
|
||||
/*p:foo.I(a)*/i.a = 2
|
||||
/*p:foo p:foo.Obj(a)*/Obj.a
|
||||
/*p:bar(foo) p:foo p:foo(foo) p:foo.Obj(foo)*/Obj.foo()
|
||||
/*p:foo(I) p:foo.I(a)*/i.a = 2
|
||||
/*p:bar p:foo p:foo.Obj(a)*/Obj.a
|
||||
/*p:bar p:bar(foo) p:foo p:foo(foo) p:foo.Obj(foo)*/Obj.foo()
|
||||
var ii: /*p:bar p:foo*/I = /*p:foo*/Obj
|
||||
/*p:foo.I(a)*/ii.a
|
||||
/*p:foo.I(foo)*/ii.foo()
|
||||
/*p:foo p:foo.Obj(b)*/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)*/iii.foo()
|
||||
/*p:foo(I) p:foo.I(a)*/ii.a
|
||||
/*p:foo(I) p:foo.I(foo)*/ii.foo()
|
||||
/*p:bar p:foo p:foo.Obj(b)*/Obj.b
|
||||
val iii = /*p:bar p:bar(bar) p:foo p:foo(I) p:foo(bar) p:foo.Obj(bar)*/Obj.bar()
|
||||
/*p:foo(I) p:foo.I(foo)*/iii.foo()
|
||||
|
||||
/*p:bar p:foo p:foo.E(X)*/E.X
|
||||
/*p:bar p:foo p:foo.E(X) p:foo.E(a)*/E.X.a
|
||||
/*p:bar p:foo p:foo.E(Y) p:foo.E(foo)*/E.Y.foo()
|
||||
/*p:bar p:foo p:foo.E(X)*/E./*p:foo(E)*/X
|
||||
/*p:bar p:foo p:foo.E(X) p:foo.E(a)*/E./*p:foo(E)*/X.a
|
||||
/*p:bar p:foo p:foo.E(Y) p:foo.E(foo)*/E./*p:foo(E)*/Y.foo()
|
||||
/*p:bar p:foo p:foo.E(values) p:kotlin(Array)*/E.values()
|
||||
/*p:bar p:foo p:foo.E(valueOf)*/E.valueOf("")
|
||||
}
|
||||
|
||||
/*p:foo*/fun classifiers(
|
||||
a: /*p:bar p:foo*/A,
|
||||
ab: /*p:bar p:foo*/A.B,
|
||||
ac: /*p:bar p:foo*/A.C,
|
||||
abCo: /*p:bar p:foo*/A.B.CO,
|
||||
aCompanion: /*p:bar p:foo*/A.Companion,
|
||||
aO: /*p:bar p:foo*/A.O,
|
||||
ab: /*p:bar p:bar.A(B) p:foo p:foo.A(B)*/A.B,
|
||||
ac: /*p:bar p:bar.A(C) p:foo p:foo.A(C)*/A.C,
|
||||
abCo: /*p:bar p:bar.A(B) p:bar.A.B(CO) p:foo p:foo.A(B) p:foo.A.B(CO)*/A.B.CO,
|
||||
aCompanion: /*p:bar p:bar.A(Companion) p:foo p:foo.A(Companion)*/A.Companion,
|
||||
aO: /*p:bar p:bar.A(O) p:foo p:foo.A(O)*/A.O,
|
||||
i: /*p:bar p:foo*/I,
|
||||
ni: /*p:bar p:foo*/I.NI,
|
||||
ni: /*p:bar p:bar.I(NI) p:foo p:foo.I(NI)*/I.NI,
|
||||
obj: /*p:bar p:foo*/Obj,
|
||||
e: /*p:bar p:foo*/E
|
||||
) {}
|
||||
|
||||
+29
-29
@@ -8,32 +8,32 @@ import bar.*
|
||||
/*p:foo p:foo.A(c)*/A().c
|
||||
/*p:foo p:foo.A(d)*/A().d = "new value"
|
||||
/*p:foo p:foo.A(foo)*/A().foo()
|
||||
/*p:foo p:foo.A.B(a)*/A.B().a
|
||||
/*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar)*/A.B.bar(1)
|
||||
/*p:bar(bar) p:foo p:foo(bar) p:foo.A.B.CO(bar)*/A.B.CO.bar(1)
|
||||
/*p:foo*/A
|
||||
/*p:foo p:foo.A(a) p:foo.A.Companion(a)*/A.a
|
||||
/*p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz)*/A.baz()
|
||||
/*p:foo*/A.Companion
|
||||
/*p:bar(baz) p:foo p:foo(baz) p:foo.A(baz) p:foo.A.Companion(baz)*/A.Companion.baz()
|
||||
/*p:foo*/A.O
|
||||
/*p:foo p:foo.A.O(v)*/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:bar p:foo p:foo.A(B) p:foo.A(Companion) p:foo.A.B(a)*/A.B().a
|
||||
/*p:bar p:bar(bar) p:foo p:foo(bar) p:foo.A(B) p:foo.A(Companion) p:foo.A.B(CO) p:foo.A.B(bar) p:foo.A.B.CO(bar)*/A./*p:foo.A.B(CO)*/B.bar(1)
|
||||
/*p:bar p:bar(bar) p:foo p:foo(bar) p:foo.A(B) p:foo.A(Companion) p:foo.A.B(CO) p:foo.A.B.CO(bar)*/A./*p:foo.A.B(CO)*/B./*p:foo.A.B*/CO.bar(1)
|
||||
/*p:foo p:foo.A(Companion)*/A
|
||||
/*p:bar p:foo p:foo.A(Companion) p:foo.A(a) p:foo.A.Companion(a)*/A.a
|
||||
/*p:bar p:bar(baz) p:foo p:foo(baz) p:foo.A(Companion) p:foo.A(baz) p:foo.A.Companion(baz)*/A.baz()
|
||||
/*p:bar p:foo p:foo.A(Companion)*/A./*p:foo.A*/Companion
|
||||
/*p:bar p:bar(baz) p:foo p:foo(baz) p:foo.A(Companion) p:foo.A(baz) p:foo.A.Companion(baz)*/A./*p:foo.A*/Companion.baz()
|
||||
/*p:bar p:foo p:foo.A(Companion) p:foo.A(O)*/A./*p:foo.A*/O
|
||||
/*p:bar p:foo p:foo.A(Companion) p:foo.A(O) p:foo.A.O(v)*/A./*p:foo.A*/O.v = "OK"
|
||||
/*p:bar p:bar(vala) p:foo p:foo(vala) p:foo.A(Companion) p:foo.A(vala) p:foo.A.Companion(vala)*/A.vala
|
||||
/*p:bar p:bar(vara) p:foo p:foo(vara) p:foo.A(Companion) p:foo.A(vara) p:foo.A.Companion(vara)*/A.vara()
|
||||
|
||||
/*p:foo.I(a)*/i.a = 2
|
||||
/*p:foo p:foo.Obj(a)*/Obj.a
|
||||
/*p:bar(foo) p:foo p:foo(foo) p:foo.Obj(foo)*/Obj.foo()
|
||||
/*p:foo(I) p:foo.I(a)*/i.a = 2
|
||||
/*p:bar p:foo p:foo.Obj(a)*/Obj.a
|
||||
/*p:bar p:bar(foo) p:foo p:foo(foo) p:foo.Obj(foo)*/Obj.foo()
|
||||
var ii: /*p:bar p:foo*/I = /*p:foo*/Obj
|
||||
/*p:foo.I(a)*/ii.a
|
||||
/*p:foo.I(foo)*/ii.foo()
|
||||
/*p:foo p:foo.Obj(b)*/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)*/iii.foo()
|
||||
/*p:foo(I) p:foo.I(a)*/ii.a
|
||||
/*p:foo(I) p:foo.I(foo)*/ii.foo()
|
||||
/*p:bar p:foo p:foo.Obj(b)*/Obj.b
|
||||
val iii = /*p:bar p:bar(bar) p:foo p:foo(I) p:foo(bar) p:foo.Obj(bar)*/Obj.bar()
|
||||
/*p:foo(I) p:foo.I(foo)*/iii.foo()
|
||||
|
||||
/*p:bar p:foo p:foo.E(X)*/E.X
|
||||
/*p:bar p:foo p:foo.E(X) p:foo.E(a)*/E.X.a
|
||||
/*p:bar p:foo p:foo.E(Y) p:foo.E(foo)*/E.Y.foo()
|
||||
/*p:bar p:foo p:foo.E(X)*/E./*p:foo(E)*/X
|
||||
/*p:bar p:foo p:foo.E(X) p:foo.E(a)*/E./*p:foo(E)*/X.a
|
||||
/*p:bar p:foo p:foo.E(Y) p:foo.E(foo)*/E./*p:foo(E)*/Y.foo()
|
||||
/*p:bar p:foo p:foo.E(values) p:kotlin(Array)*/E.values()
|
||||
/*p:bar p:foo p:foo.E(valueOf)*/E.valueOf("")
|
||||
/*p:bar p:bar(foo) p:foo p:foo(foo) p:foo.E(foo)*/E.foo
|
||||
@@ -42,13 +42,13 @@ import bar.*
|
||||
|
||||
/*p:foo*/fun classifiers(
|
||||
a: /*p:bar p:foo*/A,
|
||||
ab: /*p:bar p:foo*/A.B,
|
||||
ac: /*p:bar p:foo*/A.C,
|
||||
abCo: /*p:bar p:foo*/A.B.CO,
|
||||
aCompanion: /*p:bar p:foo*/A.Companion,
|
||||
aO: /*p:bar p:foo*/A.O,
|
||||
ab: /*p:bar p:bar.A(B) p:foo p:foo.A(B)*/A.B,
|
||||
ac: /*p:bar p:bar.A(C) p:foo p:foo.A(C)*/A.C,
|
||||
abCo: /*p:bar p:bar.A(B) p:bar.A.B(CO) p:foo p:foo.A(B) p:foo.A.B(CO)*/A.B.CO,
|
||||
aCompanion: /*p:bar p:bar.A(Companion) p:foo p:foo.A(Companion)*/A.Companion,
|
||||
aO: /*p:bar p:bar.A(O) p:foo p:foo.A(O)*/A.O,
|
||||
i: /*p:bar p:foo*/I,
|
||||
ni: /*p:bar p:foo*/I.NI,
|
||||
ni: /*p:bar p:bar.I(NI) p:foo p:foo.I(NI)*/I.NI,
|
||||
obj: /*p:bar p:foo*/Obj,
|
||||
e: /*p:bar p:foo*/E
|
||||
) {}
|
||||
|
||||
+12
-12
@@ -1,18 +1,18 @@
|
||||
package foo.bar
|
||||
|
||||
/*p:foo.bar*/fun testComparisons(a: /*p:foo.bar*/A, b: /*p:foo.bar*/Int, c: /*p:foo.bar*/Any, na: /*p:foo.bar*/A?) {
|
||||
a == c
|
||||
a != c
|
||||
na == a
|
||||
na == null
|
||||
/*p:foo.bar(A)*/a == c
|
||||
/*p:foo.bar(A)*/a != c
|
||||
/*p:foo.bar(A)*/na == /*p:foo.bar(A)*/a
|
||||
/*p:foo.bar(A)*/na == null
|
||||
|
||||
/*p:foo.bar.A(compareTo)*/a > b
|
||||
/*p:foo.bar.A(compareTo)*/a < b
|
||||
/*p:foo.bar.A(compareTo)*/a >= b
|
||||
/*p:foo.bar.A(compareTo)*/a <= b
|
||||
/*p:foo.bar(A) p:foo.bar.A(compareTo)*/a > b
|
||||
/*p:foo.bar(A) p:foo.bar.A(compareTo)*/a < b
|
||||
/*p:foo.bar(A) p:foo.bar.A(compareTo)*/a >= b
|
||||
/*p:foo.bar(A) p:foo.bar.A(compareTo)*/a <= b
|
||||
|
||||
/*p:foo.bar(compareTo) p:foo.bar.A(compareTo)*/a > c
|
||||
/*p:foo.bar(compareTo) p:foo.bar.A(compareTo)*/a < c
|
||||
/*p:foo.bar(compareTo) p:foo.bar.A(compareTo)*/a >= c
|
||||
/*p:foo.bar(compareTo) p:foo.bar.A(compareTo)*/a <= c
|
||||
/*p:foo.bar(A) p:foo.bar(compareTo) p:foo.bar.A(compareTo)*/a > c
|
||||
/*p:foo.bar(A) p:foo.bar(compareTo) p:foo.bar.A(compareTo)*/a < c
|
||||
/*p:foo.bar(A) p:foo.bar(compareTo) p:foo.bar.A(compareTo)*/a >= c
|
||||
/*p:foo.bar(A) p:foo.bar(compareTo) p:foo.bar.A(compareTo)*/a <= c
|
||||
}
|
||||
|
||||
+4
-4
@@ -3,16 +3,16 @@ package foo.bar
|
||||
/*p:kotlin.reflect(KProperty)*/import kotlin.reflect.KProperty
|
||||
|
||||
/*p:foo.bar*/class D1 {
|
||||
operator fun getValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar*/KProperty<*>) = 1
|
||||
operator fun getValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar p:kotlin.reflect*/KProperty<*>) = 1
|
||||
}
|
||||
|
||||
/*p:foo.bar*/operator fun /*p:foo.bar*/D1.setValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar*/KProperty<*>, v: /*p:foo.bar*/Int) {}
|
||||
/*p:foo.bar*/operator fun /*p:foo.bar*/D1.setValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar p:kotlin.reflect*/KProperty<*>, v: /*p:foo.bar*/Int) {}
|
||||
|
||||
/*p:foo.bar(D2)*/open class D2 {
|
||||
operator fun setValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar*/KProperty<*>, v: /*p:foo.bar*/Int) {}
|
||||
operator fun setValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar p:kotlin.reflect*/KProperty<*>, v: /*p:foo.bar*/Int) {}
|
||||
}
|
||||
|
||||
/*p:foo.bar*/operator fun /*p:foo.bar*/D2.getValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar*/KProperty<*>) = 1
|
||||
/*p:foo.bar*/operator fun /*p:foo.bar*/D2.getValue(t: /*p:foo.bar*/Any?, p: /*p:foo.bar p:kotlin.reflect*/KProperty<*>) = 1
|
||||
/*p:foo.bar*/operator fun /*p:foo.bar*/D2.provideDelegate(p: /*p:foo.bar*/Any?, k: /*p:foo.bar*/Any) = this
|
||||
|
||||
/*p:foo.bar*/class D3 : /*p:foo.bar*/D2() {
|
||||
|
||||
+10
-10
@@ -1,24 +1,24 @@
|
||||
package foo.bar
|
||||
|
||||
/*p:foo.bar*/fun testOperators(a: /*p:foo.bar*/A, b: /*p:foo.bar*/Int) {
|
||||
var d = a
|
||||
var d = /*p:foo.bar(A)*/a
|
||||
|
||||
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:foo.bar(A)*/d/*p:foo.bar(A) p:foo.bar.A(inc)*/++
|
||||
/*p:foo.bar(A) p:foo.bar.A(inc)*/++/*p:foo.bar(A)*/d
|
||||
/*p:foo.bar(A)*/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)*/--/*p:foo.bar(A)*/d
|
||||
|
||||
/*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)*/!a
|
||||
/*p:foo.bar(not) p:foo.bar.A(not)*/!/*p:foo.bar(A)*/a
|
||||
|
||||
// for val
|
||||
/*p:foo.bar(times) p:foo.bar.A(times) p:foo.bar.A(timesAssign)*/a *= b
|
||||
/*p:foo.bar(div) p:foo.bar(divAssign) p:foo.bar.A(div) p:foo.bar.A(divAssign)*/a /= b
|
||||
/*p:foo.bar(A) p:foo.bar(times) p:foo.bar.A(times) p:foo.bar.A(timesAssign)*/a *= b
|
||||
/*p:foo.bar(A) p:foo.bar(div) p:foo.bar(divAssign) p:foo.bar.A(div) p:foo.bar.A(divAssign)*/a /= b
|
||||
|
||||
// for var
|
||||
/*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:foo.bar(times) p:foo.bar.A(times) p:foo.bar.A(timesAssign)*/d *= b
|
||||
/*p:foo.bar(div) p:foo.bar(divAssign) p:foo.bar.A(div) p:foo.bar.A(divAssign)*/d /= b
|
||||
/*p:foo.bar(A) p:foo.bar(times) p:foo.bar.A(times) p:foo.bar.A(timesAssign)*/d *= b
|
||||
/*p:foo.bar(A) p:foo.bar(div) p:foo.bar(divAssign) p:foo.bar.A(div) p:foo.bar.A(divAssign)*/d /= b
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,15 +1,15 @@
|
||||
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)*/a[1] = /*p:foo.bar.A(get)*/a[2]
|
||||
/*p:foo.bar(A) p:foo.bar(set) p:foo.bar.A(set)*/a[1] = /*p:foo.bar(A) p:foo.bar.A(get)*/a[2]
|
||||
|
||||
/*p:foo.bar.A(contains)*/b in a
|
||||
/*p:foo.bar(contains) p:foo.bar.A(contains) p:kotlin.Boolean(not)*/"s" !in a
|
||||
/*p:foo.bar.A(contains)*/b in /*p:foo.bar(A)*/a
|
||||
/*p:foo.bar(contains) p:foo.bar.A(contains) p:kotlin.Boolean(not)*/"s" !in /*p:foo.bar(A)*/a
|
||||
|
||||
/*p:foo.bar(A) p:foo.bar.A(invoke)*/a()
|
||||
/*p:foo.bar p:foo.bar(A) p:foo.bar(invoke) p:foo.bar.A(invoke)*/a(1)
|
||||
|
||||
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;
|
||||
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) = /*p:foo.bar(A)*/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.A(hasNext) p:foo.bar.A(iterator) p:foo.bar.A(next)*/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)*/na);
|
||||
|
||||
+2
-2
@@ -2,9 +2,9 @@ package foo
|
||||
|
||||
// From KT-10772 Problem with daemon on Idea 15.0.3 & 1-dev-25
|
||||
|
||||
/*p:foo*/fun <T> identity(): (/*p:foo*/T) -> /*p:foo*/T = null as (/*p:foo*/T) -> /*p:foo*/T
|
||||
/*p:foo*/fun <T> identity(): /*p:kotlin(Function1)*/(/*p:foo*/T) -> /*p:foo*/T = null as /*p:kotlin(Function1)*/(/*p:foo*/T) -> /*p:foo*/T
|
||||
|
||||
/*p:foo*/fun <T> compute(f: () -> /*p:foo*/T) {
|
||||
/*p:foo*/fun <T> compute(f: /*p:kotlin(Function0)*/() -> /*p:foo*/T) {
|
||||
val result = /*p:kotlin(Function0) p:kotlin.Function0(invoke)*/f()
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -9,8 +9,8 @@ package foo
|
||||
/*p:foo*/fun getListOfA() = /*p:foo p:foo(A) p:kotlin.collections(List)*/listOf(/*p:foo*/A())
|
||||
/*p:foo*/fun getListOfB() = /*p:foo p:foo(B) p:kotlin.collections(List)*/listOf(/*p:foo*/B())
|
||||
|
||||
/*p:foo*/fun useListOfA(a: /*p:foo*/List</*p:foo*/A>) {}
|
||||
/*p:foo*/fun useListOfB(b: /*p:foo*/List</*p:foo*/B>) {}
|
||||
/*p:foo*/fun useListOfA(a: /*p:foo p:foo(A) p:kotlin.collections*/List</*p:foo*/A>) {}
|
||||
/*p:foo*/fun useListOfB(b: /*p:foo p:foo(B) p:kotlin.collections*/List</*p:foo*/B>) {}
|
||||
|
||||
/*p:foo*/fun testInferredType() {
|
||||
/*p:foo*/useListOfA(/*p:foo p:foo(A) p:kotlin.collections(List)*/getListOfA())
|
||||
|
||||
Vendored
+3
-3
@@ -2,10 +2,10 @@ package foo
|
||||
|
||||
/*p:foo*/class C
|
||||
|
||||
/*p:foo*/fun lambdaConsumer(fn: (/*p:foo*/A)->/*p:foo*/Unit) {}
|
||||
/*p:foo*/fun extensionConsumer(fn: /*p:foo*/A.()->/*p:foo*/Unit) {}
|
||||
/*p:foo*/fun lambdaConsumer(fn: /*p:foo(A) p:kotlin(Function1)*/(/*p:foo*/A)->/*p:foo*/Unit) {}
|
||||
/*p:foo*/fun extensionConsumer(fn: /*p:foo p:kotlin(Function1)*/A.()->/*p:foo*/Unit) {}
|
||||
|
||||
/*p:foo*/fun testLambdaParameterType() {
|
||||
/*p:foo*/lambdaConsumer /*p:foo(A) p:kotlin(Function1)*/{ it }
|
||||
/*p:foo*/lambdaConsumer /*p:foo(A) p:kotlin(Function1)*/{ /*p:foo(A)*/it }
|
||||
/*p:foo*/extensionConsumer /*p:foo(A) p:kotlin(Function1)*/{ this }
|
||||
}
|
||||
|
||||
+4
-4
@@ -4,14 +4,14 @@ import bar.*
|
||||
/*p:baz(C)*/import baz.C
|
||||
|
||||
/*p:foo*/val a = /*p:bar p:foo*/A()
|
||||
/*p:foo*/var b: /*p:bar p:foo*/baz.B = /*p:bar p:baz(B) p:foo*/baz.B()
|
||||
/*p:foo*/var b: /*p:bar p:bar.baz(B) p:baz(B) p:foo p:foo.baz(B)*/baz.B = /*p:bar p:baz(B) p:foo*/baz.B()
|
||||
|
||||
/*p:foo*/fun function(p: /*p:bar p:foo*/B): /*p:bar p:foo*/B {
|
||||
/*p:foo*/a
|
||||
/*p:bar(A) p:foo*/a
|
||||
return /*p:bar p:foo*/B()
|
||||
}
|
||||
|
||||
/*p:foo*/fun /*p:bar p:foo*/MyClass.extFunc(p: /**p:foo p:bar*//*p:bar p:foo*/Array</*p:bar p:foo*/B>, e: /*p:bar p:foo*/MyEnum, c: /**???*//*p:bar p:foo*/C): /*p:bar p:foo*/MyInterface {
|
||||
/*p:bar p:foo p:foo.MyClass*/b
|
||||
/*p:foo*/fun /*p:bar p:foo*/MyClass.extFunc(p: /**p:foo p:bar*//*p:bar p:bar(B) p:foo p:kotlin*/Array</*p:bar p:foo*/B>, e: /*p:bar p:foo*/MyEnum, c: /**???*//*p:bar p:baz p:foo*/C): /*p:bar p:foo*/MyInterface {
|
||||
/*p:bar p:baz(B) p:foo p:foo.MyClass*/b
|
||||
return /*p:bar p:foo p:foo.MyClass*/MyClass()
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package foo.bar
|
||||
|
||||
/*p:foo.bar*/fun main(args: /*p:foo.bar*/Array</*p:foo.bar*/String>) {
|
||||
val f: /*p:foo.bar*/Array</*p:foo.bar*/Int>
|
||||
/*p:foo.bar*/fun main(args: /*p:foo.bar p:kotlin*/Array</*p:foo.bar*/String>) {
|
||||
val f: /*p:foo.bar p:kotlin*/Array</*p:foo.bar*/Int>
|
||||
val s: /*p:foo.bar*/String
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user