[Test] Add test reproducing incorrect error in K2 about super qualifier
...with type arguments. Also, add lazy resolve test to check the subsequent changes are correct. ^KT-66150
This commit is contained in:
committed by
Space Team
parent
a38d317824
commit
c4f89ab32e
+14
@@ -0,0 +1,14 @@
|
||||
// MEMBER_CLASS_FILTER: org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
|
||||
package one
|
||||
|
||||
interface B<T> {
|
||||
fun f() = true
|
||||
}
|
||||
|
||||
open class A<T>(b: Boolean)
|
||||
|
||||
interface D
|
||||
|
||||
class C : B<Int> {
|
||||
inner class Inn<caret>er : A<D>(super<B>.f())
|
||||
}
|
||||
+395
@@ -0,0 +1,395 @@
|
||||
RAW_FIR:
|
||||
FILE: [ResolvedTo(RAW_FIR)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public final? [ResolvedTo(RAW_FIR)] interface B<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] class C : B<Int> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final? inner [ResolvedTo(RAW_FIR)] class Inner : A<D> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
LAZY_super<A<D>>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
IMPORTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public final? [ResolvedTo(RAW_FIR)] interface B<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] class C : B<Int> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final? inner [ResolvedTo(RAW_FIR)] class Inner : A<D> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
LAZY_super<A<D>>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public final? [ResolvedTo(RAW_FIR)] interface B<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] class C : B<Int> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final? inner [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] class Inner : A<D> {
|
||||
public? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
LAZY_super<A<D>>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public final? [ResolvedTo(RAW_FIR)] interface B<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] class C : B<Int> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final? inner [ResolvedTo(COMPANION_GENERATION)] class Inner : A<D> {
|
||||
public? [ResolvedTo(COMPANION_GENERATION)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
LAZY_super<A<D>>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
SUPER_TYPES:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface B<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(SUPER_TYPES)] class A<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(SUPER_TYPES)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final? [ResolvedTo(SUPER_TYPES)] class C : R|one/B<kotlin/Int>| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final? inner [ResolvedTo(SUPER_TYPES)] class Inner : R|one/A<one/D>| {
|
||||
public? [ResolvedTo(SUPER_TYPES)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
LAZY_super<A<R|one/D|>>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
TYPES:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface B<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(SUPER_TYPES)] class A<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(SUPER_TYPES)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final? [ResolvedTo(TYPES)] class C : R|one/B<kotlin/Int>| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final? inner [ResolvedTo(TYPES)] class Inner : R|one/A<one/D>| {
|
||||
public? [ResolvedTo(TYPES)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
LAZY_super<R|one/A<one/D>|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
STATUS:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(STATUS)] class A<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] b: R|kotlin/Boolean|): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final inner [ResolvedTo(STATUS)] class Inner : R|one/A<one/D>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
LAZY_super<R|one/A<one/D>|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(STATUS)] class A<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] b: R|kotlin/Boolean|): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final inner [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class Inner : R|one/A<one/D>| {
|
||||
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
LAZY_super<R|one/A<one/D>|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
CONTRACTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(STATUS)] class A<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] b: R|kotlin/Boolean|): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final inner [ResolvedTo(CONTRACTS)] class Inner : R|one/A<one/D>| {
|
||||
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
LAZY_super<R|one/A<one/D>|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(STATUS)] class A<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] b: R|kotlin/Boolean|): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final inner [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class Inner : R|one/A<one/D>| {
|
||||
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
LAZY_super<R|one/A<one/D>|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
CONSTANT_EVALUATION:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(STATUS)] class A<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] b: R|kotlin/Boolean|): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final inner [ResolvedTo(CONSTANT_EVALUATION)] class Inner : R|one/A<one/D>| {
|
||||
public [ResolvedTo(CONSTANT_EVALUATION)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
LAZY_super<R|one/A<one/D>|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ANNOTATION_ARGUMENTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(STATUS)] class A<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] b: R|kotlin/Boolean|): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final inner [ResolvedTo(ANNOTATION_ARGUMENTS)] class Inner : R|one/A<one/D>| {
|
||||
public [ResolvedTo(ANNOTATION_ARGUMENTS)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
LAZY_super<R|one/A<one/D>|>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
BODY_RESOLVE:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun f(): R|kotlin/Boolean| {
|
||||
^f Boolean(true)
|
||||
}
|
||||
|
||||
}
|
||||
public open [ResolvedTo(STATUS)] class A<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] b: R|kotlin/Boolean|): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final inner [ResolvedTo(ANNOTATION_ARGUMENTS)] class Inner : R|one/A<one/D>| {
|
||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
super<R|one/A<one/D>|>(this@R|one/C|.super<R|one/B<kotlin/Int>|>.R|SubstitutionOverride<one/B.f: R|kotlin/Boolean|>|())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
FILE RAW TO BODY:
|
||||
FILE: [ResolvedTo(BODY_RESOLVE)] superQualifierTypeArgsInDelegatedConstructorInnerClass.kt
|
||||
public abstract [ResolvedTo(BODY_RESOLVE)] interface B<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(BODY_RESOLVE)] fun f(): R|kotlin/Boolean| {
|
||||
^f Boolean(true)
|
||||
}
|
||||
|
||||
}
|
||||
public open [ResolvedTo(BODY_RESOLVE)] class A<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| {
|
||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor<[ResolvedTo(BODY_RESOLVE)] T>([ResolvedTo(BODY_RESOLVE)] b: R|kotlin/Boolean|): R|one/A<T>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
public abstract [ResolvedTo(BODY_RESOLVE)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final inner [ResolvedTo(BODY_RESOLVE)] class Inner : R|one/A<one/D>| {
|
||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Inner] one/C.constructor(): R|one/C.Inner| {
|
||||
super<R|one/A<one/D>|>(this@R|one/C|.super<R|one/B<kotlin/Int>|>.R|SubstitutionOverride<one/B.f: R|kotlin/Boolean|>|())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package one
|
||||
|
||||
interface B<T> {
|
||||
fun f() = true
|
||||
}
|
||||
|
||||
open class A<T>(b: Boolean)
|
||||
|
||||
interface D
|
||||
|
||||
class C : B<Int> {
|
||||
fun te<caret>st() {
|
||||
class LocalClass : A<D>(super<B>.f())
|
||||
}
|
||||
}
|
||||
+371
@@ -0,0 +1,371 @@
|
||||
RAW_FIR:
|
||||
FILE: [ResolvedTo(RAW_FIR)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public final? [ResolvedTo(RAW_FIR)] interface B<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] class C : B<Int> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
IMPORTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public final? [ResolvedTo(RAW_FIR)] interface B<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] class C : B<Int> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun test(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
COMPILER_REQUIRED_ANNOTATIONS:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public final? [ResolvedTo(RAW_FIR)] interface B<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] class C : B<Int> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun test(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
COMPANION_GENERATION:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public final? [ResolvedTo(RAW_FIR)] interface B<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] class C : B<Int> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(COMPANION_GENERATION)] fun test(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
SUPER_TYPES:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface B<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final? [ResolvedTo(SUPER_TYPES)] class C : R|one/B<kotlin/Int>| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(SUPER_TYPES)] fun test(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
TYPES:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public final? [ResolvedTo(SUPER_TYPES)] interface B<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
|
||||
public? final? [ResolvedTo(RAW_FIR)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final? [ResolvedTo(TYPES)] class C : R|one/B<kotlin/Int>| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public? final? [ResolvedTo(TYPES)] fun test(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
STATUS:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(STATUS)] fun test(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
EXPECT_ACTUAL_MATCHING:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun test(): R|kotlin/Unit| { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
|
||||
CONTRACTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(CONTRACTS)] fun test(): R|kotlin/Unit| {
|
||||
local final? [ResolvedTo(RAW_FIR)] class LocalClass : A<D> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalClass] constructor(): R|<local>/LocalClass| {
|
||||
super<A<D>>(super<B>.f#())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun test(): R|kotlin/Unit| {
|
||||
local final? [ResolvedTo(RAW_FIR)] class LocalClass : A<D> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalClass] constructor(): R|<local>/LocalClass| {
|
||||
super<A<D>>(super<B>.f#())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
CONSTANT_EVALUATION:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(CONSTANT_EVALUATION)] fun test(): R|kotlin/Unit| {
|
||||
local final? [ResolvedTo(RAW_FIR)] class LocalClass : A<D> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalClass] constructor(): R|<local>/LocalClass| {
|
||||
super<A<D>>(super<B>.f#())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ANNOTATION_ARGUMENTS:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(RAW_FIR)] class A<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] b: Boolean): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun test(): R|kotlin/Unit| {
|
||||
local final? [ResolvedTo(RAW_FIR)] class LocalClass : A<D> {
|
||||
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=LocalClass] constructor(): R|<local>/LocalClass| {
|
||||
super<A<D>>(super<B>.f#())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
BODY_RESOLVE:
|
||||
FILE: [ResolvedTo(IMPORTS)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public abstract [ResolvedTo(STATUS)] interface B<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(STATUS)] fun f(): <implicit> { LAZY_BLOCK }
|
||||
|
||||
}
|
||||
public open [ResolvedTo(STATUS)] class A<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] b: R|kotlin/Boolean|): R|one/A<T>| {
|
||||
LAZY_super<R|kotlin/Any|>
|
||||
}
|
||||
|
||||
}
|
||||
public final? [ResolvedTo(RAW_FIR)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(STATUS)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
LAZY_super<<implicit>>
|
||||
}
|
||||
|
||||
public final [ResolvedTo(BODY_RESOLVE)] fun test(): R|kotlin/Unit| {
|
||||
local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|one/A<one/D>| {
|
||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalClass] constructor(): R|<local>/LocalClass| {
|
||||
super<R|one/A<one/D>|>(this@R|one/C|.super<<ERROR TYPE REF: Wrong number of type arguments>>.<Unresolved name: f>#())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
FILE RAW TO BODY:
|
||||
FILE: [ResolvedTo(BODY_RESOLVE)] superQualifierTypeArgsInDelegatedConstructorLocalClass.kt
|
||||
public abstract [ResolvedTo(BODY_RESOLVE)] interface B<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| {
|
||||
public open [ResolvedTo(BODY_RESOLVE)] fun f(): R|kotlin/Boolean| {
|
||||
^f Boolean(true)
|
||||
}
|
||||
|
||||
}
|
||||
public open [ResolvedTo(BODY_RESOLVE)] class A<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| {
|
||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor<[ResolvedTo(BODY_RESOLVE)] T>([ResolvedTo(BODY_RESOLVE)] b: R|kotlin/Boolean|): R|one/A<T>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
public abstract [ResolvedTo(BODY_RESOLVE)] interface D : R|kotlin/Any| {
|
||||
}
|
||||
public final [ResolvedTo(BODY_RESOLVE)] class C : R|one/B<kotlin/Int>| {
|
||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=C] constructor(): R|one/C| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final [ResolvedTo(BODY_RESOLVE)] fun test(): R|kotlin/Unit| {
|
||||
local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|one/A<one/D>| {
|
||||
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=LocalClass] constructor(): R|<local>/LocalClass| {
|
||||
super<R|one/A<one/D>|>(this@R|one/C|.super<<ERROR TYPE REF: Wrong number of type arguments>>.<Unresolved name: f>#())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+12
@@ -600,6 +600,18 @@ public class FirOutOfContentRootLazyDeclarationResolveTestGenerated extends Abst
|
||||
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideWithImplicitTypeAndReceiver.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("superQualifierTypeArgsInDelegatedConstructorInnerClass.kt")
|
||||
public void testSuperQualifierTypeArgsInDelegatedConstructorInnerClass() {
|
||||
runTest("analysis/low-level-api-fir/testData/lazyResolve/superQualifierTypeArgsInDelegatedConstructorInnerClass.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("superQualifierTypeArgsInDelegatedConstructorLocalClass.kt")
|
||||
public void testSuperQualifierTypeArgsInDelegatedConstructorLocalClass() {
|
||||
runTest("analysis/low-level-api-fir/testData/lazyResolve/superQualifierTypeArgsInDelegatedConstructorLocalClass.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("superTypes.kt")
|
||||
public void testSuperTypes() {
|
||||
|
||||
+12
@@ -600,6 +600,18 @@ public class FirSourceLazyDeclarationResolveTestGenerated extends AbstractFirSou
|
||||
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideWithImplicitTypeAndReceiver.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("superQualifierTypeArgsInDelegatedConstructorInnerClass.kt")
|
||||
public void testSuperQualifierTypeArgsInDelegatedConstructorInnerClass() {
|
||||
runTest("analysis/low-level-api-fir/testData/lazyResolve/superQualifierTypeArgsInDelegatedConstructorInnerClass.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("superQualifierTypeArgsInDelegatedConstructorLocalClass.kt")
|
||||
public void testSuperQualifierTypeArgsInDelegatedConstructorLocalClass() {
|
||||
runTest("analysis/low-level-api-fir/testData/lazyResolve/superQualifierTypeArgsInDelegatedConstructorLocalClass.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("superTypes.kt")
|
||||
public void testSuperTypes() {
|
||||
|
||||
+6
@@ -1401,6 +1401,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
|
||||
runTest("compiler/testData/diagnostics/tests/StringTemplates.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("superQualifierTypeArgsInDelegatedConstructorCall.kt")
|
||||
public void testSuperQualifierTypeArgsInDelegatedConstructorCall() {
|
||||
runTest("compiler/testData/diagnostics/tests/superQualifierTypeArgsInDelegatedConstructorCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SupertypeListChecks.kt")
|
||||
public void testSupertypeListChecks() {
|
||||
|
||||
+6
@@ -1401,6 +1401,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
|
||||
runTest("compiler/testData/diagnostics/tests/StringTemplates.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("superQualifierTypeArgsInDelegatedConstructorCall.kt")
|
||||
public void testSuperQualifierTypeArgsInDelegatedConstructorCall() {
|
||||
runTest("compiler/testData/diagnostics/tests/superQualifierTypeArgsInDelegatedConstructorCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SupertypeListChecks.kt")
|
||||
public void testSupertypeListChecks() {
|
||||
|
||||
+6
@@ -1401,6 +1401,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
|
||||
runTest("compiler/testData/diagnostics/tests/StringTemplates.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("superQualifierTypeArgsInDelegatedConstructorCall.kt")
|
||||
public void testSuperQualifierTypeArgsInDelegatedConstructorCall() {
|
||||
runTest("compiler/testData/diagnostics/tests/superQualifierTypeArgsInDelegatedConstructorCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SupertypeListChecks.kt")
|
||||
public void testSupertypeListChecks() {
|
||||
|
||||
+6
@@ -1401,6 +1401,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
|
||||
runTest("compiler/testData/diagnostics/tests/StringTemplates.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("superQualifierTypeArgsInDelegatedConstructorCall.kt")
|
||||
public void testSuperQualifierTypeArgsInDelegatedConstructorCall() {
|
||||
runTest("compiler/testData/diagnostics/tests/superQualifierTypeArgsInDelegatedConstructorCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SupertypeListChecks.kt")
|
||||
public void testSupertypeListChecks() {
|
||||
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
interface B<T> {
|
||||
fun f() = true
|
||||
}
|
||||
|
||||
open class A(b: Boolean)
|
||||
|
||||
class C : B<Int> {
|
||||
inner class Inner : A(super<<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>B<!>>.<!UNRESOLVED_REFERENCE!>f<!>())
|
||||
inner class Inner2 : A(super<B<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.f())
|
||||
|
||||
fun test() {
|
||||
class LocalClass : A(super<<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>B<!>>.<!UNRESOLVED_REFERENCE!>f<!>())
|
||||
class LocalClass2 : A(super<B<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.f())
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
interface B<T> {
|
||||
fun f() = true
|
||||
}
|
||||
|
||||
open class A(b: Boolean)
|
||||
|
||||
class C : B<Int> {
|
||||
inner class Inner : A(super<B>.f())
|
||||
inner class Inner2 : A(super<B<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.f())
|
||||
|
||||
fun test() {
|
||||
class LocalClass : A(super<B>.f())
|
||||
class LocalClass2 : A(super<B<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.f())
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// LL_FIR_DIVERGENCE
|
||||
// WRONG_NUMBER_OF_TYPE_ARGUMENTS not reported in Inner class because of BodyBuildingMode.LAZY_BODIES
|
||||
// LL_FIR_DIVERGENCE
|
||||
interface B<T> {
|
||||
fun f() = true
|
||||
}
|
||||
|
||||
open class A(b: Boolean)
|
||||
|
||||
class C : B<Int> {
|
||||
inner class Inner : A(super<B>.f())
|
||||
inner class Inner2 : A(super<B<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.f())
|
||||
|
||||
fun test() {
|
||||
class LocalClass : A(super<<!WRONG_NUMBER_OF_TYPE_ARGUMENTS!>B<!>>.<!UNRESOLVED_REFERENCE!>f<!>())
|
||||
class LocalClass2 : A(super<B<!TYPE_ARGUMENTS_REDUNDANT_IN_SUPER_QUALIFIER!><Int><!>>.f())
|
||||
}
|
||||
}
|
||||
Generated
+6
@@ -1401,6 +1401,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
|
||||
runTest("compiler/testData/diagnostics/tests/StringTemplates.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("superQualifierTypeArgsInDelegatedConstructorCall.kt")
|
||||
public void testSuperQualifierTypeArgsInDelegatedConstructorCall() {
|
||||
runTest("compiler/testData/diagnostics/tests/superQualifierTypeArgsInDelegatedConstructorCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("SupertypeListChecks.kt")
|
||||
public void testSupertypeListChecks() {
|
||||
|
||||
Reference in New Issue
Block a user