FIR: introduce symbols + type parameter resolve #KT-24064 Fixed
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
FILE: genericFunctions.kt
|
||||
public? final? interface Any() {
|
||||
}
|
||||
<T : Any> public? final? inline function safeAsAny.(): T? {
|
||||
<reified T : Any> public? final? inline function safeAsAny.(): T? {
|
||||
STUB
|
||||
}
|
||||
public? abstract class Summator() {
|
||||
|
||||
@@ -22,6 +22,6 @@ FILE: simpleClass.kt
|
||||
|
||||
public? final? property fau(var): Double
|
||||
public? get(): Double
|
||||
public? set(value: Double): R/kotlin.Unit/
|
||||
public? set(value: Double): R/kotlin/Unit/
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,6 @@ FILE: typeAliasWithGeneric.kt
|
||||
}
|
||||
<S, T : A> public? final? interface B() {
|
||||
}
|
||||
public? final typealias C = B<T, A>
|
||||
<T> public? final typealias C = B<T, A>
|
||||
public? final? class D() : C<A> {
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
FILE: F.kt
|
||||
(resolved) public? open class A() {
|
||||
}
|
||||
(resolved) public? final class B() : R/<root>.A/ {
|
||||
(resolved) public? final class B() : R/A/ {
|
||||
}
|
||||
|
||||
+3
-3
@@ -4,9 +4,9 @@ FILE: NestedOfAliasedType.kt
|
||||
}
|
||||
|
||||
}
|
||||
(resolved) public? final typealias TA = R/<root>.A/
|
||||
(resolved) public? final class B() : R/<root>.TA = <root>.A/ {
|
||||
(resolved) public? final class NestedInB() : R/<root>.A.Nested/ {
|
||||
(resolved) public? final typealias TA = R/A/
|
||||
(resolved) public? final class B() : R/TA = A/ {
|
||||
(resolved) public? final class NestedInB() : R/A.Nested/ {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,14 +1,14 @@
|
||||
FILE: NestedSuperType.kt
|
||||
(resolved) public? abstract class My() {
|
||||
(resolved) public? abstract class NestedOne() : R/p.My/ {
|
||||
(resolved) public? abstract class NestedTwo() : R/p.My.NestedOne/ {
|
||||
(resolved) public? abstract class NestedOne() : R/p/My/ {
|
||||
(resolved) public? abstract class NestedTwo() : R/p/My.NestedOne/ {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
(resolved) public? final class Your() : R/p.My/ {
|
||||
(resolved) public? final class NestedThree() : R/p.My.NestedOne/ {
|
||||
(resolved) public? final class Your() : R/p/My/ {
|
||||
(resolved) public? final class NestedThree() : R/p/My.NestedOne/ {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
FILE: TwoDeclarationsInSameFile.kt
|
||||
(resolved) public? open class A() {
|
||||
}
|
||||
(resolved) public? final class B() : R/p.A/ {
|
||||
(resolved) public? final class B() : R/p/A/ {
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
FILE: NestedSuperType.kt
|
||||
(resolved) public? final class A() : R/b.B/ {
|
||||
(resolved) public? final class NestedInA1() : R/b.B.NestedInB/ {
|
||||
(resolved) public? final class A() : R/b/B/ {
|
||||
(resolved) public? final class NestedInA1() : R/b/B.NestedInB/ {
|
||||
}
|
||||
|
||||
(resolved) public? final class NestedInA2() : R/c.C.NestedInC/ {
|
||||
(resolved) public? final class NestedInA2() : R/c/C.NestedInC/ {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
FILE: simpleAliasedImport.kt
|
||||
(resolved) public? final class YourClass() : R/b.MyClass/ {
|
||||
(resolved) public? final class YourClass() : R/b/MyClass/ {
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
FILE: simpleImport.kt
|
||||
(resolved) public? final class YourClass() : R/b.MyClass/ {
|
||||
(resolved) public? final class YourClass() : R/b/MyClass/ {
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
FILE: simpleImportNested.kt
|
||||
(resolved) public? final class YourClass() : R/a.MyClass.MyNested/ {
|
||||
(resolved) public? final class YourClass() : R/a/MyClass.MyNested/ {
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
FILE: simpleImportOuter.kt
|
||||
(resolved) public? final class My() : R/a.Outer.Nested/ {
|
||||
(resolved) public? final class My() : R/a/Outer.Nested/ {
|
||||
}
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ FILE: simpleClass.kt
|
||||
public? get(): R/error: Failed to resolve qualified type/
|
||||
|
||||
}
|
||||
(resolved) public? final class SomeClass() : R/<root>.SomeInterface/ {
|
||||
(resolved) public? final class SomeClass() : R/SomeInterface/ {
|
||||
private final? property baz(val): R/error: Not supported: FirImplicitTypeImpl/ = STUB
|
||||
public? get(): R/error: Not supported: FirImplicitTypeImpl/
|
||||
|
||||
@@ -22,6 +22,6 @@ FILE: simpleClass.kt
|
||||
|
||||
public? final? property fau(var): R/error: Failed to resolve qualified type/
|
||||
public? get(): R/error: Failed to resolve qualified type/
|
||||
public? set(value: R/error: Failed to resolve qualified type/): R/kotlin.Unit/
|
||||
public? set(value: R/error: Failed to resolve qualified type/): R/kotlin/Unit/
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
FILE: simpleTypeAlias.kt
|
||||
(resolved) public? abstract interface B() {
|
||||
}
|
||||
(resolved) public? final typealias C = R/<root>.B/
|
||||
(resolved) public? final class D() : R/<root>.C = <root>.B/ {
|
||||
(resolved) public? final typealias C = R/B/
|
||||
(resolved) public? final class D() : R/C = B/ {
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
open class A
|
||||
|
||||
interface B<S, T : A>
|
||||
|
||||
typealias C<T> = B<T, A>
|
||||
|
||||
class D : C<A>
|
||||
@@ -0,0 +1,8 @@
|
||||
FILE: typeAliasWithGeneric.kt
|
||||
(resolved) public? open class A() {
|
||||
}
|
||||
(resolved) <(resolved) S, (resolved) T : R/A/> public? abstract interface B() {
|
||||
}
|
||||
(resolved) <(resolved) T> public? final typealias C = R/B<T, A>/
|
||||
(resolved) public? final class D() : R/C<A> = B<T, A>/ {
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package test
|
||||
|
||||
interface Some
|
||||
|
||||
abstract class My<T : Some> {
|
||||
inner class T
|
||||
|
||||
abstract val x: T
|
||||
|
||||
abstract fun foo(arg: T)
|
||||
|
||||
abstract val y: My.T
|
||||
|
||||
abstract val z: test.My.T
|
||||
|
||||
class Some : T()
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
FILE: typeParameterVsNested.kt
|
||||
(resolved) public? abstract interface Some() {
|
||||
}
|
||||
(resolved) <(resolved) T : R/test/Some/> public? abstract class My() {
|
||||
(resolved) public? final class T(inner) {
|
||||
}
|
||||
|
||||
public? abstract property x(val): R/T/
|
||||
public? get(): R/T/
|
||||
|
||||
public? abstract function foo(arg: R/T/): R/error: Not supported: FirImplicitTypeImpl/
|
||||
|
||||
public? abstract property y(val): R/test/My.T/
|
||||
public? get(): R/test/My.T/
|
||||
|
||||
public? abstract property z(val): R/test/My.T/
|
||||
public? get(): R/test/My.T/
|
||||
|
||||
(resolved) public? final class Some() : R/T/ {
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user