FIR: implement early type alias expansion
This commit is contained in:
committed by
Mikhail Glukhikh
parent
d15fb1963b
commit
25ae12fe07
@@ -0,0 +1,7 @@
|
||||
package b
|
||||
|
||||
class A
|
||||
|
||||
typealias TA = A
|
||||
|
||||
// analyzePriority: 1
|
||||
@@ -0,0 +1,7 @@
|
||||
package a
|
||||
|
||||
import b.TA
|
||||
|
||||
class MyClass : TA
|
||||
|
||||
// analyzePriority: 0
|
||||
@@ -0,0 +1,3 @@
|
||||
FILE: TypeAliasExpansion.kt
|
||||
(resolved) public? final class MyClass() : R/b/TA = b/A/ {
|
||||
}
|
||||
+9
-9
@@ -1,27 +1,27 @@
|
||||
FILE: simpleClass.kt
|
||||
(resolved) public? abstract interface SomeInterface() {
|
||||
public? final? function foo(x: R/error: Failed to resolve qualified type/, y: R/error: Failed to resolve qualified type/): R/error: Failed to resolve qualified type/
|
||||
public? final? function foo(x: R/error: Symbol not found/, y: R/error: Symbol not found/): R/error: Symbol not found/
|
||||
|
||||
public? final? property bar(val): R/error: Failed to resolve qualified type/
|
||||
public? get(): R/error: Failed to resolve qualified type/
|
||||
public? final? property bar(val): R/error: Symbol not found/
|
||||
public? get(): R/error: Symbol not found/
|
||||
|
||||
}
|
||||
(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/
|
||||
|
||||
public? open? override function foo(x: R/error: Failed to resolve qualified type/, y: R/error: Failed to resolve qualified type/): R/error: Failed to resolve qualified type/ {
|
||||
public? open? override function foo(x: R/error: Symbol not found/, y: R/error: Symbol not found/): R/error: Symbol not found/ {
|
||||
}
|
||||
|
||||
public? open? override property bar(var): R/error: Failed to resolve qualified type/
|
||||
public? open? override property bar(var): R/error: Symbol not found/
|
||||
public? get(): R/error: Not supported: FirImplicitTypeImpl/ {
|
||||
STUB
|
||||
}
|
||||
public? set(value: R/error: Failed to resolve qualified type/): R/error: Not supported: FirImplicitTypeImpl/ {
|
||||
public? set(value: R/error: Symbol not found/): R/error: Not supported: FirImplicitTypeImpl/ {
|
||||
}
|
||||
|
||||
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? final? property fau(var): R/error: Symbol not found/
|
||||
public? get(): R/error: Symbol not found/
|
||||
public? set(value: R/error: Symbol not found/): R/kotlin/Unit/
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -2,6 +2,6 @@ open class A
|
||||
|
||||
interface B<S, T : A>
|
||||
|
||||
typealias C<T> = B<T, A>
|
||||
|
||||
class D : C<A>
|
||||
|
||||
typealias C<T> = B<T, A>
|
||||
|
||||
+1
-1
@@ -3,6 +3,6 @@ FILE: typeAliasWithGeneric.kt
|
||||
}
|
||||
(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>/ {
|
||||
}
|
||||
(resolved) <(resolved) T> public? final typealias C = R/B<T, A>/
|
||||
|
||||
Reference in New Issue
Block a user