diff --git a/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt b/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt index 04c2d783eda..fb953c89525 100644 --- a/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt +++ b/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt @@ -9,10 +9,13 @@ import com.intellij.psi.PsiElement import com.intellij.psi.tree.IElementType import org.jetbrains.kotlin.KtNodeTypes.* import org.jetbrains.kotlin.fir.* -import org.jetbrains.kotlin.fir.declarations.* +import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction +import org.jetbrains.kotlin.fir.declarations.FirMemberFunction +import org.jetbrains.kotlin.fir.declarations.FirRegularClass +import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.declarations.impl.FirErrorFunctionImpl -import org.jetbrains.kotlin.fir.declarations.impl.FirTypeParameterImpl -import org.jetbrains.kotlin.fir.diagnostics.* +import org.jetbrains.kotlin.fir.diagnostics.DiagnosticKind +import org.jetbrains.kotlin.fir.diagnostics.FirSimpleDiagnostic import org.jetbrains.kotlin.fir.expressions.* import org.jetbrains.kotlin.fir.expressions.impl.* import org.jetbrains.kotlin.fir.references.FirReference @@ -35,11 +38,9 @@ import org.jetbrains.kotlin.lexer.KtTokens.OPEN_QUOTE import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtClassOrObject -import org.jetbrains.kotlin.psi.KtStringTemplateEntryWithExpression import org.jetbrains.kotlin.psi.KtStringTemplateExpression import org.jetbrains.kotlin.psi.KtUnaryExpression import org.jetbrains.kotlin.resolve.constants.evaluate.* -import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.util.OperatorNameConventions //T can be either PsiElement, or LighterASTNode @@ -150,17 +151,11 @@ abstract class BaseFirBuilder(val session: FirSession, val context: Context = } fun KtClassOrObject?.toDelegatedSelfType(firClass: FirRegularClass): FirTypeRef { - val typeParameters = firClass.typeParameters.map { - FirTypeParameterImpl(it.source, session, it.name, FirTypeParameterSymbol(), Variance.INVARIANT, false).apply { - this.bounds += it.bounds - addDefaultBoundIfNecessary() - } - } return FirResolvedTypeRefImpl( this?.toFirSourceElement(), ConeClassLikeTypeImpl( firClass.symbol.toLookupTag(), - typeParameters.map { ConeTypeParameterTypeImpl(it.symbol.toLookupTag(), false) }.toTypedArray(), + firClass.typeParameters.map { ConeTypeParameterTypeImpl(it.symbol.toLookupTag(), false) }.toTypedArray(), false ) ) diff --git a/compiler/fir/psi2fir/testData/rawBuilder/declarations/complexTypes.txt b/compiler/fir/psi2fir/testData/rawBuilder/declarations/complexTypes.txt index 3b1647e8fa1..9d37a2c5eb0 100644 --- a/compiler/fir/psi2fir/testData/rawBuilder/declarations/complexTypes.txt +++ b/compiler/fir/psi2fir/testData/rawBuilder/declarations/complexTypes.txt @@ -1,11 +1,11 @@ FILE: complexTypes.kt public? final? class C : R|kotlin/Any| { - public? constructor(): R|a/b/C| { + public? constructor(): R|a/b/C| { super() } public? final? inner class D : R|kotlin/Any| { - public? constructor(): R|a/b/C.D| { + public? constructor(): R|a/b/C.D| { super() } diff --git a/compiler/fir/psi2fir/testData/rawBuilder/declarations/typeParameters.txt b/compiler/fir/psi2fir/testData/rawBuilder/declarations/typeParameters.txt index bcc413e419c..e2a8e767c7a 100644 --- a/compiler/fir/psi2fir/testData/rawBuilder/declarations/typeParameters.txt +++ b/compiler/fir/psi2fir/testData/rawBuilder/declarations/typeParameters.txt @@ -8,7 +8,7 @@ FILE: typeParameters.kt public? final typealias StringList = List public? final typealias AnyList = List<*> public? abstract class AbstractList : List { - public? constructor(): R|AbstractList| { + public? constructor(): R|AbstractList| { super() } diff --git a/compiler/fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilderTestCase.kt b/compiler/fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilderTestCase.kt index 900b8d980cb..f69b26d8cfb 100644 --- a/compiler/fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilderTestCase.kt +++ b/compiler/fir/psi2fir/tests/org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilderTestCase.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.FirRenderer import org.jetbrains.kotlin.fir.FirSessionBase import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription import org.jetbrains.kotlin.fir.declarations.FirFile +import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression @@ -134,16 +135,14 @@ abstract class AbstractRawFirBuilderTestCase : KtParsingTestCase( override fun visitElement(element: FirElement) { // NB: types are reused sometimes (e.g. in accessors) if (!result.add(element)) { - if (element !is FirTypeRef && element !is FirNoReceiverExpression && element !is FirEmptyContractDescription && !element.isExtensionFunctionAnnotation) { - val elementDump = StringBuilder().also { element.accept(FirRenderer(it)) }.toString() - throw AssertionError("FirElement ${element.javaClass} is visited twice: $elementDump") - } + throwTwiceVisitingError(element) } else if (element !is FirWrappedDelegateExpression) { element.acceptChildren(this) } else { element.delegateProvider.accept(this) } } + } private class ConsistencyTransformer : FirTransformer() { @@ -151,10 +150,7 @@ abstract class AbstractRawFirBuilderTestCase : KtParsingTestCase( override fun transformElement(element: E, data: Unit): CompositeTransformResult { if (!result.add(element)) { - if (element !is FirTypeRef && element !is FirNoReceiverExpression && element !is FirEmptyContractDescription && !element.isExtensionFunctionAnnotation) { - val elementDump = StringBuilder().also { element.accept(FirRenderer(it)) }.toString() - throw AssertionError("FirElement ${element.javaClass} is visited twice: $elementDump") - } + throwTwiceVisitingError(element) } else if (element !is FirWrappedDelegateExpressionImpl) { element.transformChildren(this, Unit) } else { @@ -171,5 +167,16 @@ abstract class AbstractRawFirBuilderTestCase : KtParsingTestCase( } +private fun throwTwiceVisitingError(element: FirElement) { + if (element is FirTypeRef || element is FirNoReceiverExpression || element is FirTypeParameter || + element is FirEmptyContractDescription || element.isExtensionFunctionAnnotation + ) { + return + } + val elementDump = StringBuilder().also { element.accept(FirRenderer(it)) }.toString() + throw AssertionError("FirElement ${element.javaClass} is visited twice: $elementDump") +} + + private val FirElement.isExtensionFunctionAnnotation: Boolean get() = (this as? FirAnnotationCall)?.isExtensionFunctionAnnotationCall == true diff --git a/compiler/fir/resolve/testData/resolve/fromBuilder/complexTypes.txt b/compiler/fir/resolve/testData/resolve/fromBuilder/complexTypes.txt index 3282459322b..971702c1ca1 100644 --- a/compiler/fir/resolve/testData/resolve/fromBuilder/complexTypes.txt +++ b/compiler/fir/resolve/testData/resolve/fromBuilder/complexTypes.txt @@ -1,11 +1,11 @@ FILE: complexTypes.kt public final class C : R|kotlin/Any| { - public constructor(): R|a/b/C| { + public constructor(): R|a/b/C| { super() } public final inner class D : R|kotlin/Any| { - public constructor(): R|a/b/C.D| { + public constructor(): R|a/b/C.D| { super() } diff --git a/compiler/fir/resolve/testData/resolve/fromBuilder/typeParameters.txt b/compiler/fir/resolve/testData/resolve/fromBuilder/typeParameters.txt index c34614874a2..752aa08b62f 100644 --- a/compiler/fir/resolve/testData/resolve/fromBuilder/typeParameters.txt +++ b/compiler/fir/resolve/testData/resolve/fromBuilder/typeParameters.txt @@ -8,7 +8,7 @@ FILE: typeParameters.kt public final typealias StringList = R|List| public final typealias AnyList = R|List<*>| public abstract class AbstractList : R|List| { - public constructor(): R|AbstractList| { + public constructor(): R|AbstractList| { super() } diff --git a/compiler/fir/resolve/testData/resolve/genericConstructors.kt b/compiler/fir/resolve/testData/resolve/genericConstructors.kt new file mode 100644 index 00000000000..34a850d205f --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/genericConstructors.kt @@ -0,0 +1,16 @@ +class A(t: T) { + fun foo(x: T) {} +} + +abstract class B(e: E) { + val myE: E = id(e) + val a = A(e) + + fun id(e: E): E = e +} + +class C : B("") { + fun bar() { + a.foo("") + } +} diff --git a/compiler/fir/resolve/testData/resolve/genericConstructors.txt b/compiler/fir/resolve/testData/resolve/genericConstructors.txt new file mode 100644 index 00000000000..1a5cf514c2f --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/genericConstructors.txt @@ -0,0 +1,36 @@ +FILE: genericConstructors.kt + public final class A : R|kotlin/Any| { + public constructor(t: R|T|): R|A| { + super() + } + + public final fun foo(x: R|T|): R|kotlin/Unit| { + } + + } + public abstract class B : R|kotlin/Any| { + public constructor(e: R|E|): R|B| { + super() + } + + public final val myE: R|E| = this@R|/B|.R|FakeOverride|(R|/e|) + public get(): R|E| + + public final val a: R|A| = R|/A.A|(R|/e|) + public get(): R|A| + + public final fun id(e: R|E|): R|E| { + ^id R|/e| + } + + } + public final class C : R|B| { + public constructor(): R|C| { + super|>(String()) + } + + public final fun bar(): R|kotlin/Unit| { + this@R|/B|.R|FakeOverride|>|.R|FakeOverride|(String()) + } + + } diff --git a/compiler/fir/resolve/testData/resolve/overrides/supertypeGenericsComplex.txt b/compiler/fir/resolve/testData/resolve/overrides/supertypeGenericsComplex.txt index d106668beb1..f5e1457bc22 100644 --- a/compiler/fir/resolve/testData/resolve/overrides/supertypeGenericsComplex.txt +++ b/compiler/fir/resolve/testData/resolve/overrides/supertypeGenericsComplex.txt @@ -1,6 +1,6 @@ FILE: supertypeGenericsComplex.kt public final class Out : R|kotlin/Any| { - public constructor(): R|Out| { + public constructor(): R|Out| { super() } diff --git a/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.txt index 5d489fe71fc..f4c5d9712b0 100644 --- a/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.txt +++ b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.txt @@ -18,7 +18,7 @@ FILE: eagerResolveOfSingleCallableReference.kt } public final class Out : R|kotlin/Any| { - public constructor(): R|Out| { + public constructor(): R|Out| { super() } diff --git a/compiler/fir/resolve/testData/resolve/typeParameterVsNested.txt b/compiler/fir/resolve/testData/resolve/typeParameterVsNested.txt index 63fa0053020..b7f5de38f36 100644 --- a/compiler/fir/resolve/testData/resolve/typeParameterVsNested.txt +++ b/compiler/fir/resolve/testData/resolve/typeParameterVsNested.txt @@ -2,7 +2,7 @@ FILE: typeParameterVsNested.kt public abstract interface Some : R|kotlin/Any| { } public abstract class My : R|kotlin/Any| { - public constructor(): R|test/My| { + public constructor(): R|test/My| { super() } diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java index ba9c052c7f9..92278a13e98 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java @@ -113,6 +113,11 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest { runTest("compiler/fir/resolve/testData/resolve/functionTypes.kt"); } + @TestMetadata("genericConstructors.kt") + public void testGenericConstructors() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/genericConstructors.kt"); + } + @TestMetadata("genericFunctions.kt") public void testGenericFunctions() throws Exception { runTest("compiler/fir/resolve/testData/resolve/genericFunctions.kt"); diff --git a/compiler/testData/codegen/box/classes/simpleBox.kt b/compiler/testData/codegen/box/classes/simpleBox.kt index be95d012d51..d94252e3bb7 100644 --- a/compiler/testData/codegen/box/classes/simpleBox.kt +++ b/compiler/testData/codegen/box/classes/simpleBox.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR class Box(t: T) { var value = t } diff --git a/compiler/testData/codegen/box/jvmOverloads/constructorWithTypeParams.kt b/compiler/testData/codegen/box/jvmOverloads/constructorWithTypeParams.kt index 86c59705859..5ac48f3ae1f 100644 --- a/compiler/testData/codegen/box/jvmOverloads/constructorWithTypeParams.kt +++ b/compiler/testData/codegen/box/jvmOverloads/constructorWithTypeParams.kt @@ -1,7 +1,6 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME class C @JvmOverloads constructor(val s: String = "OK") -fun box() = C().s \ No newline at end of file +fun box() = C().s diff --git a/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.fir.txt b/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.fir.txt index cca2eb7690c..b9489dc9c42 100644 --- a/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.fir.txt +++ b/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.fir.txt @@ -222,15 +222,15 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (genericArray:kotlin.Array>) returnType:.Test2> [primary] - VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array> + CONSTRUCTOR visibility:public <> (genericArray:kotlin.Array.Test2>) returnType:.Test2.Test2> [primary] + VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array.Test2> BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' PROPERTY name:genericArray visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:genericArray type:kotlin.Array.Test2> visibility:private [final] EXPRESSION_BODY - GET_VAR 'genericArray: kotlin.Array> declared in .Test2.' type=kotlin.Array> origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'genericArray: kotlin.Array.Test2> declared in .Test2.' type=kotlin.Array.Test2> origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:kotlin.Array.Test2> correspondingProperty: PROPERTY name:genericArray visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Test2 @@ -243,13 +243,13 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Array.Test2> declared in .Test2' CALL 'public final fun (): kotlin.Array.Test2> declared in .Test2' type=kotlin.Array.Test2> origin=null - $this: GET_VAR ': .Test2 declared in .Test2' type=.Test2> origin=null - FUN name:copy visibility:public modality:FINAL <> ($this:.Test2, genericArray:kotlin.Array.Test2>) returnType:.Test2> + $this: GET_VAR ': .Test2 declared in .Test2' type=.Test2.Test2> origin=null + FUN name:copy visibility:public modality:FINAL <> ($this:.Test2, genericArray:kotlin.Array.Test2>) returnType:.Test2.Test2> $this: VALUE_PARAMETER name: type:.Test2 VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array.Test2> EXPRESSION_BODY CALL 'public final fun (): kotlin.Array.Test2> declared in .Test2' type=kotlin.Array.Test2> origin=null - $this: GET_VAR ': .Test2 declared in .Test2' type=.Test2> origin=null + $this: GET_VAR ': .Test2 declared in .Test2' type=.Test2.Test2> origin=null BLOCK_BODY FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: diff --git a/compiler/testData/ir/irText/classes/dataClassesGeneric.fir.txt b/compiler/testData/ir/irText/classes/dataClassesGeneric.fir.txt index 89312b09746..61fe605c5cf 100644 --- a/compiler/testData/ir/irText/classes/dataClassesGeneric.fir.txt +++ b/compiler/testData/ir/irText/classes/dataClassesGeneric.fir.txt @@ -2,15 +2,15 @@ FILE fqName: fileName:/dataClassesGeneric.kt CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T of ) returnType:.Test1> [primary] - VALUE_PARAMETER name:x index:0 type:T of + CONSTRUCTOR visibility:public <> (x:T of .Test1) returnType:.Test1.Test1> [primary] + VALUE_PARAMETER name:x index:0 type:T of .Test1 BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' PROPERTY name:x visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:x type:T of .Test1 visibility:private [final] EXPRESSION_BODY - GET_VAR 'x: T of declared in .Test1.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'x: T of .Test1 declared in .Test1.' type=T of .Test1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:T of .Test1 correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Test1 @@ -23,13 +23,13 @@ FILE fqName: fileName:/dataClassesGeneric.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun component1 (): T of .Test1 declared in .Test1' CALL 'public final fun (): T of .Test1 declared in .Test1' type=T of .Test1 origin=null - $this: GET_VAR ': .Test1 declared in .Test1' type=.Test1> origin=null - FUN name:copy visibility:public modality:FINAL <> ($this:.Test1, x:T of .Test1) returnType:.Test1> + $this: GET_VAR ': .Test1 declared in .Test1' type=.Test1.Test1> origin=null + FUN name:copy visibility:public modality:FINAL <> ($this:.Test1, x:T of .Test1) returnType:.Test1.Test1> $this: VALUE_PARAMETER name: type:.Test1 VALUE_PARAMETER name:x index:0 type:T of .Test1 EXPRESSION_BODY CALL 'public final fun (): T of .Test1 declared in .Test1' type=T of .Test1 origin=null - $this: GET_VAR ': .Test1 declared in .Test1' type=.Test1> origin=null + $this: GET_VAR ': .Test1 declared in .Test1' type=.Test1.Test1> origin=null BLOCK_BODY FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: @@ -47,15 +47,15 @@ FILE fqName: fileName:/dataClassesGeneric.kt CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2 TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] - CONSTRUCTOR visibility:public <> (x:T of ) returnType:.Test2> [primary] - VALUE_PARAMETER name:x index:0 type:T of + CONSTRUCTOR visibility:public <> (x:T of .Test2) returnType:.Test2.Test2> [primary] + VALUE_PARAMETER name:x index:0 type:T of .Test2 BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' PROPERTY name:x visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:x type:T of .Test2 visibility:private [final] EXPRESSION_BODY - GET_VAR 'x: T of declared in .Test2.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'x: T of .Test2 declared in .Test2.' type=T of .Test2 origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2) returnType:T of .Test2 correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Test2 @@ -68,13 +68,13 @@ FILE fqName: fileName:/dataClassesGeneric.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun component1 (): T of .Test2 declared in .Test2' CALL 'public final fun (): T of .Test2 declared in .Test2' type=T of .Test2 origin=null - $this: GET_VAR ': .Test2 declared in .Test2' type=.Test2> origin=null - FUN name:copy visibility:public modality:FINAL <> ($this:.Test2, x:T of .Test2) returnType:.Test2> + $this: GET_VAR ': .Test2 declared in .Test2' type=.Test2.Test2> origin=null + FUN name:copy visibility:public modality:FINAL <> ($this:.Test2, x:T of .Test2) returnType:.Test2.Test2> $this: VALUE_PARAMETER name: type:.Test2 VALUE_PARAMETER name:x index:0 type:T of .Test2 EXPRESSION_BODY CALL 'public final fun (): T of .Test2 declared in .Test2' type=T of .Test2 origin=null - $this: GET_VAR ': .Test2 declared in .Test2' type=.Test2> origin=null + $this: GET_VAR ': .Test2 declared in .Test2' type=.Test2.Test2> origin=null BLOCK_BODY FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: @@ -92,15 +92,15 @@ FILE fqName: fileName:/dataClassesGeneric.kt CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test3 TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:kotlin.collections.List>) returnType:.Test3> [primary] - VALUE_PARAMETER name:x index:0 type:kotlin.collections.List> + CONSTRUCTOR visibility:public <> (x:kotlin.collections.List.Test3>) returnType:.Test3.Test3> [primary] + VALUE_PARAMETER name:x index:0 type:kotlin.collections.List.Test3> BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' PROPERTY name:x visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.collections.List.Test3> visibility:private [final] EXPRESSION_BODY - GET_VAR 'x: kotlin.collections.List> declared in .Test3.' type=kotlin.collections.List> origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'x: kotlin.collections.List.Test3> declared in .Test3.' type=kotlin.collections.List.Test3> origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test3) returnType:kotlin.collections.List.Test3> correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Test3 @@ -113,13 +113,13 @@ FILE fqName: fileName:/dataClassesGeneric.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.collections.List.Test3> declared in .Test3' CALL 'public final fun (): kotlin.collections.List.Test3> declared in .Test3' type=kotlin.collections.List.Test3> origin=null - $this: GET_VAR ': .Test3 declared in .Test3' type=.Test3> origin=null - FUN name:copy visibility:public modality:FINAL <> ($this:.Test3, x:kotlin.collections.List.Test3>) returnType:.Test3> + $this: GET_VAR ': .Test3 declared in .Test3' type=.Test3.Test3> origin=null + FUN name:copy visibility:public modality:FINAL <> ($this:.Test3, x:kotlin.collections.List.Test3>) returnType:.Test3.Test3> $this: VALUE_PARAMETER name: type:.Test3 VALUE_PARAMETER name:x index:0 type:kotlin.collections.List.Test3> EXPRESSION_BODY CALL 'public final fun (): kotlin.collections.List.Test3> declared in .Test3' type=kotlin.collections.List.Test3> origin=null - $this: GET_VAR ': .Test3 declared in .Test3' type=.Test3> origin=null + $this: GET_VAR ': .Test3 declared in .Test3' type=.Test3.Test3> origin=null BLOCK_BODY FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: diff --git a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.fir.txt b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.fir.txt index e88a3513043..9b83142b6f5 100644 --- a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.fir.txt +++ b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.fir.txt @@ -2,15 +2,15 @@ FILE fqName: fileName:/delegatingConstructorCallToTypeAliasConstructor.kt CLASS CLASS name:Cell modality:OPEN visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:T of ) returnType:.Cell> [primary] - VALUE_PARAMETER name:value index:0 type:T of + CONSTRUCTOR visibility:public <> (value:T of .Cell) returnType:.Cell.Cell> [primary] + VALUE_PARAMETER name:value index:0 type:T of .Cell BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Cell modality:OPEN visibility:public superTypes:[kotlin.Any]' PROPERTY name:value visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:value type:T of .Cell visibility:private [final] EXPRESSION_BODY - GET_VAR 'value: T of declared in .Cell.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'value: T of .Cell declared in .Cell.' type=T of .Cell origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell) returnType:T of .Cell correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Cell @@ -35,7 +35,7 @@ FILE fqName: fileName:/delegatingConstructorCallToTypeAliasConstructor.kt $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C1 CONSTRUCTOR visibility:public <> () returnType:.C1 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor (value: T of ) [primary] declared in .Cell' + DELEGATING_CONSTRUCTOR_CALL 'public constructor (value: T of .Cell) [primary] declared in .Cell' : value: CONST String type=kotlin.String value="O" INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C1 modality:FINAL visibility:public superTypes:[.Cell]' @@ -62,7 +62,7 @@ FILE fqName: fileName:/delegatingConstructorCallToTypeAliasConstructor.kt $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C2 CONSTRUCTOR visibility:public <> () returnType:.C2 [primary] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor (value: T of ) [primary] declared in .Cell' + DELEGATING_CONSTRUCTOR_CALL 'public constructor (value: T of .Cell) [primary] declared in .Cell' : value: CONST String type=kotlin.String value="K" INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C2 modality:FINAL visibility:public superTypes:[.Cell]' diff --git a/compiler/testData/ir/irText/declarations/fakeOverrides.fir.txt b/compiler/testData/ir/irText/declarations/fakeOverrides.fir.txt index 8a6ce86ca47..851ab269874 100644 --- a/compiler/testData/ir/irText/declarations/fakeOverrides.fir.txt +++ b/compiler/testData/ir/irText/declarations/fakeOverrides.fir.txt @@ -39,7 +39,7 @@ FILE fqName: fileName:/fakeOverrides.kt CLASS CLASS name:CFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CFoo TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.CFoo> [primary] + CONSTRUCTOR visibility:public <> () returnType:.CFoo.CFoo> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/declarations/parameters/class.fir.txt b/compiler/testData/ir/irText/declarations/parameters/class.fir.txt index 67dfcaef72a..dfa19ce46c9 100644 --- a/compiler/testData/ir/irText/declarations/parameters/class.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/class.fir.txt @@ -34,14 +34,14 @@ FILE fqName: fileName:/class.kt CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test TYPE_PARAMETER name:T0 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Test> [primary] + CONSTRUCTOR visibility:public <> () returnType:.Test.Test> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]' CLASS CLASS name:TestNested modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.TestNested TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Test.TestNested> [primary] + CONSTRUCTOR visibility:public <> () returnType:.Test.TestNested.Test.TestNested> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestNested modality:FINAL visibility:public superTypes:[kotlin.Any]' @@ -61,7 +61,7 @@ FILE fqName: fileName:/class.kt CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test.TestInner TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Test.TestInner> [primary] + CONSTRUCTOR visibility:public <> () returnType:.Test.TestInner.Test.TestInner> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/declarations/parameters/constructor.fir.txt b/compiler/testData/ir/irText/declarations/parameters/constructor.fir.txt index 81cfc67e7d5..cba472c399f 100644 --- a/compiler/testData/ir/irText/declarations/parameters/constructor.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/constructor.fir.txt @@ -3,16 +3,16 @@ FILE fqName: fileName:/constructor.kt $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T1 of , y:T2 of ) returnType:.Test1, T2 of > [primary] - VALUE_PARAMETER name:x index:0 type:T1 of - VALUE_PARAMETER name:y index:1 type:T2 of + CONSTRUCTOR visibility:public <> (x:T1 of .Test1, y:T2 of .Test1) returnType:.Test1.Test1, T2 of .Test1> [primary] + VALUE_PARAMETER name:x index:0 type:T1 of .Test1 + VALUE_PARAMETER name:y index:1 type:T2 of .Test1 BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]' PROPERTY name:x visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:x type:T1 of .Test1 visibility:private [final] EXPRESSION_BODY - GET_VAR 'x: T1 of declared in .Test1.' type=T1 of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'x: T1 of .Test1 declared in .Test1.' type=T1 of .Test1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:T1 of .Test1 correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Test1 @@ -23,7 +23,7 @@ FILE fqName: fileName:/constructor.kt PROPERTY name:y visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:y type:T2 of .Test1 visibility:private [final] EXPRESSION_BODY - GET_VAR 'y: T2 of declared in .Test1.' type=T2 of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'y: T2 of .Test1 declared in .Test1.' type=T2 of .Test1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test1) returnType:T2 of .Test1 correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Test1 @@ -66,15 +66,15 @@ FILE fqName: fileName:/constructor.kt CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test2.TestInner TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (z:Z of ) returnType:.Test2.TestInner> [primary] - VALUE_PARAMETER name:z index:0 type:Z of + CONSTRUCTOR visibility:public <> (z:Z of .Test2.TestInner) returnType:.Test2.TestInner.Test2.TestInner> [primary] + VALUE_PARAMETER name:z index:0 type:Z of .Test2.TestInner BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' PROPERTY name:z visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:z type:Z of .Test2.TestInner visibility:private [final] EXPRESSION_BODY - GET_VAR 'z: Z of declared in .Test2.TestInner.' type=Z of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'z: Z of .Test2.TestInner declared in .Test2.TestInner.' type=Z of .Test2.TestInner origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test2.TestInner) returnType:Z of .Test2.TestInner correspondingProperty: PROPERTY name:z visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Test2.TestInner @@ -82,13 +82,13 @@ FILE fqName: fileName:/constructor.kt RETURN type=kotlin.Nothing from='public final fun (): Z of .Test2.TestInner declared in .Test2.TestInner' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:Z of .Test2.TestInner visibility:private [final]' type=Z of .Test2.TestInner origin=null receiver: GET_VAR ': .Test2.TestInner declared in .Test2.TestInner.' type=.Test2.TestInner origin=null - CONSTRUCTOR visibility:public <> (z:Z of , i:kotlin.Int) returnType:.Test2.TestInner> - VALUE_PARAMETER name:z index:0 type:Z of + CONSTRUCTOR visibility:public <> (z:Z of .Test2.TestInner, i:kotlin.Int) returnType:.Test2.TestInner.Test2.TestInner> + VALUE_PARAMETER name:z index:0 type:Z of .Test2.TestInner VALUE_PARAMETER name:i index:1 type:kotlin.Int BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor (z: Z of ) [primary] declared in .Test2.TestInner' + DELEGATING_CONSTRUCTOR_CALL 'public constructor (z: Z of .Test2.TestInner) [primary] declared in .Test2.TestInner' : - z: GET_VAR 'z: Z of declared in .Test2.TestInner.' type=Z of origin=null + z: GET_VAR 'z: Z of .Test2.TestInner declared in .Test2.TestInner.' type=Z of .Test2.TestInner origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -163,7 +163,7 @@ FILE fqName: fileName:/constructor.kt CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test4 TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test4> [primary] + CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test4.Test4> [primary] VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -179,7 +179,7 @@ FILE fqName: fileName:/constructor.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .Test4' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': .Test4 declared in .Test4.' type=.Test4 origin=null - CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Test4> + CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:.Test4.Test4> VALUE_PARAMETER name:x index:0 type:kotlin.Int VALUE_PARAMETER name:y index:1 type:kotlin.Int EXPRESSION_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.fir.txt b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.fir.txt index 734fabcb09b..f1426200999 100644 --- a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.fir.txt @@ -2,8 +2,8 @@ FILE fqName: fileName:/dataClassMembers.kt CLASS CLASS name:Test modality:FINAL visibility:public [data] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T of , y:kotlin.String) returnType:.Test> [primary] - VALUE_PARAMETER name:x index:0 type:T of + CONSTRUCTOR visibility:public <> (x:T of .Test, y:kotlin.String) returnType:.Test.Test> [primary] + VALUE_PARAMETER name:x index:0 type:T of .Test VALUE_PARAMETER name:y index:1 type:kotlin.String EXPRESSION_BODY CONST String type=kotlin.String value="" @@ -13,7 +13,7 @@ FILE fqName: fileName:/dataClassMembers.kt PROPERTY name:x visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:x type:T of .Test visibility:private [final] EXPRESSION_BODY - GET_VAR 'x: T of declared in .Test.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'x: T of .Test declared in .Test.' type=T of .Test origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Test) returnType:T of .Test correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Test @@ -37,23 +37,23 @@ FILE fqName: fileName:/dataClassMembers.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun component1 (): T of .Test declared in .Test' CALL 'public final fun (): T of .Test declared in .Test' type=T of .Test origin=null - $this: GET_VAR ': .Test declared in .Test' type=.Test> origin=null + $this: GET_VAR ': .Test declared in .Test' type=.Test.Test> origin=null FUN name:component2 visibility:public modality:FINAL <> ($this:.Test) returnType:kotlin.String $this: VALUE_PARAMETER name: type:.Test BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun component2 (): kotlin.String declared in .Test' CALL 'public final fun (): kotlin.String declared in .Test' type=kotlin.String origin=null - $this: GET_VAR ': .Test declared in .Test' type=.Test> origin=null - FUN name:copy visibility:public modality:FINAL <> ($this:.Test, x:T of .Test, y:kotlin.String) returnType:.Test> + $this: GET_VAR ': .Test declared in .Test' type=.Test.Test> origin=null + FUN name:copy visibility:public modality:FINAL <> ($this:.Test, x:T of .Test, y:kotlin.String) returnType:.Test.Test> $this: VALUE_PARAMETER name: type:.Test VALUE_PARAMETER name:x index:0 type:T of .Test EXPRESSION_BODY CALL 'public final fun (): T of .Test declared in .Test' type=T of .Test origin=null - $this: GET_VAR ': .Test declared in .Test' type=.Test> origin=null + $this: GET_VAR ': .Test declared in .Test' type=.Test.Test> origin=null VALUE_PARAMETER name:y index:1 type:kotlin.String EXPRESSION_BODY CALL 'public final fun (): kotlin.String declared in .Test' type=kotlin.String origin=null - $this: GET_VAR ': .Test declared in .Test' type=.Test> origin=null + $this: GET_VAR ': .Test declared in .Test' type=.Test.Test> origin=null BLOCK_BODY FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: diff --git a/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.fir.txt b/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.fir.txt index 6974f3cb3d4..a3d3160dc5a 100644 --- a/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.fir.txt @@ -75,8 +75,8 @@ FILE fqName: fileName:/defaultPropertyAccessors.kt CLASS CLASS name:InPrimaryCtor modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.InPrimaryCtor TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (testInPrimaryCtor1:T of , testInPrimaryCtor2:kotlin.Int) returnType:.InPrimaryCtor> [primary] - VALUE_PARAMETER name:testInPrimaryCtor1 index:0 type:T of + CONSTRUCTOR visibility:public <> (testInPrimaryCtor1:T of .InPrimaryCtor, testInPrimaryCtor2:kotlin.Int) returnType:.InPrimaryCtor.InPrimaryCtor> [primary] + VALUE_PARAMETER name:testInPrimaryCtor1 index:0 type:T of .InPrimaryCtor VALUE_PARAMETER name:testInPrimaryCtor2 index:1 type:kotlin.Int EXPRESSION_BODY CONST Int type=kotlin.Int value=42 @@ -86,7 +86,7 @@ FILE fqName: fileName:/defaultPropertyAccessors.kt PROPERTY name:testInPrimaryCtor1 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor1 type:T of .InPrimaryCtor visibility:private [final] EXPRESSION_BODY - GET_VAR 'testInPrimaryCtor1: T of declared in .InPrimaryCtor.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'testInPrimaryCtor1: T of .InPrimaryCtor declared in .InPrimaryCtor.' type=T of .InPrimaryCtor origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.InPrimaryCtor) returnType:T of .InPrimaryCtor correspondingProperty: PROPERTY name:testInPrimaryCtor1 visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.InPrimaryCtor diff --git a/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.txt b/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.txt index 974d6ed1439..76f0f762a95 100644 --- a/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.txt @@ -30,8 +30,8 @@ FILE fqName: fileName:/delegatedMembers.kt CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[.IBase.Test>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (impl:.IBase>) returnType:.Test> [primary] - VALUE_PARAMETER name:impl index:0 type:.IBase> + CONSTRUCTOR visibility:public <> (impl:.IBase.Test>) returnType:.Test.Test> [primary] + VALUE_PARAMETER name:impl index:0 type:.IBase.Test> BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[.IBase.Test>]' diff --git a/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.fir.txt b/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.fir.txt index 8e545193518..6f11701a7eb 100644 --- a/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.fir.txt @@ -2,14 +2,14 @@ FILE fqName: fileName:/genericInnerClass.kt CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Outer> [primary] + CONSTRUCTOR visibility:public <> () returnType:.Outer.Outer> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Outer.Inner> [primary] + CONSTRUCTOR visibility:public <> () returnType:.Outer.Inner.Outer.Inner> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.fir.txt b/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.fir.txt index 5bbe7305a18..c95e62b0e22 100644 --- a/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.fir.txt @@ -50,7 +50,7 @@ FILE fqName: fileName:/propertyAccessors.kt CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Host> [primary] + CONSTRUCTOR visibility:public <> () returnType:.Host.Host> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.fir.txt b/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.fir.txt index b48a317d6fd..8e673c72767 100644 --- a/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.fir.txt @@ -3,7 +3,7 @@ FILE fqName: fileName:/typeParameterBeforeBound.kt $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .Test1] TYPE_PARAMETER name:U index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Test1, U of > [primary] + CONSTRUCTOR visibility:public <> () returnType:.Test1.Test1, U of .Test1> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.fir.txt b/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.fir.txt index f990aeb9eb7..bebe78a89a7 100644 --- a/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.fir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/typeParameterBoundedBySubclass.kt CLASS CLASS name:Base1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base1 TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived1] - CONSTRUCTOR visibility:public <> () returnType:.Base1> [primary] + CONSTRUCTOR visibility:public <> () returnType:.Base1.Base1> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/expressions/callableRefToGenericMember.fir.txt b/compiler/testData/ir/irText/expressions/callableRefToGenericMember.fir.txt index 73285a3bb71..7e60cb118dc 100644 --- a/compiler/testData/ir/irText/expressions/callableRefToGenericMember.fir.txt +++ b/compiler/testData/ir/irText/expressions/callableRefToGenericMember.fir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/callableRefToGenericMember.kt CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.A> [primary] + CONSTRUCTOR visibility:public <> () returnType:.A.A> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/expressions/castToTypeParameter.fir.txt b/compiler/testData/ir/irText/expressions/castToTypeParameter.fir.txt index 93260e205a5..2d5cccad9de 100644 --- a/compiler/testData/ir/irText/expressions/castToTypeParameter.fir.txt +++ b/compiler/testData/ir/irText/expressions/castToTypeParameter.fir.txt @@ -23,7 +23,7 @@ FILE fqName: fileName:/castToTypeParameter.kt CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Host TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Host> [primary] + CONSTRUCTOR visibility:public <> () returnType:.Host.Host> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.fir.txt b/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.fir.txt index ded59124718..c11c56c611a 100644 --- a/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.fir.txt +++ b/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.fir.txt @@ -11,14 +11,14 @@ FILE fqName: fileName:/constructorWithOwnTypeParametersCall.kt CLASS CLASS name:K1 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K1 TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Number] - CONSTRUCTOR visibility:public <> () returnType:.K1> [primary] + CONSTRUCTOR visibility:public <> () returnType:.K1.K1> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K1 modality:FINAL visibility:public superTypes:[kotlin.Any]' CLASS CLASS name:K2 modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.K1.K2 TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.CharSequence] - CONSTRUCTOR visibility:public <> () returnType:.K1.K2> [primary] + CONSTRUCTOR visibility:public <> () returnType:.K1.K2.K1.K2> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K2 modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.fir.txt b/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.fir.txt index a3c48c22d45..1d98230b839 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.fir.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.fir.txt @@ -115,7 +115,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt CLASS CLASS name:F modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.F TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] - CONSTRUCTOR visibility:public <> () returnType:.F> [primary] + CONSTRUCTOR visibility:public <> () returnType:.F.F> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:FINAL visibility:public superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.txt b/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.txt index d0055b97258..f275eb8ef39 100644 --- a/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.txt +++ b/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.txt @@ -24,15 +24,15 @@ FILE fqName: fileName:/genericConstructorCallWithTypeArguments.kt CLASS CLASS name:Box modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Box TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:T of ) returnType:.Box> [primary] - VALUE_PARAMETER name:value index:0 type:T of + CONSTRUCTOR visibility:public <> (value:T of .Box) returnType:.Box.Box> [primary] + VALUE_PARAMETER name:value index:0 type:T of .Box BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Box modality:FINAL visibility:public superTypes:[kotlin.Any]' PROPERTY name:value visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:value type:T of .Box visibility:private [final] EXPRESSION_BODY - GET_VAR 'value: T of declared in .Box.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'value: T of .Box declared in .Box.' type=T of .Box origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Box) returnType:T of .Box correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Box diff --git a/compiler/testData/ir/irText/expressions/genericPropertyRef.fir.txt b/compiler/testData/ir/irText/expressions/genericPropertyRef.fir.txt index 6d4b4f51847..cc2f1b6fcc8 100644 --- a/compiler/testData/ir/irText/expressions/genericPropertyRef.fir.txt +++ b/compiler/testData/ir/irText/expressions/genericPropertyRef.fir.txt @@ -2,10 +2,10 @@ FILE fqName: fileName:/genericPropertyRef.kt CLASS CLASS name:Value modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Value TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:T of , text:kotlin.String?) returnType:.Value> [primary] - VALUE_PARAMETER name:value index:0 type:T of + CONSTRUCTOR visibility:public <> (value:T of .Value, text:kotlin.String?) returnType:.Value.Value> [primary] + VALUE_PARAMETER name:value index:0 type:T of .Value EXPRESSION_BODY - TYPE_OP type=T of origin=CAST typeOperand=T of + TYPE_OP type=T of .Value origin=CAST typeOperand=T of .Value CONST Null type=kotlin.Nothing? value=null VALUE_PARAMETER name:text index:1 type:kotlin.String? EXPRESSION_BODY @@ -16,7 +16,7 @@ FILE fqName: fileName:/genericPropertyRef.kt PROPERTY name:value visibility:public modality:FINAL [var] FIELD PROPERTY_BACKING_FIELD name:value type:T of .Value visibility:private EXPRESSION_BODY - GET_VAR 'value: T of declared in .Value.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'value: T of .Value declared in .Value.' type=T of .Value origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Value) returnType:T of .Value correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] $this: VALUE_PARAMETER name: type:.Value diff --git a/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.fir.txt b/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.fir.txt index 823040241c4..656daee2022 100644 --- a/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.fir.txt +++ b/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.fir.txt @@ -44,7 +44,7 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt CLASS CLASS name:Bar modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Bar TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Bar> [primary] + CONSTRUCTOR visibility:public <> () returnType:.Bar.Bar> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Bar modality:FINAL visibility:public superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/expressions/memberTypeArguments.fir.txt b/compiler/testData/ir/irText/expressions/memberTypeArguments.fir.txt index d326a38e126..6bb6482a1f6 100644 --- a/compiler/testData/ir/irText/expressions/memberTypeArguments.fir.txt +++ b/compiler/testData/ir/irText/expressions/memberTypeArguments.fir.txt @@ -2,15 +2,15 @@ FILE fqName: fileName:/memberTypeArguments.kt CLASS CLASS name:GenericClass modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.GenericClass TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:T of ) returnType:.GenericClass> [primary] - VALUE_PARAMETER name:value index:0 type:T of + CONSTRUCTOR visibility:public <> (value:T of .GenericClass) returnType:.GenericClass.GenericClass> [primary] + VALUE_PARAMETER name:value index:0 type:T of .GenericClass BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:GenericClass modality:FINAL visibility:public superTypes:[kotlin.Any]' PROPERTY name:value visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:value type:T of .GenericClass visibility:private [final] EXPRESSION_BODY - GET_VAR 'value: T of declared in .GenericClass.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'value: T of .GenericClass declared in .GenericClass.' type=T of .GenericClass origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.GenericClass) returnType:T of .GenericClass correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.GenericClass @@ -23,7 +23,7 @@ FILE fqName: fileName:/memberTypeArguments.kt VALUE_PARAMETER name:newValue index:0 type:T of .GenericClass BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun withNewValue (newValue: T of .GenericClass): .GenericClass.GenericClass> declared in .GenericClass' - CONSTRUCTOR_CALL 'public constructor (value: T of ) [primary] declared in .GenericClass' type=.GenericClass.GenericClass> origin=null + CONSTRUCTOR_CALL 'public constructor (value: T of .GenericClass) [primary] declared in .GenericClass' type=.GenericClass.GenericClass> origin=null : T of .GenericClass value: GET_VAR 'newValue: T of .GenericClass declared in .GenericClass.withNewValue' type=T of .GenericClass origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] diff --git a/compiler/testData/ir/irText/expressions/sam/samConversionInGenericConstructorCall_NI.fir.txt b/compiler/testData/ir/irText/expressions/sam/samConversionInGenericConstructorCall_NI.fir.txt index a253c13462b..293eb360479 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConversionInGenericConstructorCall_NI.fir.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConversionInGenericConstructorCall_NI.fir.txt @@ -9,15 +9,15 @@ FILE fqName: fileName:/samConversionInGenericConstructorCall_NI.kt CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (j11:.J, T1 of >) returnType:.Outer> [primary] - VALUE_PARAMETER name:j11 index:0 type:.J, T1 of > + CONSTRUCTOR visibility:public <> (j11:.J.Outer, T1 of .Outer>) returnType:.Outer.Outer> [primary] + VALUE_PARAMETER name:j11 index:0 type:.J.Outer, T1 of .Outer> BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' PROPERTY name:j11 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:j11 type:.J.Outer, T1 of .Outer> visibility:private [final] EXPRESSION_BODY - GET_VAR 'j11: .J, T1 of > declared in .Outer.' type=.J, T1 of > origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'j11: .J.Outer, T1 of .Outer> declared in .Outer.' type=.J.Outer, T1 of .Outer> origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer) returnType:.J.Outer, T1 of .Outer> correspondingProperty: PROPERTY name:j11 visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Outer @@ -28,15 +28,15 @@ FILE fqName: fileName:/samConversionInGenericConstructorCall_NI.kt CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (j12:.J.Outer, T2 of >) returnType:.Outer.Inner> [primary] - VALUE_PARAMETER name:j12 index:0 type:.J.Outer, T2 of > + CONSTRUCTOR visibility:public <> (j12:.J.Outer, T2 of .Outer.Inner>) returnType:.Outer.Inner.Outer.Inner> [primary] + VALUE_PARAMETER name:j12 index:0 type:.J.Outer, T2 of .Outer.Inner> BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]' PROPERTY name:j12 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:j12 type:.J.Outer, T2 of .Outer.Inner> visibility:private [final] EXPRESSION_BODY - GET_VAR 'j12: .J.Outer, T2 of > declared in .Outer.Inner.' type=.J.Outer, T2 of > origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'j12: .J.Outer, T2 of .Outer.Inner> declared in .Outer.Inner.' type=.J.Outer, T2 of .Outer.Inner> origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer.Inner) returnType:.J.Outer, T2 of .Outer.Inner> correspondingProperty: PROPERTY name:j12 visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Outer.Inner diff --git a/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.fir.txt b/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.fir.txt index db39085b58e..89c61e5b3d5 100644 --- a/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.fir.txt +++ b/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.fir.txt @@ -2,15 +2,15 @@ FILE fqName: fileName:/specializedTypeAliasConstructorCall.kt CLASS CLASS name:Cell modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:T of ) returnType:.Cell> [primary] - VALUE_PARAMETER name:value index:0 type:T of + CONSTRUCTOR visibility:public <> (value:T of .Cell) returnType:.Cell.Cell> [primary] + VALUE_PARAMETER name:value index:0 type:T of .Cell BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Cell modality:FINAL visibility:public superTypes:[kotlin.Any]' PROPERTY name:value visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:value type:T of .Cell visibility:private [final] EXPRESSION_BODY - GET_VAR 'value: T of declared in .Cell.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'value: T of .Cell declared in .Cell.' type=T of .Cell origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell) returnType:T of .Cell correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Cell @@ -34,6 +34,6 @@ FILE fqName: fileName:/specializedTypeAliasConstructorCall.kt FUN name:test visibility:public modality:FINAL <> () returnType:.Cell BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test (): .Cell declared in ' - CONSTRUCTOR_CALL 'public constructor (value: T of ) [primary] declared in .Cell' type=.Cell origin=null - : kotlin.Int + CONSTRUCTOR_CALL 'public constructor (value: kotlin.Int) declared in .Cell' type=.Cell origin=null + : value: CONST Int type=kotlin.Int value=42 diff --git a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.fir.txt b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.fir.txt index d5cf93d9a60..1ef7ab328b7 100644 --- a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.fir.txt +++ b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.fir.txt @@ -2,15 +2,15 @@ FILE fqName: fileName:/thisOfGenericOuterClass.kt CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T of ) returnType:.Outer> [primary] - VALUE_PARAMETER name:x index:0 type:T of + CONSTRUCTOR visibility:public <> (x:T of .Outer) returnType:.Outer.Outer> [primary] + VALUE_PARAMETER name:x index:0 type:T of .Outer BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' PROPERTY name:x visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:x type:T of .Outer visibility:private [final] EXPRESSION_BODY - GET_VAR 'x: T of declared in .Outer.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'x: T of .Outer declared in .Outer.' type=T of .Outer origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Outer) returnType:T of .Outer correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Outer diff --git a/compiler/testData/ir/irText/regressions/integerCoercionToT.fir.txt b/compiler/testData/ir/irText/regressions/integerCoercionToT.fir.txt index 2f1dde88692..9dd8cd768ba 100644 --- a/compiler/testData/ir/irText/regressions/integerCoercionToT.fir.txt +++ b/compiler/testData/ir/irText/regressions/integerCoercionToT.fir.txt @@ -23,7 +23,7 @@ FILE fqName: fileName:/integerCoercionToT.kt CLASS CLASS name:CInt32VarX modality:FINAL visibility:public superTypes:[.CPointed] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.CInt32VarX TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.CInt32VarX> [primary] + CONSTRUCTOR visibility:public <> () returnType:.CInt32VarX.CInt32VarX> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:CInt32VarX modality:FINAL visibility:public superTypes:[.CPointed]' diff --git a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.fir.txt b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.fir.txt index da230ad3642..0b50a7e313a 100644 --- a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.fir.txt +++ b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.fir.txt @@ -2,15 +2,15 @@ FILE fqName: fileName:/typeAliasCtorForGenericClass.kt CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A TYPE_PARAMETER name:Q index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (q:Q of ) returnType:.A> [primary] - VALUE_PARAMETER name:q index:0 type:Q of + CONSTRUCTOR visibility:public <> (q:Q of .A) returnType:.A.A> [primary] + VALUE_PARAMETER name:q index:0 type:Q of .A BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' PROPERTY name:q visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:q type:Q of .A visibility:private [final] EXPRESSION_BODY - GET_VAR 'q: Q of declared in .A.' type=Q of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'q: Q of .A declared in .A.' type=Q of .A origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.A) returnType:Q of .A correspondingProperty: PROPERTY name:q visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.A @@ -34,10 +34,10 @@ FILE fqName: fileName:/typeAliasCtorForGenericClass.kt FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY VAR name:b type:.A [val] - CONSTRUCTOR_CALL 'public constructor (q: Q of ) [primary] declared in .A' type=.A origin=null + CONSTRUCTOR_CALL 'public constructor (q: X of ) declared in .A' type=.A origin=null : kotlin.Int q: CONST Int type=kotlin.Int value=2 VAR name:b2 type:.A<.A> [val] - CONSTRUCTOR_CALL 'public constructor (q: Q of ) [primary] declared in .A' type=.A<.A> origin=null - : .A + CONSTRUCTOR_CALL 'public constructor (q: .A>) declared in .A' type=.A<.A> origin=null + : kotlin.Int q: GET_VAR 'val b: .A [val] declared in .bar' type=.A origin=null diff --git a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.fir.txt b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.fir.txt index 48aef99f268..88c98bcfff0 100644 --- a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.fir.txt +++ b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.fir.txt @@ -2,15 +2,15 @@ FILE fqName: fileName:/genericClassInDifferentModule_m1.kt CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Base TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T of ) returnType:.Base> [primary] - VALUE_PARAMETER name:x index:0 type:T of + CONSTRUCTOR visibility:public <> (x:T of .Base) returnType:.Base.Base> [primary] + VALUE_PARAMETER name:x index:0 type:T of .Base BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' PROPERTY name:x visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:x type:T of .Base visibility:private [final] EXPRESSION_BODY - GET_VAR 'x: T of declared in .Base.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'x: T of .Base declared in .Base.' type=T of .Base origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Base) returnType:T of .Base correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.Base diff --git a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.fir.txt b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.fir.txt index aa2e2f31f75..2c44ab28b93 100644 --- a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.fir.txt +++ b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.fir.txt @@ -2,12 +2,12 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[.Base.Derived1>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Derived1 TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T of ) returnType:.Derived1> [primary] - VALUE_PARAMETER name:x index:0 type:T of + CONSTRUCTOR visibility:public <> (x:T of .Derived1) returnType:.Derived1.Derived1> [primary] + VALUE_PARAMETER name:x index:0 type:T of .Derived1 BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: T of ) [primary] declared in .Base' + DELEGATING_CONSTRUCTOR_CALL 'public constructor (x: T of .Base) [primary] declared in .Base' : - x: GET_VAR 'x: T of declared in .Derived1.' type=T of origin=null + x: GET_VAR 'x: T of .Derived1 declared in .Derived1.' type=T of .Derived1 origin=null INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived1 modality:FINAL visibility:public superTypes:[.Base.Derived1>]' FUN name:foo visibility:public modality:FINAL ($this:.Derived1, y:Y of .Derived1.foo) returnType:T of .Derived1 TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] @@ -20,7 +20,7 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt PROPERTY name:bar visibility:public modality:FINAL [var] FIELD PROPERTY_BACKING_FIELD name:bar type:T of .Derived1 visibility:private EXPRESSION_BODY - GET_VAR 'x: T of declared in .Derived1.' type=T of origin=null + GET_VAR 'x: T of .Derived1 declared in .Derived1.' type=T of .Derived1 origin=null FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Derived1) returnType:T of .Derived1 correspondingProperty: PROPERTY name:bar visibility:public modality:FINAL [var] $this: VALUE_PARAMETER name: type:.Derived1 @@ -42,7 +42,7 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt $this: VALUE_PARAMETER name: type:.Derived1 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): T of .Derived1 declared in .Derived1' - GET_VAR 'x: T of declared in .Derived1.' type=T of origin=null + GET_VAR 'x: T of .Derived1 declared in .Derived1.' type=T of .Derived1 origin=null FUN name: visibility:public modality:FINAL <> ($this:.Derived1, value:T of .Derived1) returnType:kotlin.Unit correspondingProperty: PROPERTY name:exn visibility:public modality:FINAL [var] $this: VALUE_PARAMETER name: type:.Derived1 diff --git a/compiler/testData/ir/irText/types/genericPropertyReferenceType.fir.txt b/compiler/testData/ir/irText/types/genericPropertyReferenceType.fir.txt index 07cb25e021d..314ca58abdf 100644 --- a/compiler/testData/ir/irText/types/genericPropertyReferenceType.fir.txt +++ b/compiler/testData/ir/irText/types/genericPropertyReferenceType.fir.txt @@ -2,15 +2,15 @@ FILE fqName: fileName:/genericPropertyReferenceType.kt CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.C TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (x:T of ) returnType:.C> [primary] - VALUE_PARAMETER name:x index:0 type:T of + CONSTRUCTOR visibility:public <> (x:T of .C) returnType:.C.C> [primary] + VALUE_PARAMETER name:x index:0 type:T of .C BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' PROPERTY name:x visibility:public modality:FINAL [var] FIELD PROPERTY_BACKING_FIELD name:x type:T of .C visibility:private EXPRESSION_BODY - GET_VAR 'x: T of declared in .C.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'x: T of .C declared in .C.' type=T of .C origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:T of .C correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [var] $this: VALUE_PARAMETER name: type:.C diff --git a/compiler/testData/ir/irText/types/intersectionType1_NI.fir.txt b/compiler/testData/ir/irText/types/intersectionType1_NI.fir.txt index fad52916c8b..5b007a6cf97 100644 --- a/compiler/testData/ir/irText/types/intersectionType1_NI.fir.txt +++ b/compiler/testData/ir/irText/types/intersectionType1_NI.fir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/intersectionType1_NI.kt CLASS CLASS name:In modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.In> [primary] + CONSTRUCTOR visibility:public <> () returnType:.In.In> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:In modality:FINAL visibility:public superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/types/intersectionType1_OI.fir.txt b/compiler/testData/ir/irText/types/intersectionType1_OI.fir.txt index edd776abb91..b1c4edd3083 100644 --- a/compiler/testData/ir/irText/types/intersectionType1_OI.fir.txt +++ b/compiler/testData/ir/irText/types/intersectionType1_OI.fir.txt @@ -2,7 +2,7 @@ FILE fqName: fileName:/intersectionType1_OI.kt CLASS CLASS name:In modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.In> [primary] + CONSTRUCTOR visibility:public <> () returnType:.In.In> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:In modality:FINAL visibility:public superTypes:[kotlin.Any]' diff --git a/compiler/testData/ir/irText/types/smartCastOnReceiverOfGenericType.fir.txt b/compiler/testData/ir/irText/types/smartCastOnReceiverOfGenericType.fir.txt index 6a8a3f6b723..35c03e51a3d 100644 --- a/compiler/testData/ir/irText/types/smartCastOnReceiverOfGenericType.fir.txt +++ b/compiler/testData/ir/irText/types/smartCastOnReceiverOfGenericType.fir.txt @@ -48,15 +48,15 @@ FILE fqName: fileName:/smartCastOnReceiverOfGenericType.kt CLASS CLASS name:Cell modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Cell TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> (value:T of ) returnType:.Cell> [primary] - VALUE_PARAMETER name:value index:0 type:T of + CONSTRUCTOR visibility:public <> (value:T of .Cell) returnType:.Cell.Cell> [primary] + VALUE_PARAMETER name:value index:0 type:T of .Cell BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Cell modality:FINAL visibility:public superTypes:[kotlin.Any]' PROPERTY name:value visibility:public modality:FINAL [var] FIELD PROPERTY_BACKING_FIELD name:value type:T of .Cell visibility:private EXPRESSION_BODY - GET_VAR 'value: T of declared in .Cell.' type=T of origin=INITIALIZE_PROPERTY_FROM_PARAMETER + GET_VAR 'value: T of .Cell declared in .Cell.' type=T of .Cell origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Cell) returnType:T of .Cell correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [var] $this: VALUE_PARAMETER name: type:.Cell @@ -88,14 +88,14 @@ FILE fqName: fileName:/smartCastOnReceiverOfGenericType.kt CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Outer> [primary] + CONSTRUCTOR visibility:public <> () returnType:.Outer.Outer> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]' CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Outer.Inner TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] - CONSTRUCTOR visibility:public <> () returnType:.Outer.Inner> [primary] + CONSTRUCTOR visibility:public <> () returnType:.Outer.Inner.Outer.Inner> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]'