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
+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);
|
||||
|
||||
Reference in New Issue
Block a user