diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index bc2488906b5..43f21d5dfa8 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -208,21 +208,27 @@ class Fir2IrDeclarationStorage( } fun getIrTypeParameter(typeParameter: FirTypeParameter, index: Int = 0): IrTypeParameter { - return typeParameterCache.getOrPut(typeParameter) { + return typeParameterCache[typeParameter] ?: typeParameter.run { val descriptor = WrappedTypeParameterDescriptor() val origin = IrDeclarationOrigin.DEFINED - typeParameter.convertWithOffsets { startOffset, endOffset -> - irSymbolTable.declareGlobalTypeParameter(startOffset, endOffset, origin, descriptor) { symbol -> - IrTypeParameterImpl( - startOffset, endOffset, origin, symbol, - typeParameter.name, index, - typeParameter.isReified, - typeParameter.variance - ).apply { - descriptor.bind(this) + val irTypeParameter = + convertWithOffsets { startOffset, endOffset -> + irSymbolTable.declareGlobalTypeParameter(startOffset, endOffset, origin, descriptor) { symbol -> + IrTypeParameterImpl( + startOffset, endOffset, origin, symbol, + name, index, + isReified, + variance + ).apply { + descriptor.bind(this) + } } } - } + + // Cache the type parameter BEFORE processing its bounds/supertypes, to properly handle recursive type bounds. + typeParameterCache[typeParameter] = irTypeParameter + bounds.mapTo(irTypeParameter.superTypes) { it.toIrType(session, this@Fir2IrDeclarationStorage) } + irTypeParameter } } @@ -288,6 +294,9 @@ class Fir2IrDeclarationStorage( if (function !is FirConstructor) { val thisOrigin = IrDeclarationOrigin.DEFINED if (function is FirSimpleFunction) { + for ((index, typeParameter) in function.typeParameters.withIndex()) { + typeParameters += getIrTypeParameter(typeParameter, index).apply { this.parent = parent } + } val receiverTypeRef = function.receiverTypeRef if (receiverTypeRef != null) { extensionReceiverParameter = receiverTypeRef.convertWithOffsets { startOffset, endOffset -> diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index 8e291705a12..8e65cef06e0 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -219,7 +219,8 @@ class Fir2IrVisitor( } } else if (fakeOverrideMode != FakeOverrideMode.SUBSTITUTION) { // Trivial fake override case - val fakeOverrideSymbol = FirClassSubstitutionScope.createFakeOverrideFunction(session, originalFunction, functionSymbol) + val fakeOverrideSymbol = + FirClassSubstitutionScope.createFakeOverrideFunction(session, originalFunction, functionSymbol) val fakeOverrideFunction = fakeOverrideSymbol.fir val irFunction = declarationStorage.getIrFunction( @@ -247,7 +248,8 @@ class Fir2IrVisitor( } } else if (fakeOverrideMode != FakeOverrideMode.SUBSTITUTION) { // Trivial fake override case - val fakeOverrideSymbol = FirClassSubstitutionScope.createFakeOverrideProperty(session, originalProperty, propertySymbol) + val fakeOverrideSymbol = + FirClassSubstitutionScope.createFakeOverrideProperty(session, originalProperty, propertySymbol) val fakeOverrideProperty = fakeOverrideSymbol.fir val irProperty = declarationStorage.getIrProperty( @@ -323,11 +325,6 @@ class Fir2IrVisitor( ): T { setParentByParentStack() withParent { - if (firFunction is FirSimpleFunction) { - for ((index, typeParameter) in firFunction.typeParameters.withIndex()) { - typeParameters += declarationStorage.getIrTypeParameter(typeParameter, index).setParentByParentStack() - } - } val firFunctionSymbol = (firFunction as? FirSimpleFunction)?.symbol val lastClass = classStack.lastOrNull() val containingClass = if (firOverriddenSymbol == null || firFunctionSymbol == null) { @@ -762,6 +759,32 @@ class Fir2IrVisitor( } } + private fun IrExpression.applyTypeArguments(call: FirFunctionCall): IrExpression { + return when (this) { + is IrCallWithIndexedArgumentsBase -> { + val argumentsCount = call.typeArguments.size + if (argumentsCount <= typeArgumentsCount) { + apply { + for ((index, argument) in call.typeArguments.withIndex()) { + val argumentIrType = (argument as FirTypeProjectionWithVariance).typeRef.toIrType( + session, + declarationStorage + ) + putTypeArgument(index, argumentIrType) + } + } + } else { + val name = if (this is IrCallImpl) symbol.owner.name else "???" + IrErrorExpressionImpl( + startOffset, endOffset, type, + "Cannot bind $argumentsCount type arguments to $name call with $typeArgumentsCount type parameters" + ) + } + } + else -> this + } + } + private fun IrExpression.applyReceivers(qualifiedAccess: FirQualifiedAccess): IrExpression { return when (this) { is IrCallImpl -> { @@ -794,7 +817,8 @@ class Fir2IrVisitor( } override fun visitFunctionCall(functionCall: FirFunctionCall, data: Any?): IrElement { - return functionCall.toIrExpression(functionCall.typeRef).applyCallArguments(functionCall).applyReceivers(functionCall) + return functionCall.toIrExpression(functionCall.typeRef).applyCallArguments(functionCall).applyTypeArguments(functionCall) + .applyReceivers(functionCall) } override fun visitAnnotationCall(annotationCall: FirAnnotationCall, data: Any?): IrElement { @@ -906,7 +930,11 @@ class Fir2IrVisitor( listOf( anonymousClass, IrConstructorCallImpl.fromSymbolOwner( - startOffset, endOffset, anonymousClassType, anonymousClass.constructors.first().symbol, anonymousClass.typeParameters.size + startOffset, + endOffset, + anonymousClassType, + anonymousClass.constructors.first().symbol, + anonymousClass.typeParameters.size ) ) ) diff --git a/compiler/testData/codegen/box/arrays/kt602.kt b/compiler/testData/codegen/box/arrays/kt602.kt index bf1309fd720..d13d208908d 100644 --- a/compiler/testData/codegen/box/arrays/kt602.kt +++ b/compiler/testData/codegen/box/arrays/kt602.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/boxingOptimization/kt15871.kt b/compiler/testData/codegen/box/boxingOptimization/kt15871.kt index 243f7aae8dc..f41df27c983 100644 --- a/compiler/testData/codegen/box/boxingOptimization/kt15871.kt +++ b/compiler/testData/codegen/box/boxingOptimization/kt15871.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun box() = if (getAndCheck({ 42 }, { 42 })) "OK" else "fail" diff --git a/compiler/testData/codegen/box/boxingOptimization/taintedValues.kt b/compiler/testData/codegen/box/boxingOptimization/taintedValues.kt index efaea2a3b8a..8be9aab8720 100644 --- a/compiler/testData/codegen/box/boxingOptimization/taintedValues.kt +++ b/compiler/testData/codegen/box/boxingOptimization/taintedValues.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // KJS_WITH_FULL_RUNTIME // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/bridges/kt2920.kt b/compiler/testData/codegen/box/bridges/kt2920.kt index ea89c9646a4..0f71953ba12 100644 --- a/compiler/testData/codegen/box/bridges/kt2920.kt +++ b/compiler/testData/codegen/box/bridges/kt2920.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR interface Tr { val v: T } diff --git a/compiler/testData/codegen/box/builtinStubMethods/substitutedIterable.kt b/compiler/testData/codegen/box/builtinStubMethods/substitutedIterable.kt index cf5b8b5c250..870f991250e 100644 --- a/compiler/testData/codegen/box/builtinStubMethods/substitutedIterable.kt +++ b/compiler/testData/codegen/box/builtinStubMethods/substitutedIterable.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // FILE: Test.java diff --git a/compiler/testData/codegen/box/callableReference/varargAndDefaults/varargViewedAsPrimitiveArray.kt b/compiler/testData/codegen/box/callableReference/varargAndDefaults/varargViewedAsPrimitiveArray.kt index cffaec7e0af..9cbac0a95c9 100644 --- a/compiler/testData/codegen/box/callableReference/varargAndDefaults/varargViewedAsPrimitiveArray.kt +++ b/compiler/testData/codegen/box/callableReference/varargAndDefaults/varargViewedAsPrimitiveArray.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // !LANGUAGE: +NewInference // DONT_RUN_GENERATED_CODE: JS // IGNORE_BACKEND_FIR: JVM_IR diff --git a/compiler/testData/codegen/box/casts/asWithGeneric.kt b/compiler/testData/codegen/box/casts/asWithGeneric.kt index be67b829061..5f59c9c06ca 100644 --- a/compiler/testData/codegen/box/casts/asWithGeneric.kt +++ b/compiler/testData/codegen/box/casts/asWithGeneric.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS diff --git a/compiler/testData/codegen/box/casts/castGenericNull.kt b/compiler/testData/codegen/box/casts/castGenericNull.kt index ad6392d4b71..42628250375 100644 --- a/compiler/testData/codegen/box/casts/castGenericNull.kt +++ b/compiler/testData/codegen/box/casts/castGenericNull.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun castToString(t: T) { t as String } diff --git a/compiler/testData/codegen/box/casts/intersectionTypeWithMultipleBoundsAsReceiver.kt b/compiler/testData/codegen/box/casts/intersectionTypeWithMultipleBoundsAsReceiver.kt index 1aafa02c2da..8c58629b05c 100644 --- a/compiler/testData/codegen/box/casts/intersectionTypeWithMultipleBoundsAsReceiver.kt +++ b/compiler/testData/codegen/box/casts/intersectionTypeWithMultipleBoundsAsReceiver.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR interface Foo interface Bar diff --git a/compiler/testData/codegen/box/casts/intersectionTypeWithoutGenericsAsReceiver.kt b/compiler/testData/codegen/box/casts/intersectionTypeWithoutGenericsAsReceiver.kt index 14ecc0d2962..52c1ef7e498 100644 --- a/compiler/testData/codegen/box/casts/intersectionTypeWithoutGenericsAsReceiver.kt +++ b/compiler/testData/codegen/box/casts/intersectionTypeWithoutGenericsAsReceiver.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR interface A interface B diff --git a/compiler/testData/codegen/box/classes/kt1345.kt b/compiler/testData/codegen/box/classes/kt1345.kt index 88f78350515..3933f9c552e 100644 --- a/compiler/testData/codegen/box/classes/kt1345.kt +++ b/compiler/testData/codegen/box/classes/kt1345.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR interface Creator { fun create() : T } diff --git a/compiler/testData/codegen/box/classes/simpleBox.kt b/compiler/testData/codegen/box/classes/simpleBox.kt index d94252e3bb7..be95d012d51 100644 --- a/compiler/testData/codegen/box/classes/simpleBox.kt +++ b/compiler/testData/codegen/box/classes/simpleBox.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class Box(t: T) { var value = t } diff --git a/compiler/testData/codegen/box/collections/mutableList.kt b/compiler/testData/codegen/box/collections/mutableList.kt index 7a8766109f7..8941b444032 100644 --- a/compiler/testData/codegen/box/collections/mutableList.kt +++ b/compiler/testData/codegen/box/collections/mutableList.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // FILE: J.java diff --git a/compiler/testData/codegen/box/constructorCall/breakInConstructorArguments.kt b/compiler/testData/codegen/box/constructorCall/breakInConstructorArguments.kt index 524e8230e83..37c69cf0334 100644 --- a/compiler/testData/codegen/box/constructorCall/breakInConstructorArguments.kt +++ b/compiler/testData/codegen/box/constructorCall/breakInConstructorArguments.kt @@ -1,5 +1,4 @@ // !LANGUAGE: -NormalizeConstructorCalls -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME // FILE: test.kt diff --git a/compiler/testData/codegen/box/constructorCall/continueInConstructorArguments.kt b/compiler/testData/codegen/box/constructorCall/continueInConstructorArguments.kt index b581ca6ee06..89dec1e45f8 100644 --- a/compiler/testData/codegen/box/constructorCall/continueInConstructorArguments.kt +++ b/compiler/testData/codegen/box/constructorCall/continueInConstructorArguments.kt @@ -1,5 +1,4 @@ // !LANGUAGE: -NormalizeConstructorCalls -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME // FILE: test.kt diff --git a/compiler/testData/codegen/box/constructorCall/earlyReturnInConstructorArguments.kt b/compiler/testData/codegen/box/constructorCall/earlyReturnInConstructorArguments.kt index b63055c5a3c..a862c46bfc2 100644 --- a/compiler/testData/codegen/box/constructorCall/earlyReturnInConstructorArguments.kt +++ b/compiler/testData/codegen/box/constructorCall/earlyReturnInConstructorArguments.kt @@ -1,5 +1,4 @@ // !LANGUAGE: -NormalizeConstructorCalls -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME inline fun ok(): String { diff --git a/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallEvaluationOrder.kt b/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallEvaluationOrder.kt index 86426bf5260..bc9984d4c0e 100644 --- a/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallEvaluationOrder.kt +++ b/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallEvaluationOrder.kt @@ -1,5 +1,4 @@ // !LANGUAGE: -NormalizeConstructorCalls -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME // FILE: test.kt diff --git a/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallWithDisabledNormalization.kt b/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallWithDisabledNormalization.kt index 401629cbd5e..79020cc9986 100644 --- a/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallWithDisabledNormalization.kt +++ b/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallWithDisabledNormalization.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME // KOTLIN_CONFIGURATION_FLAGS: CONSTRUCTOR_CALL_NORMALIZATION_MODE=disable diff --git a/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallWithEnabledNormalization.kt b/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallWithEnabledNormalization.kt index d72e735aa25..64c7310ef57 100644 --- a/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallWithEnabledNormalization.kt +++ b/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallWithEnabledNormalization.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME // KOTLIN_CONFIGURATION_FLAGS: CONSTRUCTOR_CALL_NORMALIZATION_MODE=enable diff --git a/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallWithStrictNormalization.kt b/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallWithStrictNormalization.kt index 7796d74a10f..65ef307f5b8 100644 --- a/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallWithStrictNormalization.kt +++ b/compiler/testData/codegen/box/constructorCall/inlineFunInConstructorCallWithStrictNormalization.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME // KOTLIN_CONFIGURATION_FLAGS: CONSTRUCTOR_CALL_NORMALIZATION_MODE=preserve-class-initialization diff --git a/compiler/testData/codegen/box/constructorCall/inlineFunInLocalClassConstructorCall.kt b/compiler/testData/codegen/box/constructorCall/inlineFunInLocalClassConstructorCall.kt index 9fa62bfa9ec..f4c2a1b8ad0 100644 --- a/compiler/testData/codegen/box/constructorCall/inlineFunInLocalClassConstructorCall.kt +++ b/compiler/testData/codegen/box/constructorCall/inlineFunInLocalClassConstructorCall.kt @@ -1,5 +1,4 @@ // !LANGUAGE: -NormalizeConstructorCalls -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME // FILE: test.kt diff --git a/compiler/testData/codegen/box/constructorCall/regularConstructorCallEvaluationOrder.kt b/compiler/testData/codegen/box/constructorCall/regularConstructorCallEvaluationOrder.kt index f132146af51..dcba51be98f 100644 --- a/compiler/testData/codegen/box/constructorCall/regularConstructorCallEvaluationOrder.kt +++ b/compiler/testData/codegen/box/constructorCall/regularConstructorCallEvaluationOrder.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME // FILE: test.kt diff --git a/compiler/testData/codegen/box/constructorCall/tryCatchInConstructorCallEvaluationOrder.kt b/compiler/testData/codegen/box/constructorCall/tryCatchInConstructorCallEvaluationOrder.kt index 1d0bf6c1871..5b346276e62 100644 --- a/compiler/testData/codegen/box/constructorCall/tryCatchInConstructorCallEvaluationOrder.kt +++ b/compiler/testData/codegen/box/constructorCall/tryCatchInConstructorCallEvaluationOrder.kt @@ -1,5 +1,4 @@ // !LANGUAGE: -NormalizeConstructorCalls -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME // FILE: test.kt diff --git a/compiler/testData/codegen/box/controlStructures/parameterWithNameForFunctionType.kt b/compiler/testData/codegen/box/controlStructures/parameterWithNameForFunctionType.kt index 8dc9a651ada..3796119d725 100644 --- a/compiler/testData/codegen/box/controlStructures/parameterWithNameForFunctionType.kt +++ b/compiler/testData/codegen/box/controlStructures/parameterWithNameForFunctionType.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun test(a: T, b: T, operation: (x: T) -> T) { operation(if (3 > 2) a else b) } diff --git a/compiler/testData/codegen/box/elvis/genericNull.kt b/compiler/testData/codegen/box/elvis/genericNull.kt index d5e93f2e96c..beb1cb723f2 100644 --- a/compiler/testData/codegen/box/elvis/genericNull.kt +++ b/compiler/testData/codegen/box/elvis/genericNull.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun foo(t: T) { (t ?: 42).toInt() } diff --git a/compiler/testData/codegen/box/functions/invoke/implicitInvokeWithFunctionLiteralArgument.kt b/compiler/testData/codegen/box/functions/invoke/implicitInvokeWithFunctionLiteralArgument.kt index aadb4fa967a..de3ac9fbc73 100644 --- a/compiler/testData/codegen/box/functions/invoke/implicitInvokeWithFunctionLiteralArgument.kt +++ b/compiler/testData/codegen/box/functions/invoke/implicitInvokeWithFunctionLiteralArgument.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class TestClass { inline operator fun invoke(task: () -> T) = task() } diff --git a/compiler/testData/codegen/box/functions/kt3313.kt b/compiler/testData/codegen/box/functions/kt3313.kt index 2194f8e1b8c..5e2e887c2a8 100644 --- a/compiler/testData/codegen/box/functions/kt3313.kt +++ b/compiler/testData/codegen/box/functions/kt3313.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun foo(t: T) { } diff --git a/compiler/testData/codegen/box/inference/capturedStarProjection.kt b/compiler/testData/codegen/box/inference/capturedStarProjection.kt index 3fb58716ebc..fc9c5ffbfd4 100644 --- a/compiler/testData/codegen/box/inference/capturedStarProjection.kt +++ b/compiler/testData/codegen/box/inference/capturedStarProjection.kt @@ -1,5 +1,4 @@ // !LANGUAGE: +NewInference -// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME interface A { diff --git a/compiler/testData/codegen/box/innerNested/nestedClassInObject.kt b/compiler/testData/codegen/box/innerNested/nestedClassInObject.kt index d2510db5bf7..ec3f72d4b20 100644 --- a/compiler/testData/codegen/box/innerNested/nestedClassInObject.kt +++ b/compiler/testData/codegen/box/innerNested/nestedClassInObject.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR object A { class B class C diff --git a/compiler/testData/codegen/box/javaInterop/generics/allWildcardsOnClass.kt b/compiler/testData/codegen/box/javaInterop/generics/allWildcardsOnClass.kt index d0d3f26f65f..e46f3aed9cd 100644 --- a/compiler/testData/codegen/box/javaInterop/generics/allWildcardsOnClass.kt +++ b/compiler/testData/codegen/box/javaInterop/generics/allWildcardsOnClass.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/javaInterop/notNullAssertions/enhancedNullability/inFunctionWithExpressionBodyWithJavaGeneric.kt b/compiler/testData/codegen/box/javaInterop/notNullAssertions/enhancedNullability/inFunctionWithExpressionBodyWithJavaGeneric.kt index 013e6a5478c..e85957c8e19 100644 --- a/compiler/testData/codegen/box/javaInterop/notNullAssertions/enhancedNullability/inFunctionWithExpressionBodyWithJavaGeneric.kt +++ b/compiler/testData/codegen/box/javaInterop/notNullAssertions/enhancedNullability/inFunctionWithExpressionBodyWithJavaGeneric.kt @@ -1,5 +1,4 @@ // !LANGUAGE: +StrictJavaNullabilityAssertions -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // SKIP_JDK6 // See KT-8135 diff --git a/compiler/testData/codegen/box/nullCheckOptimization/isNullable.kt b/compiler/testData/codegen/box/nullCheckOptimization/isNullable.kt index d01f1cc5f21..750f01972a0 100644 --- a/compiler/testData/codegen/box/nullCheckOptimization/isNullable.kt +++ b/compiler/testData/codegen/box/nullCheckOptimization/isNullable.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR inline fun isNullable() = null is T fun box(): String = diff --git a/compiler/testData/codegen/box/primitiveTypes/comparisonWithNullCallsFun.kt b/compiler/testData/codegen/box/primitiveTypes/comparisonWithNullCallsFun.kt index 30fa548b5b4..0948f0eb0b9 100644 --- a/compiler/testData/codegen/box/primitiveTypes/comparisonWithNullCallsFun.kt +++ b/compiler/testData/codegen/box/primitiveTypes/comparisonWithNullCallsFun.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR var entered = 0 fun foo(t: T): T { diff --git a/compiler/testData/codegen/box/primitiveTypes/kt2768.kt b/compiler/testData/codegen/box/primitiveTypes/kt2768.kt index e4dc4da5f56..b2b0ec976ef 100644 --- a/compiler/testData/codegen/box/primitiveTypes/kt2768.kt +++ b/compiler/testData/codegen/box/primitiveTypes/kt2768.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun assertEquals(a: T, b: T) { if (a != b) throw AssertionError("$a != $b") } diff --git a/compiler/testData/codegen/box/properties/primitiveOverrideDefaultAccessor.kt b/compiler/testData/codegen/box/properties/primitiveOverrideDefaultAccessor.kt index 188b91907ed..e8039fa4cc7 100644 --- a/compiler/testData/codegen/box/properties/primitiveOverrideDefaultAccessor.kt +++ b/compiler/testData/codegen/box/properties/primitiveOverrideDefaultAccessor.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR interface R> { var value: T } diff --git a/compiler/testData/codegen/box/reflection/typeOf/noReflect/typeReferenceEqualsHashCodeIR.kt b/compiler/testData/codegen/box/reflection/typeOf/noReflect/typeReferenceEqualsHashCodeIR.kt index 3b92f720cac..2d90c632067 100644 --- a/compiler/testData/codegen/box/reflection/typeOf/noReflect/typeReferenceEqualsHashCodeIR.kt +++ b/compiler/testData/codegen/box/reflection/typeOf/noReflect/typeReferenceEqualsHashCodeIR.kt @@ -1,5 +1,4 @@ // !USE_EXPERIMENTAL: kotlin.ExperimentalStdlibApi -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM_IR // WITH_RUNTIME // Separate test is needed for IR because of different ways type arguments of typeOf are calculated. diff --git a/compiler/testData/codegen/box/regressions/commonSupertypeContravariant.kt b/compiler/testData/codegen/box/regressions/commonSupertypeContravariant.kt index e0c8320c567..8fb7e750367 100644 --- a/compiler/testData/codegen/box/regressions/commonSupertypeContravariant.kt +++ b/compiler/testData/codegen/box/regressions/commonSupertypeContravariant.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR interface In class En : In diff --git a/compiler/testData/codegen/box/regressions/commonSupertypeContravariant2.kt b/compiler/testData/codegen/box/regressions/commonSupertypeContravariant2.kt index 15b8f2e9c6e..959eaf527aa 100644 --- a/compiler/testData/codegen/box/regressions/commonSupertypeContravariant2.kt +++ b/compiler/testData/codegen/box/regressions/commonSupertypeContravariant2.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR interface In class A : In class B : In diff --git a/compiler/testData/codegen/box/regressions/intersectionOfEqualTypes.kt b/compiler/testData/codegen/box/regressions/intersectionOfEqualTypes.kt index b706ec27d40..220d3759335 100644 --- a/compiler/testData/codegen/box/regressions/intersectionOfEqualTypes.kt +++ b/compiler/testData/codegen/box/regressions/intersectionOfEqualTypes.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME // FILE: test.kt diff --git a/compiler/testData/codegen/box/regressions/kt5786_privateWithDefault.kt b/compiler/testData/codegen/box/regressions/kt5786_privateWithDefault.kt index a43c65667fd..916ed482c60 100644 --- a/compiler/testData/codegen/box/regressions/kt5786_privateWithDefault.kt +++ b/compiler/testData/codegen/box/regressions/kt5786_privateWithDefault.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME fun box(): String { diff --git a/compiler/testData/codegen/box/regressions/lambdaWrongReturnType.kt b/compiler/testData/codegen/box/regressions/lambdaWrongReturnType.kt index 2e508c2bc15..b60e314e0fb 100644 --- a/compiler/testData/codegen/box/regressions/lambdaWrongReturnType.kt +++ b/compiler/testData/codegen/box/regressions/lambdaWrongReturnType.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun test() = foo({ line: String -> line }) fun foo(x: T): T = TODO() diff --git a/compiler/testData/codegen/box/regressions/noResolutionRecursion.kt b/compiler/testData/codegen/box/regressions/noResolutionRecursion.kt index 209fedc0ecc..098e9879f99 100644 --- a/compiler/testData/codegen/box/regressions/noResolutionRecursion.kt +++ b/compiler/testData/codegen/box/regressions/noResolutionRecursion.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun T.at(element: Int) = this.at() fun T.at(): T = this diff --git a/compiler/testData/codegen/box/regressions/nullabilityForCommonCapturedSupertypes.kt b/compiler/testData/codegen/box/regressions/nullabilityForCommonCapturedSupertypes.kt index 113492415df..336e9fa73a7 100644 --- a/compiler/testData/codegen/box/regressions/nullabilityForCommonCapturedSupertypes.kt +++ b/compiler/testData/codegen/box/regressions/nullabilityForCommonCapturedSupertypes.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR val targetArgument = id2(star(), star()) // error fun id2(x: T, y: T): T = x diff --git a/compiler/testData/codegen/box/regressions/supertypeDepth.kt b/compiler/testData/codegen/box/regressions/supertypeDepth.kt index 867d837ee83..bb74263ee89 100644 --- a/compiler/testData/codegen/box/regressions/supertypeDepth.kt +++ b/compiler/testData/codegen/box/regressions/supertypeDepth.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A : FirstOwner> class B : SecondOwner> diff --git a/compiler/testData/codegen/box/reified/asOnPlatformType.kt b/compiler/testData/codegen/box/reified/asOnPlatformType.kt index dabd6737019..4cbd3bc5628 100644 --- a/compiler/testData/codegen/box/reified/asOnPlatformType.kt +++ b/compiler/testData/codegen/box/reified/asOnPlatformType.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // FILE: JavaClass.java diff --git a/compiler/testData/codegen/box/reified/instanceof.kt b/compiler/testData/codegen/box/reified/instanceof.kt index aba918499bf..49a8988abfd 100644 --- a/compiler/testData/codegen/box/reified/instanceof.kt +++ b/compiler/testData/codegen/box/reified/instanceof.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS diff --git a/compiler/testData/codegen/box/reified/isOnPlatformType.kt b/compiler/testData/codegen/box/reified/isOnPlatformType.kt index 8ad6423aac6..b1367761760 100644 --- a/compiler/testData/codegen/box/reified/isOnPlatformType.kt +++ b/compiler/testData/codegen/box/reified/isOnPlatformType.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // FILE: JavaClass.java diff --git a/compiler/testData/codegen/box/reified/reifiedChain.kt b/compiler/testData/codegen/box/reified/reifiedChain.kt index 1111c63a111..e017d0d4e0d 100644 --- a/compiler/testData/codegen/box/reified/reifiedChain.kt +++ b/compiler/testData/codegen/box/reified/reifiedChain.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR inline fun Any?.check(): Boolean { return this is T } diff --git a/compiler/testData/codegen/box/safeCall/kt245.kt b/compiler/testData/codegen/box/safeCall/kt245.kt index 1801e115775..d241b94dcc6 100644 --- a/compiler/testData/codegen/box/safeCall/kt245.kt +++ b/compiler/testData/codegen/box/safeCall/kt245.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // KJS_WITH_FULL_RUNTIME fun foo() { val l = ArrayList(2) diff --git a/compiler/testData/codegen/box/smartCasts/genericIntersection.kt b/compiler/testData/codegen/box/smartCasts/genericIntersection.kt index 19f07409ed9..51c34682f0e 100644 --- a/compiler/testData/codegen/box/smartCasts/genericIntersection.kt +++ b/compiler/testData/codegen/box/smartCasts/genericIntersection.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // See also KT-7801 class A diff --git a/compiler/testData/codegen/box/typeInfo/ifOrWhenSpecialCall.kt b/compiler/testData/codegen/box/typeInfo/ifOrWhenSpecialCall.kt index 88f81d4d073..54ec5152a12 100644 --- a/compiler/testData/codegen/box/typeInfo/ifOrWhenSpecialCall.kt +++ b/compiler/testData/codegen/box/typeInfo/ifOrWhenSpecialCall.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR interface Option { val s: String } diff --git a/compiler/testData/codegen/box/typeInfo/primitiveTypeInfo.kt b/compiler/testData/codegen/box/typeInfo/primitiveTypeInfo.kt index a7e39164111..ff67d156b7d 100644 --- a/compiler/testData/codegen/box/typeInfo/primitiveTypeInfo.kt +++ b/compiler/testData/codegen/box/typeInfo/primitiveTypeInfo.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class Box(t: T) { var value = t } diff --git a/compiler/testData/codegen/box/unit/nullableUnit.kt b/compiler/testData/codegen/box/unit/nullableUnit.kt index 1208847d029..0289cca09ba 100644 --- a/compiler/testData/codegen/box/unit/nullableUnit.kt +++ b/compiler/testData/codegen/box/unit/nullableUnit.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun isNull(x: Unit?) = x == null fun isNullGeneric(x: T?) = x == null diff --git a/compiler/testData/codegen/box/when/is.kt b/compiler/testData/codegen/box/when/is.kt index bbdfeda9075..3e1088b8656 100644 --- a/compiler/testData/codegen/box/when/is.kt +++ b/compiler/testData/codegen/box/when/is.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // KJS_WITH_FULL_RUNTIME fun typeName(a: Any?) : String { return when(a) { diff --git a/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.fir.txt b/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.fir.txt index bdb1f4710d2..39dd6c0d28d 100644 --- a/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.fir.txt +++ b/compiler/testData/ir/irText/classes/dataClassWithArrayMembers.fir.txt @@ -221,7 +221,7 @@ FILE fqName: fileName:/dataClassWithArrayMembers.kt $this: VALUE_PARAMETER name: type:kotlin.Any 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:[] + 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> BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/dataClassesGeneric.fir.txt b/compiler/testData/ir/irText/classes/dataClassesGeneric.fir.txt index 9f5fe7159ac..2ec5e67c6e2 100644 --- a/compiler/testData/ir/irText/classes/dataClassesGeneric.fir.txt +++ b/compiler/testData/ir/irText/classes/dataClassesGeneric.fir.txt @@ -1,7 +1,7 @@ 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:[] + 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 BLOCK_BODY @@ -46,7 +46,7 @@ FILE fqName: fileName:/dataClassesGeneric.kt $this: VALUE_PARAMETER name: type:kotlin.Any 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:[] + 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 BLOCK_BODY @@ -91,7 +91,7 @@ FILE fqName: fileName:/dataClassesGeneric.kt $this: VALUE_PARAMETER name: type:kotlin.Any 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:[] + 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> BLOCK_BODY diff --git a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.fir.txt b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.fir.txt index 3f01c3a6c80..bc8fea85d3f 100644 --- a/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.fir.txt +++ b/compiler/testData/ir/irText/classes/delegatingConstructorCallToTypeAliasConstructor.fir.txt @@ -1,7 +1,7 @@ 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:[] + 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 BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/annotations/classLiteralInAnnotation.fir.txt b/compiler/testData/ir/irText/declarations/annotations/classLiteralInAnnotation.fir.txt index 2f2f4c70b2f..0ffb726e805 100644 --- a/compiler/testData/ir/irText/declarations/annotations/classLiteralInAnnotation.fir.txt +++ b/compiler/testData/ir/irText/declarations/annotations/classLiteralInAnnotation.fir.txt @@ -49,7 +49,7 @@ FILE fqName: fileName:/classLiteralInAnnotation.kt FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY FUN name:test2 visibility:public modality:FINAL () returnType:. [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test2 (): . [inline] declared in ' BLOCK type=.test2. origin=OBJECT_LITERAL diff --git a/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.fir.txt b/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.fir.txt index 11f08aaa8bb..e4c16d1139e 100644 --- a/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.fir.txt +++ b/compiler/testData/ir/irText/declarations/annotations/delegateFieldWithAnnotations.fir.txt @@ -20,7 +20,8 @@ FILE fqName: fileName:/delegateFieldWithAnnotations.kt Ann FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private [final,static] EXPRESSION_BODY - CALL 'public final fun lazy (initializer: kotlin.Function0>): kotlin.Lazy> declared in kotlin' type=kotlin.Lazy origin=null + CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null + : kotlin.Int initializer: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY @@ -29,7 +30,8 @@ FILE fqName: fileName:/delegateFieldWithAnnotations.kt correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [delegated,val] BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' - CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of [inline] declared in kotlin' type=kotlin.Int origin=null + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null + : kotlin.Int $receiver: GET_FIELD 'FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private [final,static]' type=kotlin.Lazy origin=GET_PROPERTY thisRef: CONST Null type=kotlin.Nothing? value=null property: PROPERTY_REFERENCE 'public final test1: kotlin.Int [delegated,val]' field='FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private [final,static]' getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty<*> origin=null diff --git a/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.fir.txt b/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.fir.txt index 1d78ac57975..e1ee3b134bf 100644 --- a/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.fir.txt +++ b/compiler/testData/ir/irText/declarations/annotations/typeParametersWithAnnotations.fir.txt @@ -18,5 +18,5 @@ FILE fqName: fileName:/typeParametersWithAnnotations.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/classLevelProperties.fir.txt b/compiler/testData/ir/irText/declarations/classLevelProperties.fir.txt index b94a7c73994..65a97b4f6fa 100644 --- a/compiler/testData/ir/irText/declarations/classLevelProperties.fir.txt +++ b/compiler/testData/ir/irText/declarations/classLevelProperties.fir.txt @@ -86,7 +86,8 @@ FILE fqName: fileName:/classLevelProperties.kt PROPERTY name:test7 visibility:public modality:FINAL [delegated,val] FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private [final] EXPRESSION_BODY - CALL 'public final fun lazy (initializer: kotlin.Function0>): kotlin.Lazy> declared in kotlin' type=kotlin.Lazy origin=null + CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null + : kotlin.Int initializer: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($this:.C) returnType:kotlin.Int $this: VALUE_PARAMETER name: type:.C @@ -97,14 +98,17 @@ FILE fqName: fileName:/classLevelProperties.kt $this: VALUE_PARAMETER name: type:.C BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' - CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of [inline] declared in kotlin' type=kotlin.Int origin=null + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null + : kotlin.Int $receiver: GET_FIELD 'FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private [final]' type=kotlin.Lazy origin=GET_PROPERTY thisRef: GET_VAR ': .C declared in .C' type=.C origin=null property: PROPERTY_REFERENCE 'public final test7: kotlin.Int [delegated,val]' field='FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private [final]' getter='public final fun (): kotlin.Int declared in .C' setter=null type=kotlin.reflect.KProperty<*> origin=null PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private [final] EXPRESSION_BODY - CALL 'public final fun hashMapOf (): java.util.HashMap, V of > [inline] declared in kotlin.collections' type=java.util.HashMap origin=null + CALL 'public final fun hashMapOf (): java.util.HashMap [inline] declared in kotlin.collections' type=java.util.HashMap origin=null + : kotlin.String + : kotlin.Int FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.C) returnType:IrErrorType correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] $this: VALUE_PARAMETER name: type:.C diff --git a/compiler/testData/ir/irText/declarations/delegatedProperties.fir.txt b/compiler/testData/ir/irText/declarations/delegatedProperties.fir.txt index 5b37bdbed3c..898455e5011 100644 --- a/compiler/testData/ir/irText/declarations/delegatedProperties.fir.txt +++ b/compiler/testData/ir/irText/declarations/delegatedProperties.fir.txt @@ -2,7 +2,8 @@ FILE fqName: fileName:/delegatedProperties.kt PROPERTY name:test1 visibility:public modality:FINAL [delegated,val] FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private [final,static] EXPRESSION_BODY - CALL 'public final fun lazy (initializer: kotlin.Function0>): kotlin.Lazy> declared in kotlin' type=kotlin.Lazy origin=null + CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null + : kotlin.Int initializer: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY @@ -11,7 +12,8 @@ FILE fqName: fileName:/delegatedProperties.kt correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [delegated,val] BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' - CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of [inline] declared in kotlin' type=kotlin.Int origin=null + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null + : kotlin.Int $receiver: GET_FIELD 'FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private [final,static]' type=kotlin.Lazy origin=GET_PROPERTY thisRef: CONST Null type=kotlin.Nothing? value=null property: PROPERTY_REFERENCE 'public final test1: kotlin.Int [delegated,val]' field='FIELD DELEGATE name:test1$delegate type:kotlin.Lazy visibility:private [final,static]' getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty<*> origin=null @@ -36,7 +38,8 @@ FILE fqName: fileName:/delegatedProperties.kt PROPERTY name:test2 visibility:public modality:FINAL [delegated,val] FIELD DELEGATE name:test2$delegate type:kotlin.Lazy visibility:private [final] EXPRESSION_BODY - CALL 'public final fun lazy (initializer: kotlin.Function0>): kotlin.Lazy> declared in kotlin' type=kotlin.Lazy origin=null + CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null + : kotlin.Int initializer: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($this:.C) returnType:kotlin.Int $this: VALUE_PARAMETER name: type:.C @@ -47,7 +50,8 @@ FILE fqName: fileName:/delegatedProperties.kt $this: VALUE_PARAMETER name: type:.C BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' - CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of [inline] declared in kotlin' type=kotlin.Int origin=null + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null + : kotlin.Int $receiver: GET_FIELD 'FIELD DELEGATE name:test2$delegate type:kotlin.Lazy visibility:private [final]' type=kotlin.Lazy origin=GET_PROPERTY thisRef: GET_VAR ': .C declared in .C' type=.C origin=null property: PROPERTY_REFERENCE 'public final test2: kotlin.Int [delegated,val]' field='FIELD DELEGATE name:test2$delegate type:kotlin.Lazy visibility:private [final]' getter='public final fun (): kotlin.Int declared in .C' setter=null type=kotlin.reflect.KProperty<*> origin=null @@ -88,7 +92,9 @@ FILE fqName: fileName:/delegatedProperties.kt PROPERTY name:test4 visibility:public modality:FINAL [delegated,var] FIELD DELEGATE name:test4$delegate type:java.util.HashMap visibility:private [final,static] EXPRESSION_BODY - CALL 'public final fun hashMapOf (): java.util.HashMap, V of > [inline] declared in kotlin.collections' type=java.util.HashMap origin=null + CALL 'public final fun hashMapOf (): java.util.HashMap [inline] declared in kotlin.collections' type=java.util.HashMap origin=null + : kotlin.String + : kotlin.Any FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:IrErrorType correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [delegated,var] BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/fakeOverrides.fir.txt b/compiler/testData/ir/irText/declarations/fakeOverrides.fir.txt index 81adef970a6..a627ef61498 100644 --- a/compiler/testData/ir/irText/declarations/fakeOverrides.fir.txt +++ b/compiler/testData/ir/irText/declarations/fakeOverrides.fir.txt @@ -38,7 +38,7 @@ FILE fqName: fileName:/fakeOverrides.kt $this: VALUE_PARAMETER name: type:kotlin.Any 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:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.CFoo> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/declarations/kt27005.fir.txt b/compiler/testData/ir/irText/declarations/kt27005.fir.txt deleted file mode 100644 index 57d4049b2df..00000000000 --- a/compiler/testData/ir/irText/declarations/kt27005.fir.txt +++ /dev/null @@ -1,13 +0,0 @@ -FILE fqName: fileName:/kt27005.kt - FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Unit [suspend] declared in ' - CALL 'public final fun baz (): T of .baz [suspend] declared in ' type=kotlin.Unit origin=null - FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Any [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun bar (): kotlin.Any [suspend] declared in ' - CALL 'public final fun baz (): T of .baz [suspend] declared in ' type=kotlin.Any origin=null - FUN name:baz visibility:public modality:FINAL () returnType:T of .baz [suspend] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] - BLOCK_BODY - CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null diff --git a/compiler/testData/ir/irText/declarations/kt27005.kt b/compiler/testData/ir/irText/declarations/kt27005.kt index 65070eb05bf..59c7351527e 100644 --- a/compiler/testData/ir/irText/declarations/kt27005.kt +++ b/compiler/testData/ir/irText/declarations/kt27005.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL suspend fun foo() = baz() suspend fun bar() = baz() suspend fun baz(): T { diff --git a/compiler/testData/ir/irText/declarations/packageLevelProperties.fir.txt b/compiler/testData/ir/irText/declarations/packageLevelProperties.fir.txt index 16e083aabbb..53d6896f31a 100644 --- a/compiler/testData/ir/irText/declarations/packageLevelProperties.fir.txt +++ b/compiler/testData/ir/irText/declarations/packageLevelProperties.fir.txt @@ -65,7 +65,8 @@ FILE fqName: fileName:/packageLevelProperties.kt PROPERTY name:test7 visibility:public modality:FINAL [delegated,val] FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private [final,static] EXPRESSION_BODY - CALL 'public final fun lazy (initializer: kotlin.Function0>): kotlin.Lazy> declared in kotlin' type=kotlin.Lazy origin=null + CALL 'public final fun lazy (initializer: kotlin.Function0): kotlin.Lazy declared in kotlin' type=kotlin.Lazy origin=null + : kotlin.Int initializer: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY @@ -74,14 +75,17 @@ FILE fqName: fileName:/packageLevelProperties.kt correspondingProperty: PROPERTY name:test7 visibility:public modality:FINAL [delegated,val] BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in ' - CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of [inline] declared in kotlin' type=kotlin.Int origin=null + CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null + : kotlin.Int $receiver: GET_FIELD 'FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private [final,static]' type=kotlin.Lazy origin=GET_PROPERTY thisRef: CONST Null type=kotlin.Nothing? value=null property: PROPERTY_REFERENCE 'public final test7: kotlin.Int [delegated,val]' field='FIELD DELEGATE name:test7$delegate type:kotlin.Lazy visibility:private [final,static]' getter='public final fun (): kotlin.Int declared in ' setter=null type=kotlin.reflect.KProperty<*> origin=null PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] FIELD DELEGATE name:test8$delegate type:java.util.HashMap visibility:private [final,static] EXPRESSION_BODY - CALL 'public final fun hashMapOf (): java.util.HashMap, V of > [inline] declared in kotlin.collections' type=java.util.HashMap origin=null + CALL 'public final fun hashMapOf (): java.util.HashMap [inline] declared in kotlin.collections' type=java.util.HashMap origin=null + : kotlin.String + : kotlin.Int FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:IrErrorType correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var] BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/class.fir.txt b/compiler/testData/ir/irText/declarations/parameters/class.fir.txt index 5a5ba886558..76632adb1fa 100644 --- a/compiler/testData/ir/irText/declarations/parameters/class.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/class.fir.txt @@ -1,10 +1,10 @@ FILE fqName: fileName:/class.kt CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] CLASS INTERFACE name:TestNestedInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestInterface.TestNestedInterface - TYPE_PARAMETER name:TT index:0 variance: superTypes:[] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any @@ -33,14 +33,14 @@ FILE fqName: fileName:/class.kt $this: VALUE_PARAMETER name: type:kotlin.Any 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:[] + TYPE_PARAMETER name:T0 index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.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:[] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.Test.TestNested> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -60,7 +60,7 @@ FILE fqName: fileName:/class.kt $this: VALUE_PARAMETER name: type:kotlin.Any 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:[] + TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.Test.TestInner> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in 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 8fe8366f644..67d63e1b47b 100644 --- a/compiler/testData/ir/irText/declarations/parameters/constructor.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/constructor.fir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/constructor.kt CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[] - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[] + 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 @@ -65,7 +65,7 @@ FILE fqName: fileName:/constructor.kt receiver: GET_VAR ': .Test2 declared in .Test2.' type=.Test2 origin=null 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:[] + 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 BLOCK_BODY @@ -162,7 +162,7 @@ FILE fqName: fileName:/constructor.kt $this: VALUE_PARAMETER name: type:kotlin.Any 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:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:.Test4> [primary] VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.fir.txt b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.fir.txt index 71775dc14c1..5837c2ade69 100644 --- a/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/dataClassMembers.fir.txt @@ -1,7 +1,7 @@ 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:[] + 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 VALUE_PARAMETER name:y index:1 type:kotlin.String diff --git a/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.fir.txt b/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.fir.txt index 32c0475d404..50069143509 100644 --- a/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/defaultPropertyAccessors.fir.txt @@ -74,7 +74,7 @@ FILE fqName: fileName:/defaultPropertyAccessors.kt $this: VALUE_PARAMETER name: type:kotlin.Any 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:[] + 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 VALUE_PARAMETER name:testInPrimaryCtor2 index:1 type:kotlin.Int diff --git a/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.txt b/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.txt index bb3a8095bee..496e02a2c11 100644 --- a/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/delegatedMembers.kt CLASS INTERFACE name:IBase modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IBase - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IBase, x:kotlin.Int) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.IBase VALUE_PARAMETER name:x index:0 type:kotlin.Int @@ -10,7 +10,7 @@ FILE fqName: fileName:/delegatedMembers.kt correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [val] $this: VALUE_PARAMETER name: type:.IBase FUN name:qux visibility:public modality:ABSTRACT ($this:.IBase, t:T of .IBase, x:X of .IBase.qux) returnType:kotlin.Unit - TYPE_PARAMETER name:X index:0 variance: superTypes:[] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.IBase VALUE_PARAMETER name:t index:0 type:T of .IBase VALUE_PARAMETER name:x index:1 type:X of .IBase.qux @@ -29,7 +29,7 @@ FILE fqName: fileName:/delegatedMembers.kt $this: VALUE_PARAMETER name: type:kotlin.Any 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:[] + 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> BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/fun.fir.txt b/compiler/testData/ir/irText/declarations/parameters/fun.fir.txt index dfd2b8a3d8c..4e50d287a5f 100644 --- a/compiler/testData/ir/irText/declarations/parameters/fun.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/fun.fir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/fun.kt FUN name:test1 visibility:public modality:FINAL (i:kotlin.Int, j:T of .test1) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:i index:0 type:kotlin.Int VALUE_PARAMETER name:j index:1 type:T of .test1 BLOCK_BODY @@ -33,7 +33,7 @@ FILE fqName: fileName:/fun.kt VALUE_PARAMETER name:j index:1 type:kotlin.String BLOCK_BODY FUN name:testMembetExt2 visibility:public modality:FINAL ($this:.Host, $receiver:kotlin.String, i:kotlin.Int, j:T of .Host.testMembetExt2) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Host $receiver: VALUE_PARAMETER name: type:kotlin.String VALUE_PARAMETER name:i index:0 type:kotlin.Int diff --git a/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.fir.txt b/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.fir.txt index cbb6bd46117..983e294ee41 100644 --- a/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/genericInnerClass.fir.txt @@ -1,14 +1,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:[] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.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:[] + TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.Outer.Inner> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/declarations/parameters/localFun.fir.txt b/compiler/testData/ir/irText/declarations/parameters/localFun.fir.txt index bfc6bfb368c..c849f8f9437 100644 --- a/compiler/testData/ir/irText/declarations/parameters/localFun.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/localFun.fir.txt @@ -1,9 +1,9 @@ FILE fqName: fileName:/localFun.kt FUN name:outer visibility:public modality:FINAL () returnType:kotlin.Unit - TYPE_PARAMETER name:TT index:0 variance: superTypes:[] + TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] BLOCK_BODY FUN name:test1 visibility:local modality:FINAL (i:kotlin.Int, j:T of .outer.test1) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:i index:0 type:kotlin.Int VALUE_PARAMETER name:j index:1 type:T of .outer.test1 BLOCK_BODY diff --git a/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.fir.txt b/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.fir.txt index bd69d12fddd..82f637b38a7 100644 --- a/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/propertyAccessors.fir.txt @@ -49,7 +49,7 @@ FILE fqName: fileName:/propertyAccessors.kt BLOCK_BODY 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:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.Host> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in 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 6014092bc4a..a2df4596d71 100644 --- a/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/typeParameterBeforeBound.fir.txt @@ -1,8 +1,8 @@ FILE fqName: fileName:/typeParameterBeforeBound.kt CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Test1 - TYPE_PARAMETER name:T index:0 variance: superTypes:[] - TYPE_PARAMETER name:U index:1 variance: superTypes:[] + 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] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -21,8 +21,8 @@ FILE fqName: fileName:/typeParameterBeforeBound.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:test2 visibility:public modality:FINAL () returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[] - TYPE_PARAMETER name:U index:1 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[U of .test2] + TYPE_PARAMETER name:U index:0 variance: superTypes:[kotlin.Any?] BLOCK_BODY PROPERTY name:test3 visibility:public modality:FINAL [var] FUN name: visibility:public modality:FINAL <> () returnType:kotlin.Unit diff --git a/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.fir.txt b/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.fir.txt index cce231932fe..15cd84e0ff0 100644 --- a/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.fir.txt +++ b/compiler/testData/ir/irText/declarations/parameters/typeParameterBoundedBySubclass.fir.txt @@ -1,7 +1,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:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived1] CONSTRUCTOR visibility:public <> () returnType:.Base1> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -46,7 +46,7 @@ FILE fqName: fileName:/typeParameterBoundedBySubclass.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' FUN name:foo visibility:public modality:FINAL ($this:.Base2, x:T of .Base2.foo) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.Derived2] $this: VALUE_PARAMETER name: type:.Base2 VALUE_PARAMETER name:x index:0 type:T of .Base2.foo BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/argumentMappedWithError.fir.txt b/compiler/testData/ir/irText/expressions/argumentMappedWithError.fir.txt index 0ca3a67d415..d2c6c274f9c 100644 --- a/compiler/testData/ir/irText/expressions/argumentMappedWithError.fir.txt +++ b/compiler/testData/ir/irText/expressions/argumentMappedWithError.fir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/argumentMappedWithError.kt FUN name:convert visibility:public modality:FINAL ($receiver:kotlin.Number) returnType:R of .convert - TYPE_PARAMETER name:R index:0 variance: superTypes:[] + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Number] $receiver: VALUE_PARAMETER name: type:kotlin.Number BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun convert (): R of .convert declared in ' @@ -15,5 +15,5 @@ FILE fqName: fileName:/argumentMappedWithError.kt CONST Int type=kotlin.Int value=0 CALL 'public final fun foo (arg: kotlin.Number): kotlin.Unit declared in ' type=kotlin.Unit origin=null arg: CALL 'public final fun convert (): R of .convert declared in ' type=kotlin.Number origin=null - : + : kotlin.Number $receiver: GET_VAR 'val x: kotlin.Int [val] declared in .main' type=kotlin.Int origin=null diff --git a/compiler/testData/ir/irText/expressions/bangbang.fir.txt b/compiler/testData/ir/irText/expressions/bangbang.fir.txt index aa5026ea74a..bfcd73465df 100644 --- a/compiler/testData/ir/irText/expressions/bangbang.fir.txt +++ b/compiler/testData/ir/irText/expressions/bangbang.fir.txt @@ -35,7 +35,7 @@ FILE fqName: fileName:/bangbang.kt if: CONST Boolean type=kotlin.Boolean value=true then: GET_VAR 'val tmp_1: kotlin.Int? [val] declared in .test2' type=kotlin.Int origin=null FUN name:test3 visibility:public modality:FINAL (a:X of .test3) returnType:kotlin.Any - TYPE_PARAMETER name:X index:0 variance: superTypes:[] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:a index:0 type:X of .test3 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test3 (a: X of .test3): kotlin.Any declared in ' @@ -56,7 +56,7 @@ FILE fqName: fileName:/bangbang.kt VALUE_PARAMETER name:s index:0 type:kotlin.String BLOCK_BODY FUN name:test4 visibility:public modality:FINAL (a:X of .test4) returnType:kotlin.Unit - TYPE_PARAMETER name:X index:0 variance: superTypes:[] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:a index:0 type:X of .test4 BLOCK_BODY WHEN type=kotlin.Unit origin=IF diff --git a/compiler/testData/ir/irText/expressions/callableRefToGenericMember.fir.txt b/compiler/testData/ir/irText/expressions/callableRefToGenericMember.fir.txt index c859384d777..8259c4dcc0f 100644 --- a/compiler/testData/ir/irText/expressions/callableRefToGenericMember.fir.txt +++ b/compiler/testData/ir/irText/expressions/callableRefToGenericMember.fir.txt @@ -1,7 +1,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:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.A> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/expressions/callableReferenceTypeArguments.fir.txt b/compiler/testData/ir/irText/expressions/callableReferenceTypeArguments.fir.txt index 8fd909b1cd1..e7d84098d33 100644 --- a/compiler/testData/ir/irText/expressions/callableReferenceTypeArguments.fir.txt +++ b/compiler/testData/ir/irText/expressions/callableReferenceTypeArguments.fir.txt @@ -6,7 +6,7 @@ FILE fqName: fileName:/callableReferenceTypeArguments.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' FUN name:objectMember visibility:public modality:FINAL ($this:.Host, x:T of .Host.objectMember) returnType:kotlin.Unit [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Host VALUE_PARAMETER name:x index:0 type:T of .Host.objectMember BLOCK_BODY @@ -24,11 +24,11 @@ FILE fqName: fileName:/callableReferenceTypeArguments.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:topLevel1 visibility:public modality:FINAL (x:T of .topLevel1) returnType:kotlin.Unit [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:x index:0 type:T of .topLevel1 BLOCK_BODY FUN name:topLevel2 visibility:public modality:FINAL (x:kotlin.collections.List.topLevel2>) returnType:kotlin.Unit [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:x index:0 type:kotlin.collections.List.topLevel2> BLOCK_BODY PROPERTY name:test1 visibility:public modality:FINAL [val] diff --git a/compiler/testData/ir/irText/expressions/castToTypeParameter.fir.txt b/compiler/testData/ir/irText/expressions/castToTypeParameter.fir.txt index a024ac1ca4e..2f94e43b2c4 100644 --- a/compiler/testData/ir/irText/expressions/castToTypeParameter.fir.txt +++ b/compiler/testData/ir/irText/expressions/castToTypeParameter.fir.txt @@ -1,13 +1,13 @@ FILE fqName: fileName:/castToTypeParameter.kt FUN name:castFun visibility:public modality:FINAL (x:kotlin.Any) returnType:T of .castFun - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun castFun (x: kotlin.Any): T of .castFun declared in ' TYPE_OP type=T of .castFun origin=CAST typeOperand=T of .castFun GET_VAR 'x: kotlin.Any declared in .castFun' type=kotlin.Any origin=null FUN name:castExtFun visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:T of .castExtFun - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun castExtFun (): T of .castExtFun declared in ' @@ -22,7 +22,7 @@ FILE fqName: fileName:/castToTypeParameter.kt ERROR_CALL 'Unresolved reference: this@R|/castExtVal|' type=T of 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:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.Host> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -35,7 +35,7 @@ FILE fqName: fileName:/castToTypeParameter.kt TYPE_OP type=T of .Host origin=CAST typeOperand=T of .Host GET_VAR 'x: kotlin.Any declared in .Host.castMemberFun' type=kotlin.Any origin=null FUN name:castGenericMemberFun visibility:public modality:FINAL ($this:.Host, x:kotlin.Any) returnType:TF of .Host.castGenericMemberFun - TYPE_PARAMETER name:TF index:0 variance: superTypes:[] + TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Host VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY @@ -50,7 +50,7 @@ FILE fqName: fileName:/castToTypeParameter.kt TYPE_OP type=T of .Host origin=CAST typeOperand=T of .Host GET_VAR ': kotlin.Any declared in .Host.castMemberExtFun' type=kotlin.Any origin=null FUN name:castGenericMemberExtFun visibility:public modality:FINAL ($this:.Host, $receiver:kotlin.Any) returnType:TF of .Host.castGenericMemberExtFun - TYPE_PARAMETER name:TF index:0 variance: superTypes:[] + TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Host $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.fir.txt b/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.fir.txt index 68847973cdb..55e6f295833 100644 --- a/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.fir.txt +++ b/compiler/testData/ir/irText/expressions/constructorWithOwnTypeParametersCall.fir.txt @@ -3,22 +3,21 @@ FILE fqName: fileName:/constructorWithOwnTypeParametersCall.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testKotlin (): .K1.K2 declared in ' CONSTRUCTOR_CALL 'public constructor () [primary] declared in .K1.K2' type=.K1.K2 origin=null - : + : kotlin.String FUN name:testJava visibility:public modality:FINAL <> () returnType:.J1.J2 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testJava (): .J1.J2 declared in ' - CONSTRUCTOR_CALL 'public constructor () declared in .J1.J2' type=.J1.J2 origin=null - : + ERROR_EXPR 'Cannot bind 2 type arguments to ??? call with 1 type parameters' type=.J1.J2 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:[] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Number] CONSTRUCTOR visibility:public <> () returnType:.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:[] + TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.CharSequence] CONSTRUCTOR visibility:public <> () returnType:.K1.K2> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in 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 dc1019932d2..a3f90f8eee2 100644 --- a/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.fir.txt +++ b/compiler/testData/ir/irText/expressions/floatingPointComparisons/typeParameterWithPrimitiveNumericSupertype.fir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt FUN name:test0 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test0) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:T of .test0 BLOCK_BODY @@ -16,7 +16,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:test1 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test1) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:T of .test1 BLOCK_BODY @@ -32,7 +32,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:test2 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test2) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Double] VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:T of .test2 BLOCK_BODY @@ -48,7 +48,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test3) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:T of .test3 BLOCK_BODY @@ -64,7 +64,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test4) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float?] VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:T of .test4 BLOCK_BODY @@ -80,8 +80,8 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:test5 visibility:public modality:FINAL (x:kotlin.Any, y:R of .test5) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[] - TYPE_PARAMETER name:R index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float?] + TYPE_PARAMETER name:R index:0 variance: superTypes:[T of .test5] VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:R of .test5 BLOCK_BODY @@ -97,7 +97,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt if: CONST Boolean type=kotlin.Boolean value=true then: CONST Boolean type=kotlin.Boolean value=false FUN name:test6 visibility:public modality:FINAL (x:kotlin.Any, y:T of .test6) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Number] VALUE_PARAMETER name:x index:0 type:kotlin.Any VALUE_PARAMETER name:y index:1 type:T of .test6 BLOCK_BODY @@ -114,7 +114,7 @@ FILE fqName: fileName:/typeParameterWithPrimitiveNumericSupertype.kt then: CONST Boolean type=kotlin.Boolean value=false 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:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Float] CONSTRUCTOR visibility:public <> () returnType:.F> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/expressions/funImportedFromObject.fir.txt b/compiler/testData/ir/irText/expressions/funImportedFromObject.fir.txt index 392381a4bb7..67f257e64db 100644 --- a/compiler/testData/ir/irText/expressions/funImportedFromObject.fir.txt +++ b/compiler/testData/ir/irText/expressions/funImportedFromObject.fir.txt @@ -6,7 +6,7 @@ FILE fqName:test fileName:/funImportedFromObject.kt DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' FUN name:foo visibility:public modality:FINAL ($this:test.Host) returnType:kotlin.String [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:test.Host BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.String [inline] declared in test.Host' @@ -28,5 +28,5 @@ FILE fqName:test fileName:/funImportedFromObject.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test (): kotlin.String declared in test' CALL 'public final fun foo (): kotlin.String [inline] declared in test.Host' type=kotlin.String origin=null - : + : kotlin.Any $this: GET_VAR ': test.Host declared in test.Host' type=test.Host origin=null diff --git a/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.txt b/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.txt index 5490db8e5d3..2dbe9c930ba 100644 --- a/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.txt +++ b/compiler/testData/ir/irText/expressions/genericConstructorCallWithTypeArguments.fir.txt @@ -7,13 +7,13 @@ FILE fqName: fileName:/genericConstructorCallWithTypeArguments.kt $this: CONST Int type=kotlin.Int value=2 other: CONST Int type=kotlin.Int value=3 FUN name:testArray visibility:public modality:FINAL (n:kotlin.Int, block:kotlin.Function0.testArray>) returnType:kotlin.Array.testArray> [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:n index:0 type:kotlin.Int VALUE_PARAMETER name:block index:1 type:kotlin.Function0.testArray> [crossinline] BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testArray (n: kotlin.Int, block: kotlin.Function0.testArray>): kotlin.Array.testArray> [inline] declared in ' CONSTRUCTOR_CALL 'public constructor (size: kotlin.Int, init: kotlin.Function1) declared in kotlin.Array' type=kotlin.Array.testArray> origin=null - : + : T of .testArray size: GET_VAR 'n: kotlin.Int declared in .testArray' type=kotlin.Int origin=null init: FUN_EXPR type=kotlin.Function1.testArray> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:T of .testArray @@ -23,7 +23,7 @@ FILE fqName: fileName:/genericConstructorCallWithTypeArguments.kt $this: GET_VAR 'block: kotlin.Function0.testArray> [crossinline] declared in .testArray' type=kotlin.Function0.testArray> origin=null 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:[] + 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 BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/genericPropertyRef.fir.txt b/compiler/testData/ir/irText/expressions/genericPropertyRef.fir.txt index 6a31d9fbd06..dff0faaca17 100644 --- a/compiler/testData/ir/irText/expressions/genericPropertyRef.fir.txt +++ b/compiler/testData/ir/irText/expressions/genericPropertyRef.fir.txt @@ -1,7 +1,7 @@ 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:[] + 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 EXPRESSION_BODY diff --git a/compiler/testData/ir/irText/expressions/implicitCastToNonNull.fir.txt b/compiler/testData/ir/irText/expressions/implicitCastToNonNull.fir.txt index 787f5f5fa4e..b9f71c4660d 100644 --- a/compiler/testData/ir/irText/expressions/implicitCastToNonNull.fir.txt +++ b/compiler/testData/ir/irText/expressions/implicitCastToNonNull.fir.txt @@ -14,7 +14,7 @@ FILE fqName: fileName:/implicitCastToNonNull.kt then: CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=null $this: GET_VAR 'x: kotlin.String? declared in .test1' type=kotlin.String origin=null FUN name:test2 visibility:public modality:FINAL (x:T of .test2) returnType:kotlin.Int - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] VALUE_PARAMETER name:x index:0 type:T of .test2 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test2 (x: T of .test2): kotlin.Int declared in ' @@ -29,7 +29,7 @@ FILE fqName: fileName:/implicitCastToNonNull.kt then: CALL 'public abstract fun (): kotlin.Int declared in kotlin.CharSequence' type=kotlin.Int origin=null $this: GET_VAR 'x: T of .test2 declared in .test2' type=kotlin.Any origin=null FUN name:test3 visibility:public modality:FINAL (x:kotlin.Any) returnType:kotlin.Int [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence?] VALUE_PARAMETER name:x index:0 type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test3 (x: kotlin.Any): kotlin.Int [inline] declared in ' @@ -43,7 +43,7 @@ FILE fqName: fileName:/implicitCastToNonNull.kt then: CALL 'public abstract fun (): kotlin.Int declared in kotlin.CharSequence' type=kotlin.Int origin=null $this: GET_VAR 'x: kotlin.Any declared in .test3' type=T of .test3 origin=null FUN name:test4 visibility:public modality:FINAL (x:kotlin.Any?) returnType:kotlin.Int [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] VALUE_PARAMETER name:x index:0 type:kotlin.Any? BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test4 (x: kotlin.Any?): kotlin.Int [inline] declared in ' @@ -57,8 +57,8 @@ FILE fqName: fileName:/implicitCastToNonNull.kt then: CALL 'public abstract fun (): kotlin.Int declared in kotlin.CharSequence' type=kotlin.Int origin=null $this: GET_VAR 'x: kotlin.Any? declared in .test4' type=T of .test4 origin=null FUN name:test5 visibility:public modality:FINAL (x:T of .test5, fn:kotlin.Function1.test5, kotlin.Unit>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[] - TYPE_PARAMETER name:S index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[S of .test5?] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:x index:0 type:T of .test5 VALUE_PARAMETER name:fn index:1 type:kotlin.Function1.test5, kotlin.Unit> BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.fir.txt b/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.fir.txt index 54041667ba9..96bfebf4a52 100644 --- a/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.fir.txt +++ b/compiler/testData/ir/irText/expressions/implicitCastToTypeParameter.fir.txt @@ -1,6 +1,6 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt FUN name:test1 visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:T of .test1? [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test1 (): T of .test1? [inline] declared in ' @@ -14,7 +14,7 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt then: CONST Null type=kotlin.Nothing? value=null CLASS INTERFACE name:Foo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Foo - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any @@ -43,7 +43,7 @@ FILE fqName: fileName:/implicitCastToTypeParameter.kt then: CONST Null type=kotlin.Nothing? value=null 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:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.Bar> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/expressions/in.fir.txt b/compiler/testData/ir/irText/expressions/in.fir.txt index 8c82d138e31..c316b209b31 100644 --- a/compiler/testData/ir/irText/expressions/in.fir.txt +++ b/compiler/testData/ir/irText/expressions/in.fir.txt @@ -17,7 +17,7 @@ FILE fqName: fileName:/in.kt $this: GET_VAR 'x: kotlin.collections.Collection declared in .test2' type=kotlin.collections.Collection origin=null element: GET_VAR 'a: kotlin.Any declared in .test2' type=kotlin.Any origin=null FUN name:test3 visibility:public modality:FINAL (a:T of .test3, x:kotlin.collections.Collection.test3>) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:a index:0 type:T of .test3 VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection.test3> BLOCK_BODY @@ -26,7 +26,7 @@ FILE fqName: fileName:/in.kt $this: GET_VAR 'x: kotlin.collections.Collection.test3> declared in .test3' type=kotlin.collections.Collection.test3> origin=null element: GET_VAR 'a: T of .test3 declared in .test3' type=T of .test3 origin=null FUN name:test4 visibility:public modality:FINAL (a:T of .test4, x:kotlin.collections.Collection.test4>) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:a index:0 type:T of .test4 VALUE_PARAMETER name:x index:1 type:kotlin.collections.Collection.test4> BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/kt30020.fir.txt b/compiler/testData/ir/irText/expressions/kt30020.fir.txt index 26594181b3b..6d73e4e77bb 100644 --- a/compiler/testData/ir/irText/expressions/kt30020.fir.txt +++ b/compiler/testData/ir/irText/expressions/kt30020.fir.txt @@ -24,25 +24,30 @@ FILE fqName: fileName:/kt30020.kt VALUE_PARAMETER name:x index:0 type:.X VALUE_PARAMETER name:nx index:1 type:.X? BLOCK_BODY - CALL 'public final fun plusAssign (element: T of ): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Int $receiver: CALL 'public abstract fun (): kotlin.collections.MutableList declared in .X' type=kotlin.collections.MutableList origin=null $this: GET_VAR 'x: .X declared in .test' type=.X origin=null element: CONST Int type=kotlin.Int value=1 - CALL 'public final fun plusAssign (element: T of ): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Int $receiver: CALL 'public abstract fun f (): kotlin.collections.MutableList declared in .X' type=kotlin.collections.MutableList origin=null $this: GET_VAR 'x: .X declared in .test' type=.X origin=null element: CONST Int type=kotlin.Int value=2 - CALL 'public final fun plusAssign (element: T of ): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Int $receiver: TYPE_OP type=kotlin.collections.MutableList origin=CAST typeOperand=kotlin.collections.MutableList CALL 'public abstract fun (): kotlin.collections.MutableList declared in .X' type=kotlin.collections.MutableList origin=null $this: GET_VAR 'x: .X declared in .test' type=.X origin=null element: CONST Int type=kotlin.Int value=3 - CALL 'public final fun plusAssign (element: T of ): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Int $receiver: TYPE_OP type=kotlin.collections.MutableList origin=CAST typeOperand=kotlin.collections.MutableList CALL 'public abstract fun f (): kotlin.collections.MutableList declared in .X' type=kotlin.collections.MutableList origin=null $this: GET_VAR 'x: .X declared in .test' type=.X origin=null element: CONST Int type=kotlin.Int value=4 - CALL 'public final fun plusAssign (element: T of ): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Int $receiver: BLOCK type=kotlin.collections.MutableList origin=EXCLEXCL VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.collections.MutableList [val] CALL 'public abstract fun (): kotlin.collections.MutableList declared in .X' type=kotlin.collections.MutableList origin=null @@ -58,7 +63,8 @@ FILE fqName: fileName:/kt30020.kt if: CONST Boolean type=kotlin.Boolean value=true then: GET_VAR 'val tmp_0: kotlin.collections.MutableList [val] declared in .test' type=kotlin.collections.MutableList origin=null element: CONST Int type=kotlin.Int value=5 - CALL 'public final fun plusAssign (element: T of ): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Int $receiver: BLOCK type=kotlin.collections.MutableList origin=EXCLEXCL VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.collections.MutableList? [val] CALL 'public abstract fun f (): kotlin.collections.MutableList declared in .X' type=kotlin.collections.MutableList? origin=null @@ -77,7 +83,8 @@ FILE fqName: fileName:/kt30020.kt FUN name:testExtensionReceiver visibility:public modality:FINAL <> ($receiver:kotlin.collections.MutableList) returnType:kotlin.Unit $receiver: VALUE_PARAMETER name: type:kotlin.collections.MutableList BLOCK_BODY - CALL 'public final fun plusAssign (element: T of ): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Int $receiver: GET_VAR ': kotlin.collections.MutableList declared in .testExtensionReceiver' type=kotlin.collections.MutableList origin=null element: CONST Int type=kotlin.Int value=100 CLASS CLASS name:AML modality:ABSTRACT visibility:public superTypes:[kotlin.collections.MutableList] @@ -89,7 +96,8 @@ FILE fqName: fileName:/kt30020.kt FUN name:testExplicitThis visibility:public modality:FINAL <> ($this:.AML) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.AML BLOCK_BODY - CALL 'public final fun plusAssign (element: T of ): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Int $receiver: GET_VAR ': .AML declared in .AML' type=.AML origin=null element: CONST Int type=kotlin.Int value=200 CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any] @@ -101,7 +109,8 @@ FILE fqName: fileName:/kt30020.kt FUN name:testOuterThis visibility:public modality:FINAL <> ($this:.AML.Inner) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.AML.Inner BLOCK_BODY - CALL 'public final fun plusAssign (element: T of ): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + CALL 'public final fun plusAssign (element: T of kotlin.collections.plusAssign): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Int $receiver: GET_VAR ': .AML declared in .AML' type=.AML origin=null element: CONST Int type=kotlin.Int value=300 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override] diff --git a/compiler/testData/ir/irText/expressions/kt30796.fir.txt b/compiler/testData/ir/irText/expressions/kt30796.fir.txt index a9e1000b74b..bb77bef494e 100644 --- a/compiler/testData/ir/irText/expressions/kt30796.fir.txt +++ b/compiler/testData/ir/irText/expressions/kt30796.fir.txt @@ -1,12 +1,12 @@ FILE fqName: fileName:/kt30796.kt FUN name:magic visibility:public modality:FINAL () returnType:T of .magic - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun magic (): T of .magic declared in ' THROW type=kotlin.Nothing CONSTRUCTOR_CALL 'public constructor () declared in java.lang.Exception' type=java.lang.Exception origin=null FUN name:test visibility:public modality:FINAL (value:T of .test, value2:T of .test) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:value index:0 type:T of .test VALUE_PARAMETER name:value2 index:1 type:T of .test BLOCK_BODY @@ -99,7 +99,7 @@ FILE fqName: fileName:/kt30796.kt BLOCK type=kotlin.Int origin=ELVIS VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlin.Nothing [val] CALL 'public final fun magic (): T of .magic declared in ' type=kotlin.Nothing origin=null - : + : kotlin.Nothing WHEN type=kotlin.Int origin=ELVIS BRANCH if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ @@ -121,7 +121,7 @@ FILE fqName: fileName:/kt30796.kt arg0: GET_VAR 'val tmp_9: T of .test [val] declared in .test' type=T of .test origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CALL 'public final fun magic (): T of .magic declared in ' type=kotlin.Any origin=null - : + : kotlin.Any BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: GET_VAR 'val tmp_9: T of .test [val] declared in .test' type=kotlin.Any origin=null @@ -140,7 +140,7 @@ FILE fqName: fileName:/kt30796.kt BLOCK type=T of .test origin=ELVIS VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlin.Nothing [val] CALL 'public final fun magic (): T of .magic declared in ' type=kotlin.Nothing origin=null - : + : kotlin.Nothing WHEN type=T of .test origin=ELVIS BRANCH if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ diff --git a/compiler/testData/ir/irText/expressions/memberTypeArguments.fir.txt b/compiler/testData/ir/irText/expressions/memberTypeArguments.fir.txt index c8b290c41a1..ae0f2ac2801 100644 --- a/compiler/testData/ir/irText/expressions/memberTypeArguments.fir.txt +++ b/compiler/testData/ir/irText/expressions/memberTypeArguments.fir.txt @@ -1,7 +1,7 @@ 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:[] + 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 BLOCK_BODY @@ -24,7 +24,7 @@ FILE fqName: fileName:/memberTypeArguments.kt 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 - : + : 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] overridden: 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 6d7be0231e7..38946341c30 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConversionInGenericConstructorCall_NI.fir.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConversionInGenericConstructorCall_NI.fir.txt @@ -8,7 +8,7 @@ FILE fqName: fileName:/samConversionInGenericConstructorCall_NI.kt GET_VAR 'f2: kotlin.Function1 declared in .test3' type=kotlin.Function1 origin=null 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:[] + 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 > BLOCK_BODY @@ -27,7 +27,7 @@ FILE fqName: fileName:/samConversionInGenericConstructorCall_NI.kt receiver: GET_VAR ': .Outer declared in .Outer.' type=.Outer origin=null 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:[] + 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 > BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/sam/samConversionToGeneric.fir.txt b/compiler/testData/ir/irText/expressions/sam/samConversionToGeneric.fir.txt index edaacdf5b5f..f92e7a6a617 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConversionToGeneric.fir.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConversionToGeneric.fir.txt @@ -2,7 +2,8 @@ FILE fqName: fileName:/samConversionToGeneric.kt FUN name:test1 visibility:public modality:FINAL <> () returnType:.J BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test1 (): .J declared in ' - CALL 'public final fun J (block: kotlin.Function1?, T of ?>): .J> declared in ' type=.J origin=null + CALL 'public final fun J (block: kotlin.Function1.J?, T of .J?>): .J.J> declared in ' type=.J origin=null + : kotlin.String block: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (x:kotlin.String) returnType:kotlin.String VALUE_PARAMETER name:x index:0 type:kotlin.String @@ -11,7 +12,8 @@ FILE fqName: fileName:/samConversionToGeneric.kt FUN name:test2 visibility:public modality:FINAL <> () returnType:.J BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test2 (): .J declared in ' - CALL 'public final fun J (block: kotlin.Function1?, T of ?>): .J> declared in ' type=.J origin=null + CALL 'public final fun J (block: kotlin.Function1.J?, T of .J?>): .J.J> declared in ' type=.J origin=null + : kotlin.String block: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (x:kotlin.String) returnType:kotlin.String VALUE_PARAMETER name:x index:0 type:kotlin.String @@ -20,7 +22,8 @@ FILE fqName: fileName:/samConversionToGeneric.kt FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test3 (): kotlin.Unit declared in ' - CALL 'public open fun bar (j: .J?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + CALL 'public open fun bar (j: .J.H.bar?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : kotlin.String j: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (x:kotlin.String) returnType:kotlin.String VALUE_PARAMETER name:x index:0 type:kotlin.String @@ -31,42 +34,49 @@ FILE fqName: fileName:/samConversionToGeneric.kt BLOCK_BODY TYPE_OP type=.J origin=CAST typeOperand=.J GET_VAR 'a: kotlin.Any declared in .test4' type=kotlin.Any origin=null - CALL 'public open fun bar (j: .J?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + CALL 'public open fun bar (j: .J.H.bar?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : kotlin.String j: GET_VAR 'a: kotlin.Any declared in .test4' type=.J origin=null FUN name:test5 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY TYPE_OP type=kotlin.Function1 origin=CAST typeOperand=kotlin.Function1 GET_VAR 'a: kotlin.Any declared in .test5' type=kotlin.Any origin=null - CALL 'public open fun bar (j: .J?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + CALL 'public open fun bar (j: .J.H.bar?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : kotlin.String j: GET_VAR 'a: kotlin.Any declared in .test5' type=kotlin.Function1 origin=null FUN name:test6 visibility:public modality:FINAL (a:kotlin.Function1.test6, T of .test6>) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:a index:0 type:kotlin.Function1.test6, T of .test6> BLOCK_BODY - CALL 'public open fun bar (j: .J?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + CALL 'public open fun bar (j: .J.H.bar?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : T of .test6 j: GET_VAR 'a: kotlin.Function1.test6, T of .test6> declared in .test6' type=kotlin.Function1.test6, T of .test6> origin=null FUN name:test7 visibility:public modality:FINAL (a:kotlin.Any) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:a index:0 type:kotlin.Any BLOCK_BODY TYPE_OP type=kotlin.Function1.test7, T of .test7> origin=CAST typeOperand=kotlin.Function1.test7, T of .test7> GET_VAR 'a: kotlin.Any declared in .test7' type=kotlin.Any origin=null - CALL 'public open fun bar (j: .J?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + CALL 'public open fun bar (j: .J.H.bar?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : T of .test7 j: GET_VAR 'a: kotlin.Any declared in .test7' type=kotlin.Function1.test7, T of .test7> origin=null FUN name:test8 visibility:public modality:FINAL <> (efn:kotlin.Function1) returnType:.J VALUE_PARAMETER name:efn index:0 type:kotlin.Function1 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test8 (efn: kotlin.Function1): .J declared in ' - CALL 'public final fun J (block: kotlin.Function1?, T of ?>): .J> declared in ' type=.J origin=null + CALL 'public final fun J (block: kotlin.Function1.J?, T of .J?>): .J.J> declared in ' type=.J origin=null + : kotlin.String block: GET_VAR 'efn: kotlin.Function1 declared in .test8' type=kotlin.Function1 origin=null FUN name:test9 visibility:public modality:FINAL <> (efn:kotlin.Function1) returnType:kotlin.Unit VALUE_PARAMETER name:efn index:0 type:kotlin.Function1 BLOCK_BODY - CALL 'public open fun bar (j: .J?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + CALL 'public open fun bar (j: .J.H.bar?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : kotlin.String j: GET_VAR 'efn: kotlin.Function1 declared in .test9' type=kotlin.Function1 origin=null FUN name:test10 visibility:public modality:FINAL <> (fn:kotlin.Function1) returnType:kotlin.Unit VALUE_PARAMETER name:fn index:0 type:kotlin.Function1 BLOCK_BODY - CALL 'public open fun bar2x (j2x: .J2X?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + CALL 'public open fun bar2x (j2x: .J2X.H.bar2x?>?): kotlin.Unit declared in .H' type=kotlin.Unit origin=null + : kotlin.Int j2x: GET_VAR 'fn: kotlin.Function1 declared in .test10' type=kotlin.Function1 origin=null diff --git a/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.fir.txt b/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.fir.txt index 0d4dd5d25b1..e85ca1481e4 100644 --- a/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.fir.txt +++ b/compiler/testData/ir/irText/expressions/sam/samConversionsWithSmartCasts.fir.txt @@ -83,7 +83,8 @@ FILE fqName: fileName:/samConversionsWithSmartCasts.kt VALUE_PARAMETER name:a index:0 type:kotlin.Function0 BLOCK_BODY ERROR_CALL 'Unresolved reference: #' type=IrErrorType - CALL 'public open fun id (x: T of ?): T of ? declared in .J' type=kotlin.Function0 origin=null + CALL 'public open fun id (x: T of .J.id?): T of .J.id? declared in .J' type=kotlin.Function0 origin=null + : kotlin.Function0 x: GET_VAR 'a: kotlin.Function0 declared in .test8' type=kotlin.Function0 origin=null FUN name:test9 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.fir.txt b/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.fir.txt index ff135a516bb..3621da7bcda 100644 --- a/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.fir.txt +++ b/compiler/testData/ir/irText/expressions/specializedTypeAliasConstructorCall.fir.txt @@ -1,7 +1,7 @@ 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:[] + 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 BLOCK_BODY @@ -35,5 +35,5 @@ FILE fqName: fileName:/specializedTypeAliasConstructorCall.kt 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 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 fac3a017f81..d556f150bdd 100644 --- a/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.fir.txt +++ b/compiler/testData/ir/irText/expressions/thisOfGenericOuterClass.fir.txt @@ -1,7 +1,7 @@ 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:[] + 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 BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/typeArguments.fir.txt b/compiler/testData/ir/irText/expressions/typeArguments.fir.txt index 62f68dc7e95..8d44222db4d 100644 --- a/compiler/testData/ir/irText/expressions/typeArguments.fir.txt +++ b/compiler/testData/ir/irText/expressions/typeArguments.fir.txt @@ -7,7 +7,8 @@ FILE fqName: fileName:/typeArguments.kt BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Array<*> GET_VAR 'x: kotlin.Any declared in .test1' type=kotlin.Any origin=null - then: CALL 'public final fun isArrayOf (): kotlin.Boolean declared in kotlin.jvm' type=kotlin.Boolean origin=null + then: CALL 'public final fun isArrayOf (): kotlin.Boolean declared in kotlin.jvm' type=kotlin.Boolean origin=null + : kotlin.String $receiver: GET_VAR 'x: kotlin.Any declared in .test1' type=kotlin.Array<*> origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true diff --git a/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.fir.txt b/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.fir.txt index d929e88877e..1baa0a98699 100644 --- a/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.fir.txt +++ b/compiler/testData/ir/irText/expressions/typeParameterClassLiteral.fir.txt @@ -1,12 +1,12 @@ FILE fqName: fileName:/typeParameterClassLiteral.kt FUN name:classRefFun visibility:public modality:FINAL () returnType:kotlin.reflect.KClass [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun classRefFun (): kotlin.reflect.KClass [inline] declared in ' GET_CLASS type=kotlin.reflect.KClass ERROR_CALL 'Unresolved reference: R|?|' type=IrErrorType FUN name:classRefExtFun visibility:public modality:FINAL ($receiver:kotlin.Any) returnType:kotlin.reflect.KClass [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun classRefExtFun (): kotlin.reflect.KClass [inline] declared in ' @@ -26,14 +26,14 @@ FILE fqName: fileName:/typeParameterClassLiteral.kt 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]' FUN name:classRefGenericMemberFun visibility:public modality:FINAL ($this:.Host) returnType:kotlin.reflect.KClass [inline] - TYPE_PARAMETER name:TF index:0 variance: superTypes:[] + TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any] $this: VALUE_PARAMETER name: type:.Host BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun classRefGenericMemberFun (): kotlin.reflect.KClass [inline] declared in .Host' GET_CLASS type=kotlin.reflect.KClass ERROR_CALL 'Unresolved reference: R|?|' type=IrErrorType FUN name:classRefGenericMemberExtFun visibility:public modality:FINAL ($this:.Host, $receiver:kotlin.Any) returnType:kotlin.reflect.KClass [inline] - TYPE_PARAMETER name:TF index:0 variance: superTypes:[] + TYPE_PARAMETER name:TF index:0 variance: superTypes:[kotlin.Any] $this: VALUE_PARAMETER name: type:.Host $receiver: VALUE_PARAMETER name: type:kotlin.Any BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/useImportedMember.fir.txt b/compiler/testData/ir/irText/expressions/useImportedMember.fir.txt index 3a8de401281..8beb91e7d61 100644 --- a/compiler/testData/ir/irText/expressions/useImportedMember.fir.txt +++ b/compiler/testData/ir/irText/expressions/useImportedMember.fir.txt @@ -1,9 +1,9 @@ FILE fqName: fileName:/useImportedMember.kt CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.I - TYPE_PARAMETER name:G index:0 variance: superTypes:[] + TYPE_PARAMETER name:G index:0 variance: superTypes:[kotlin.Any?] FUN name:fromInterface visibility:public modality:OPEN ($this:.I, $receiver:T of .I.fromInterface) returnType:T of .I.fromInterface - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.I $receiver: VALUE_PARAMETER name: type:T of .I.fromInterface BLOCK_BODY @@ -105,7 +105,7 @@ FILE fqName: fileName:/useImportedMember.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .C' CONST Int type=kotlin.Int value=6 FUN name:g1 visibility:public modality:FINAL ($this:.C, t:T of .C.g1) returnType:T of .C.g1 - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.C VALUE_PARAMETER name:t index:0 type:T of .C.g1 BLOCK_BODY @@ -213,7 +213,7 @@ FILE fqName: fileName:/useImportedMember.kt if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public final fun g1 (t: T of .C.g1): T of .C.g1 declared in .C' type=kotlin.String origin=null - : + : kotlin.String $this: GET_VAR ': .C declared in .C' type=.C origin=null t: CONST String type=kotlin.String value="7" arg1: CONST String type=kotlin.String value="7" @@ -233,7 +233,7 @@ FILE fqName: fileName:/useImportedMember.kt if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ arg0: CALL 'public open fun fromInterface (): T of .I.fromInterface declared in .I' type=kotlin.Int origin=null - : + : kotlin.Int $this: GET_VAR ': .I declared in .I' type=.I<*> origin=null arg1: CONST Int type=kotlin.Int value=9 then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' diff --git a/compiler/testData/ir/irText/expressions/vararg.fir.txt b/compiler/testData/ir/irText/expressions/vararg.fir.txt index 9ae8569b52b..018d35a4ca3 100644 --- a/compiler/testData/ir/irText/expressions/vararg.fir.txt +++ b/compiler/testData/ir/irText/expressions/vararg.fir.txt @@ -2,7 +2,8 @@ FILE fqName: fileName:/vararg.kt PROPERTY name:test1 visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Array visibility:private [final,static] EXPRESSION_BODY - CALL 'public final fun arrayOf (elements: kotlin.Array>): kotlin.Array> [inline] declared in kotlin' type=kotlin.Array origin=null + CALL 'public final fun arrayOf (elements: kotlin.Array): kotlin.Array [inline] declared in kotlin' type=kotlin.Array origin=null + : kotlin.String FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> () returnType:kotlin.Array correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val] BLOCK_BODY diff --git a/compiler/testData/ir/irText/expressions/when.fir.txt b/compiler/testData/ir/irText/expressions/when.fir.txt index d4f2bd27364..a4472473b3f 100644 --- a/compiler/testData/ir/irText/expressions/when.fir.txt +++ b/compiler/testData/ir/irText/expressions/when.fir.txt @@ -45,8 +45,10 @@ FILE fqName: fileName:/when.kt GET_VAR 'val tmp_0: kotlin.Any? [val] declared in .testWithSubject' type=kotlin.Any? origin=null then: CONST String type=kotlin.String value="!Number" BRANCH - if: CALL 'public final fun contains (element: T of ): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null - $receiver: CALL 'public final fun setOf (): kotlin.collections.Set> [inline] declared in kotlin.collections' type=kotlin.collections.Set origin=null + if: CALL 'public final fun contains (element: T of kotlin.collections.contains): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : kotlin.Any? + $receiver: CALL 'public final fun setOf (): kotlin.collections.Set [inline] declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Nothing element: GET_VAR 'val tmp_0: kotlin.Any? [val] declared in .testWithSubject' type=kotlin.Any? origin=null then: CONST String type=kotlin.String value="nothingness?" BRANCH @@ -76,8 +78,10 @@ FILE fqName: fileName:/when.kt GET_VAR 'x: kotlin.Any? declared in .test' type=kotlin.Any origin=null then: CONST String type=kotlin.String value="!Number" BRANCH - if: CALL 'public final fun contains (element: T of ): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null - $receiver: CALL 'public final fun setOf (): kotlin.collections.Set> [inline] declared in kotlin.collections' type=kotlin.collections.Set origin=null + if: CALL 'public final fun contains (element: T of kotlin.collections.contains): kotlin.Boolean declared in kotlin.collections' type=kotlin.Boolean origin=null + : kotlin.Number + $receiver: CALL 'public final fun setOf (): kotlin.collections.Set [inline] declared in kotlin.collections' type=kotlin.collections.Set origin=null + : kotlin.Nothing element: GET_VAR 'x: kotlin.Any? declared in .test' type=kotlin.Number origin=null then: CONST String type=kotlin.String value="nothingness?" BRANCH diff --git a/compiler/testData/ir/irText/lambdas/extensionLambda.fir.txt b/compiler/testData/ir/irText/lambdas/extensionLambda.fir.txt index 88ad2a4b965..40e8c507b5d 100644 --- a/compiler/testData/ir/irText/lambdas/extensionLambda.fir.txt +++ b/compiler/testData/ir/irText/lambdas/extensionLambda.fir.txt @@ -2,7 +2,9 @@ FILE fqName: fileName:/extensionLambda.kt FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Int BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test1 (): kotlin.Int declared in ' - CALL 'public final fun run (block: kotlin.Function1, R of >): R of [inline] declared in kotlin' type=kotlin.Int origin=null + CALL 'public final fun run (block: kotlin.Function1): R of kotlin.run [inline] declared in kotlin' type=kotlin.Int origin=null + : kotlin.String + : kotlin.Int $receiver: CONST String type=kotlin.String value="42" block: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Int diff --git a/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.fir.txt b/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.fir.txt index b574a83d930..cf2706d86d9 100644 --- a/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.fir.txt +++ b/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.fir.txt @@ -84,17 +84,23 @@ FILE fqName: fileName:/multipleImplicitReceivers.kt VALUE_PARAMETER name:fooImpl index:0 type:.IFoo VALUE_PARAMETER name:invokeImpl index:1 type:.IInvoke BLOCK_BODY - CALL 'public final fun with (receiver: T of , block: kotlin.Function1, R of >): R of [inline] declared in kotlin' type=kotlin.Int origin=null + CALL 'public final fun with (receiver: T of kotlin.with, block: kotlin.Function1): R of kotlin.with [inline] declared in kotlin' type=kotlin.Int origin=null + : .A + : kotlin.Int receiver: GET_OBJECT 'CLASS OBJECT name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=.A block: FUN_EXPR type=kotlin.Function1<.A, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'public final fun with (receiver: T of , block: kotlin.Function1, R of >): R of [inline] declared in kotlin' type=kotlin.Int origin=null + CALL 'public final fun with (receiver: T of kotlin.with, block: kotlin.Function1): R of kotlin.with [inline] declared in kotlin' type=kotlin.Int origin=null + : .IFoo + : kotlin.Int receiver: GET_VAR 'fooImpl: .IFoo declared in .test' type=.IFoo origin=null block: FUN_EXPR type=kotlin.Function1<.IFoo, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'public final fun with (receiver: T of , block: kotlin.Function1, R of >): R of [inline] declared in kotlin' type=kotlin.Int origin=null + CALL 'public final fun with (receiver: T of kotlin.with, block: kotlin.Function1): R of kotlin.with [inline] declared in kotlin' type=kotlin.Int origin=null + : .IInvoke + : kotlin.Int receiver: GET_VAR 'invokeImpl: .IInvoke declared in .test' type=.IInvoke origin=null block: FUN_EXPR type=kotlin.Function1<.IInvoke, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit diff --git a/compiler/testData/ir/irText/lambdas/nonLocalReturn.fir.txt b/compiler/testData/ir/irText/lambdas/nonLocalReturn.fir.txt index 825f7c55e6c..57946b5adf2 100644 --- a/compiler/testData/ir/irText/lambdas/nonLocalReturn.fir.txt +++ b/compiler/testData/ir/irText/lambdas/nonLocalReturn.fir.txt @@ -1,7 +1,8 @@ FILE fqName: fileName:/nonLocalReturn.kt FUN name:test0 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'public final fun run (block: kotlin.Function0>): R of [inline] declared in kotlin' type=kotlin.Unit origin=null + CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Unit origin=null + : kotlin.Unit block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY @@ -9,7 +10,8 @@ FILE fqName: fileName:/nonLocalReturn.kt GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'public final fun run (block: kotlin.Function0>): R of [inline] declared in kotlin' type=kotlin.Unit origin=null + CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Unit origin=null + : kotlin.Unit block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY @@ -17,7 +19,8 @@ FILE fqName: fileName:/nonLocalReturn.kt GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'public final fun run (block: kotlin.Function0>): R of [inline] declared in kotlin' type=kotlin.Unit origin=null + CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Unit origin=null + : kotlin.Unit block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY @@ -25,11 +28,13 @@ FILE fqName: fileName:/nonLocalReturn.kt GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'public final fun run (block: kotlin.Function0>): R of [inline] declared in kotlin' type=kotlin.Unit origin=null + CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Unit origin=null + : kotlin.Unit block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY - CALL 'public final fun run (block: kotlin.Function0>): R of [inline] declared in kotlin' type=kotlin.Unit origin=null + CALL 'public final fun run (block: kotlin.Function0): R of kotlin.run [inline] declared in kotlin' type=kotlin.Unit origin=null + : kotlin.Unit block: FUN_EXPR type=kotlin.Function0 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY @@ -38,7 +43,8 @@ FILE fqName: fileName:/nonLocalReturn.kt FUN name:testLrmFoo1 visibility:public modality:FINAL <> (ints:kotlin.collections.List) returnType:kotlin.Unit VALUE_PARAMETER name:ints index:0 type:kotlin.collections.List BLOCK_BODY - CALL 'public final fun forEach (action: kotlin.Function1, kotlin.Unit>): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + CALL 'public final fun forEach (action: kotlin.Function1): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Int $receiver: GET_VAR 'ints: kotlin.collections.List declared in .testLrmFoo1' type=kotlin.collections.List origin=null action: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit @@ -56,7 +62,8 @@ FILE fqName: fileName:/nonLocalReturn.kt FUN name:testLrmFoo2 visibility:public modality:FINAL <> (ints:kotlin.collections.List) returnType:kotlin.Unit VALUE_PARAMETER name:ints index:0 type:kotlin.collections.List BLOCK_BODY - CALL 'public final fun forEach (action: kotlin.Function1, kotlin.Unit>): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + CALL 'public final fun forEach (action: kotlin.Function1): kotlin.Unit [inline] declared in kotlin.collections' type=kotlin.Unit origin=null + : kotlin.Int $receiver: GET_VAR 'ints: kotlin.collections.List declared in .testLrmFoo2' type=kotlin.collections.List origin=null action: FUN_EXPR type=kotlin.Function1 origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:kotlin.Int) returnType:kotlin.Unit diff --git a/compiler/testData/ir/irText/regressions/integerCoercionToT.fir.txt b/compiler/testData/ir/irText/regressions/integerCoercionToT.fir.txt index edf1f569d0f..9b49192c9bc 100644 --- a/compiler/testData/ir/irText/regressions/integerCoercionToT.fir.txt +++ b/compiler/testData/ir/irText/regressions/integerCoercionToT.fir.txt @@ -15,14 +15,14 @@ FILE fqName: fileName:/integerCoercionToT.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:reinterpret visibility:public modality:FINAL ($receiver:.CPointed) returnType:T of .reinterpret [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[.CPointed] $receiver: VALUE_PARAMETER name: type:.CPointed BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun reinterpret (): T of .reinterpret [inline] declared in ' CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null 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:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.CInt32VarX> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' diff --git a/compiler/testData/ir/irText/regressions/newInference/fixationOrder1.fir.txt b/compiler/testData/ir/irText/regressions/newInference/fixationOrder1.fir.txt index 9592cc6283a..43afcf0fe84 100644 --- a/compiler/testData/ir/irText/regressions/newInference/fixationOrder1.fir.txt +++ b/compiler/testData/ir/irText/regressions/newInference/fixationOrder1.fir.txt @@ -1,14 +1,14 @@ FILE fqName: fileName:/fixationOrder1.kt FUN name:foo visibility:public modality:FINAL () returnType:kotlin.Function1.foo, Y of .foo> - TYPE_PARAMETER name:X index:0 variance: superTypes:[] - TYPE_PARAMETER name:Y index:0 variance: superTypes:[] + TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Function1.foo, Y of .foo> declared in ' CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null CLASS INTERFACE name:Inv2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Inv2 - TYPE_PARAMETER name:A index:0 variance: superTypes:[] - TYPE_PARAMETER name:B index:1 variance: superTypes:[] + TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:B index:1 variance: superTypes:[kotlin.Any?] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any @@ -23,8 +23,8 @@ FILE fqName: fileName:/fixationOrder1.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:check visibility:public modality:FINAL (x:T of .check, y:R of .check, f:kotlin.Function1.check, R of .check>) returnType:.Inv2.check, R of .check> - TYPE_PARAMETER name:T index:0 variance: superTypes:[] - TYPE_PARAMETER name:R index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:R index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:x index:0 type:T of .check VALUE_PARAMETER name:y index:1 type:R of .check VALUE_PARAMETER name:f index:2 type:kotlin.Function1.check, R of .check> @@ -35,13 +35,13 @@ FILE fqName: fileName:/fixationOrder1.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test (): .Inv2 declared in ' CALL 'public final fun check (x: T of .check, y: R of .check, f: kotlin.Function1.check, R of .check>): .Inv2.check, R of .check> declared in ' type=.Inv2 origin=null - : - : + : kotlin.String + : kotlin.Int x: CONST String type=kotlin.String value="" y: CONST Int type=kotlin.Int value=1 f: CALL 'public final fun foo (): kotlin.Function1.foo, Y of .foo> declared in ' type=kotlin.Function1 origin=null - : - : + : kotlin.String + : kotlin.Int FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String BLOCK_BODY VAR name:x type:.Inv2 [val] diff --git a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.fir.txt b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.fir.txt index 0d4eecd2051..f99c26c231a 100644 --- a/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.fir.txt +++ b/compiler/testData/ir/irText/regressions/typeAliasCtorForGenericClass.fir.txt @@ -1,7 +1,7 @@ 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:[] + 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 BLOCK_BODY @@ -35,9 +35,9 @@ FILE fqName: fileName:/typeAliasCtorForGenericClass.kt BLOCK_BODY VAR name:b type:.A [val] CONSTRUCTOR_CALL 'public constructor (q: Q of ) [primary] 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 q: GET_VAR 'val b: .A [val] declared in .bar' type=.A origin=null diff --git a/compiler/testData/ir/irText/stubs/builtinMap.fir.txt b/compiler/testData/ir/irText/stubs/builtinMap.fir.txt index c050aff1f9f..77ef7cbddc2 100644 --- a/compiler/testData/ir/irText/stubs/builtinMap.fir.txt +++ b/compiler/testData/ir/irText/stubs/builtinMap.fir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/builtinMap.kt FUN name:plus visibility:public modality:FINAL ($receiver:kotlin.collections.Map.plus, V1 of .plus>, pair:kotlin.Pair.plus, V1 of .plus>) returnType:kotlin.collections.Map.plus, V1 of .plus> - TYPE_PARAMETER name:K1 index:0 variance: superTypes:[] - TYPE_PARAMETER name:V1 index:0 variance: superTypes:[] + TYPE_PARAMETER name:K1 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:V1 index:0 variance: superTypes:[kotlin.Any?] $receiver: VALUE_PARAMETER name: type:kotlin.collections.Map.plus, V1 of .plus> VALUE_PARAMETER name:pair index:0 type:kotlin.Pair.plus, V1 of .plus> BLOCK_BODY @@ -10,14 +10,17 @@ FILE fqName: fileName:/builtinMap.kt BRANCH if: CALL 'public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.Map' type=kotlin.Boolean origin=null $this: GET_VAR ': kotlin.collections.Map.plus, V1 of .plus> declared in .plus' type=kotlin.collections.Map.plus, V1 of .plus> origin=null - then: CALL 'public final fun mapOf (pair: kotlin.Pair, V of >): kotlin.collections.Map, V of > declared in kotlin.collections' type=kotlin.collections.Map.plus, V1 of .plus> origin=null + then: CALL 'public final fun mapOf (pair: kotlin.Pair): kotlin.collections.Map declared in kotlin.collections' type=kotlin.collections.Map.plus, V1 of .plus> origin=null + : K1 of .plus + : V1 of .plus pair: GET_VAR 'pair: kotlin.Pair.plus, V1 of .plus> declared in .plus' type=kotlin.Pair.plus, V1 of .plus> origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public final fun apply (block: kotlin.Function1, kotlin.Unit>): T of [inline] declared in kotlin' type=java.util.LinkedHashMap.plus, V1 of .plus> origin=null + then: CALL 'public final fun apply (block: kotlin.Function1): T of kotlin.apply [inline] declared in kotlin' type=java.util.LinkedHashMap.plus, V1 of .plus> origin=null + : java.util.LinkedHashMap.plus, V1 of .plus> $receiver: CONSTRUCTOR_CALL 'public constructor (p0: kotlin.collections.Map?) declared in java.util.LinkedHashMap' type=java.util.LinkedHashMap.plus, V1 of .plus> origin=null - : - : + : K1 of .plus + : V1 of .plus p0: GET_VAR ': kotlin.collections.Map.plus, V1 of .plus> declared in .plus' type=kotlin.collections.Map.plus, V1 of .plus> origin=null block: FUN_EXPR type=kotlin.Function1.plus, V1 of .plus>, kotlin.Unit> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.Unit diff --git a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.fir.txt b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.fir.txt index baae276dce5..eb0c347a181 100644 --- a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.fir.txt +++ b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m1.fir.txt @@ -1,7 +1,7 @@ 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:[] + 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 BLOCK_BODY @@ -19,7 +19,7 @@ FILE fqName: fileName:/genericClassInDifferentModule_m1.kt GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of .Base visibility:private [final]' type=T of .Base origin=null receiver: GET_VAR ': .Base declared in .Base.' type=.Base origin=null FUN name:foo visibility:public modality:ABSTRACT ($this:.Base, y:Y of .Base.foo) returnType:T of .Base - TYPE_PARAMETER name:Y index:0 variance: superTypes:[] + TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Base VALUE_PARAMETER name:y index:0 type:Y of .Base.foo PROPERTY name:bar visibility:public modality:ABSTRACT [var] diff --git a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.fir.txt b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.fir.txt index 8db4f8e1b64..88d7fae59f6 100644 --- a/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.fir.txt +++ b/compiler/testData/ir/irText/stubs/genericClassInDifferentModule_m2.fir.txt @@ -1,7 +1,7 @@ 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:[] + 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 BLOCK_BODY @@ -10,7 +10,7 @@ FILE fqName: fileName:/genericClassInDifferentModule_m2.kt x: GET_VAR 'x: T of declared in .Derived1.' type=T of 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:[] + TYPE_PARAMETER name:Y index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Derived1 VALUE_PARAMETER name:y index:0 type:Y of .Derived1.foo BLOCK_BODY diff --git a/compiler/testData/ir/irText/stubs/javaConstructorWithTypeParameters.fir.txt b/compiler/testData/ir/irText/stubs/javaConstructorWithTypeParameters.fir.txt index ca7561352b0..1ec86b7f1f0 100644 --- a/compiler/testData/ir/irText/stubs/javaConstructorWithTypeParameters.fir.txt +++ b/compiler/testData/ir/irText/stubs/javaConstructorWithTypeParameters.fir.txt @@ -3,23 +3,19 @@ FILE fqName: fileName:/javaConstructorWithTypeParameters.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test1 (): .J1 declared in ' CONSTRUCTOR_CALL 'public constructor () declared in .J1' type=.J1 origin=null - : + : kotlin.Int FUN name:test2 visibility:public modality:FINAL <> () returnType:.J1 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test2 (): .J1 declared in ' - CONSTRUCTOR_CALL 'public constructor (x1: X1 of ?) declared in .J1' type=.J1 origin=null - : - x1: CONST Int type=kotlin.Int value=1 + ERROR_EXPR 'Cannot bind 2 type arguments to ??? call with 1 type parameters' type=.J1 FUN name:test3 visibility:public modality:FINAL <> (j1:.J1) returnType:.J1.J2 VALUE_PARAMETER name:j1 index:0 type:.J1 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test3 (j1: .J1): .J1.J2 declared in ' CONSTRUCTOR_CALL 'public constructor () declared in .J1.J2' type=.J1.J2 origin=null - : + : kotlin.Int FUN name:test4 visibility:public modality:FINAL <> (j1:.J1) returnType:.J1.J2 VALUE_PARAMETER name:j1 index:0 type:.J1 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test4 (j1: .J1): .J1.J2 declared in ' - CONSTRUCTOR_CALL 'public constructor (x2: X2 of ?) declared in .J1.J2' type=.J1.J2 origin=null - : - x2: CONST Int type=kotlin.Int value=1 + ERROR_EXPR 'Cannot bind 2 type arguments to ??? call with 1 type parameters' type=.J1.J2 diff --git a/compiler/testData/ir/irText/types/asOnPlatformType.fir.txt b/compiler/testData/ir/irText/types/asOnPlatformType.fir.txt index 071cc03ed7a..f876d435f15 100644 --- a/compiler/testData/ir/irText/types/asOnPlatformType.fir.txt +++ b/compiler/testData/ir/irText/types/asOnPlatformType.fir.txt @@ -6,22 +6,26 @@ FILE fqName: fileName:/asOnPlatformType.kt VAR name:nonnullStr type:kotlin.String? [val] CALL 'public open fun nonnullString (): kotlin.String? declared in .JavaClass' type=kotlin.String? origin=null CALL 'public final fun foo (): T of .foo [inline] declared in ' type=kotlin.String? origin=null + : kotlin.String? $receiver: GET_VAR 'val nullStr: kotlin.String? [val] declared in .test' type=kotlin.String? origin=null CALL 'public final fun foo (): T of .foo [inline] declared in ' type=kotlin.String? origin=null + : kotlin.String? $receiver: GET_VAR 'val nonnullStr: kotlin.String? [val] declared in .test' type=kotlin.String? origin=null CALL 'public final fun fooN (): T of .fooN? [inline] declared in ' type=kotlin.String? origin=null + : kotlin.String? $receiver: GET_VAR 'val nullStr: kotlin.String? [val] declared in .test' type=kotlin.String? origin=null CALL 'public final fun fooN (): T of .fooN? [inline] declared in ' type=kotlin.String? origin=null + : kotlin.String? $receiver: GET_VAR 'val nonnullStr: kotlin.String? [val] declared in .test' type=kotlin.String? origin=null FUN name:foo visibility:public modality:FINAL ($receiver:T of .foo) returnType:T of .foo [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $receiver: VALUE_PARAMETER name: type:T of .foo BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun foo (): T of .foo [inline] declared in ' TYPE_OP type=T of .foo origin=CAST typeOperand=T of .foo GET_VAR ': T of .foo declared in .foo' type=T of .foo origin=null FUN name:fooN visibility:public modality:FINAL ($receiver:T of .fooN) returnType:T of .fooN? [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $receiver: VALUE_PARAMETER name: type:T of .fooN BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun fooN (): T of .fooN? [inline] declared in ' diff --git a/compiler/testData/ir/irText/types/genericPropertyReferenceType.fir.txt b/compiler/testData/ir/irText/types/genericPropertyReferenceType.fir.txt index 3a44245c4fd..45c2625fa51 100644 --- a/compiler/testData/ir/irText/types/genericPropertyReferenceType.fir.txt +++ b/compiler/testData/ir/irText/types/genericPropertyReferenceType.fir.txt @@ -1,7 +1,7 @@ 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:[] + 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 BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/intersectionType1_NI.fir.txt b/compiler/testData/ir/irText/types/intersectionType1_NI.fir.txt index e20430845f6..b4390633235 100644 --- a/compiler/testData/ir/irText/types/intersectionType1_NI.fir.txt +++ b/compiler/testData/ir/irText/types/intersectionType1_NI.fir.txt @@ -1,7 +1,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:[] + TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.In> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -20,28 +20,29 @@ FILE fqName: fileName:/intersectionType1_NI.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:select visibility:public modality:FINAL (x:S of .select, y:S of .select) returnType:S of .select - TYPE_PARAMETER name:S index:0 variance: superTypes:[] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:x index:0 type:S of .select VALUE_PARAMETER name:y index:1 type:S of .select BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun select (x: S of .select, y: S of .select): S of .select declared in ' GET_VAR 'x: S of .select declared in .select' type=S of .select origin=null FUN name:foo visibility:public modality:FINAL (a:kotlin.Array<.In.foo>>, b:kotlin.Array<.In>) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:a index:0 type:kotlin.Array<.In.foo>> VALUE_PARAMETER name:b index:1 type:kotlin.Array<.In> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun foo (a: kotlin.Array<.In.foo>>, b: kotlin.Array<.In>): kotlin.Boolean declared in ' CALL 'public final fun ofType (y: kotlin.Any?): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null + : T of .foo $receiver: CALL 'public final fun get (index: kotlin.Int): .In.foo> declared in kotlin.Array' type=.In.foo> origin=null $this: CALL 'public final fun select (x: S of .select, y: S of .select): S of .select declared in ' type=kotlin.Array.In.foo>> origin=null - : + : kotlin.Array.In.foo>> x: GET_VAR 'a: kotlin.Array<.In.foo>> declared in .foo' type=kotlin.Array<.In.foo>> origin=null y: GET_VAR 'b: kotlin.Array<.In> declared in .foo' type=kotlin.Array<.In> origin=null index: CONST Int type=kotlin.Int value=0 y: CONST Boolean type=kotlin.Boolean value=true FUN name:ofType visibility:public modality:FINAL ($receiver:.In.ofType>, y:kotlin.Any?) returnType:kotlin.Boolean [inline] - TYPE_PARAMETER name:K index:0 variance: superTypes:[] + TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] $receiver: VALUE_PARAMETER name: type:.In.ofType> VALUE_PARAMETER name:y index:0 type:kotlin.Any? BLOCK_BODY @@ -51,14 +52,16 @@ FILE fqName: fileName:/intersectionType1_NI.kt FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY VAR name:a1 type:kotlin.Array<.In> [val] - CALL 'public final fun arrayOf (elements: kotlin.Array>): kotlin.Array> [inline] declared in kotlin' type=kotlin.Array<.In> origin=null + CALL 'public final fun arrayOf (elements: kotlin.Array): kotlin.Array [inline] declared in kotlin' type=kotlin.Array<.In> origin=null + : .In elements: CONSTRUCTOR_CALL 'public constructor () [primary] declared in .In' type=.In origin=null - : + : kotlin.Int VAR name:a2 type:kotlin.Array<.In> [val] - CALL 'public final fun arrayOf (elements: kotlin.Array>): kotlin.Array> [inline] declared in kotlin' type=kotlin.Array<.In> origin=null + CALL 'public final fun arrayOf (elements: kotlin.Array): kotlin.Array [inline] declared in kotlin' type=kotlin.Array<.In> origin=null + : .In elements: CONSTRUCTOR_CALL 'public constructor () [primary] declared in .In' type=.In origin=null - : + : kotlin.String CALL 'public final fun foo (a: kotlin.Array<.In.foo>>, b: kotlin.Array<.In>): kotlin.Boolean declared in ' type=kotlin.Boolean origin=null - : + : kotlin.Int a: GET_VAR 'val a1: kotlin.Array<.In> [val] declared in .test' type=kotlin.Array<.In> origin=null b: GET_VAR 'val a2: kotlin.Array<.In> [val] declared in .test' type=kotlin.Array<.In> origin=null diff --git a/compiler/testData/ir/irText/types/intersectionType1_OI.fir.txt b/compiler/testData/ir/irText/types/intersectionType1_OI.fir.txt index cd439fbea6e..496248f0c87 100644 --- a/compiler/testData/ir/irText/types/intersectionType1_OI.fir.txt +++ b/compiler/testData/ir/irText/types/intersectionType1_OI.fir.txt @@ -1,7 +1,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:[] + TYPE_PARAMETER name:I index:0 variance:in superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.In> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' @@ -20,28 +20,29 @@ FILE fqName: fileName:/intersectionType1_OI.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:select visibility:public modality:FINAL (x:S of .select, y:S of .select) returnType:S of .select - TYPE_PARAMETER name:S index:0 variance: superTypes:[] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:x index:0 type:S of .select VALUE_PARAMETER name:y index:1 type:S of .select BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun select (x: S of .select, y: S of .select): S of .select declared in ' GET_VAR 'x: S of .select declared in .select' type=S of .select origin=null FUN name:foo visibility:public modality:FINAL (a:kotlin.Array<.In.foo>>, b:kotlin.Array<.In>) returnType:kotlin.Boolean - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:a index:0 type:kotlin.Array<.In.foo>> VALUE_PARAMETER name:b index:1 type:kotlin.Array<.In> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun foo (a: kotlin.Array<.In.foo>>, b: kotlin.Array<.In>): kotlin.Boolean declared in ' CALL 'public final fun ofType (y: kotlin.Any?): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null + : T of .foo $receiver: CALL 'public final fun get (index: kotlin.Int): .In.foo> declared in kotlin.Array' type=.In.foo> origin=null $this: CALL 'public final fun select (x: S of .select, y: S of .select): S of .select declared in ' type=kotlin.Array.In.foo>> origin=null - : + : kotlin.Array.In.foo>> x: GET_VAR 'a: kotlin.Array<.In.foo>> declared in .foo' type=kotlin.Array<.In.foo>> origin=null y: GET_VAR 'b: kotlin.Array<.In> declared in .foo' type=kotlin.Array<.In> origin=null index: CONST Int type=kotlin.Int value=0 y: CONST Boolean type=kotlin.Boolean value=true FUN name:ofType visibility:public modality:FINAL ($receiver:.In.ofType>, y:kotlin.Any?) returnType:kotlin.Boolean [inline] - TYPE_PARAMETER name:K index:0 variance: superTypes:[] + TYPE_PARAMETER name:K index:0 variance: superTypes:[kotlin.Any?] $receiver: VALUE_PARAMETER name: type:.In.ofType> VALUE_PARAMETER name:y index:0 type:kotlin.Any? BLOCK_BODY @@ -51,14 +52,16 @@ FILE fqName: fileName:/intersectionType1_OI.kt FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit BLOCK_BODY VAR name:a1 type:kotlin.Array<.In> [val] - CALL 'public final fun arrayOf (elements: kotlin.Array>): kotlin.Array> [inline] declared in kotlin' type=kotlin.Array<.In> origin=null + CALL 'public final fun arrayOf (elements: kotlin.Array): kotlin.Array [inline] declared in kotlin' type=kotlin.Array<.In> origin=null + : .In elements: CONSTRUCTOR_CALL 'public constructor () [primary] declared in .In' type=.In origin=null - : + : kotlin.Int VAR name:a2 type:kotlin.Array<.In> [val] - CALL 'public final fun arrayOf (elements: kotlin.Array>): kotlin.Array> [inline] declared in kotlin' type=kotlin.Array<.In> origin=null + CALL 'public final fun arrayOf (elements: kotlin.Array): kotlin.Array [inline] declared in kotlin' type=kotlin.Array<.In> origin=null + : .In elements: CONSTRUCTOR_CALL 'public constructor () [primary] declared in .In' type=.In origin=null - : + : kotlin.String CALL 'public final fun foo (a: kotlin.Array<.In.foo>>, b: kotlin.Array<.In>): kotlin.Boolean declared in ' type=kotlin.Boolean origin=null - : + : kotlin.Int a: GET_VAR 'val a1: kotlin.Array<.In> [val] declared in .test' type=kotlin.Array<.In> origin=null b: GET_VAR 'val a2: kotlin.Array<.In> [val] declared in .test' type=kotlin.Array<.In> origin=null diff --git a/compiler/testData/ir/irText/types/intersectionType2_NI.fir.txt b/compiler/testData/ir/irText/types/intersectionType2_NI.fir.txt index 390ae02b99e..6250fe55960 100644 --- a/compiler/testData/ir/irText/types/intersectionType2_NI.fir.txt +++ b/compiler/testData/ir/irText/types/intersectionType2_NI.fir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/intersectionType2_NI.kt CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A - TYPE_PARAMETER name:T index:0 variance:out superTypes:[] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any @@ -69,7 +69,7 @@ FILE fqName: fileName:/intersectionType2_NI.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:run visibility:public modality:FINAL (fn:kotlin.Function0.run>) returnType:T of .run - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:fn index:0 type:kotlin.Function0.run> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun run (fn: kotlin.Function0.run>): T of .run declared in ' @@ -79,7 +79,7 @@ FILE fqName: fileName:/intersectionType2_NI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun foo (): .Foo declared in ' CALL 'public final fun run (fn: kotlin.Function0.run>): T of .run declared in ' type=.Foo origin=null - : + : .Foo fn: FUN_EXPR type=kotlin.Function0<.Foo> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:.Foo BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/intersectionType2_OI.fir.txt b/compiler/testData/ir/irText/types/intersectionType2_OI.fir.txt index 8f154b66d5e..da3c295ee73 100644 --- a/compiler/testData/ir/irText/types/intersectionType2_OI.fir.txt +++ b/compiler/testData/ir/irText/types/intersectionType2_OI.fir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/intersectionType2_OI.kt CLASS INTERFACE name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.A - TYPE_PARAMETER name:T index:0 variance:out superTypes:[] + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any @@ -69,7 +69,7 @@ FILE fqName: fileName:/intersectionType2_OI.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:run visibility:public modality:FINAL (fn:kotlin.Function0.run>) returnType:T of .run - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:fn index:0 type:kotlin.Function0.run> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun run (fn: kotlin.Function0.run>): T of .run declared in ' @@ -79,7 +79,7 @@ FILE fqName: fileName:/intersectionType2_OI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun foo (): .Foo declared in ' CALL 'public final fun run (fn: kotlin.Function0.run>): T of .run declared in ' type=.Foo origin=null - : + : .Foo fn: FUN_EXPR type=kotlin.Function0<.Foo> origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:.Foo BLOCK_BODY diff --git a/compiler/testData/ir/irText/types/intersectionType3_NI.fir.txt b/compiler/testData/ir/irText/types/intersectionType3_NI.fir.txt index 8e7013079f7..86b3b7eb64a 100644 --- a/compiler/testData/ir/irText/types/intersectionType3_NI.fir.txt +++ b/compiler/testData/ir/irText/types/intersectionType3_NI.fir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/intersectionType3_NI.kt CLASS INTERFACE name:In modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In - TYPE_PARAMETER name:T index:0 variance:in superTypes:[] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any @@ -16,20 +16,20 @@ FILE fqName: fileName:/intersectionType3_NI.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:isT visibility:public modality:FINAL ($receiver:.In.isT>) returnType:kotlin.Boolean [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $receiver: VALUE_PARAMETER name: type:.In.isT> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun isT (): kotlin.Boolean [inline] declared in ' TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=T of .isT GET_VAR ': .In.isT> declared in .isT' type=.In.isT> origin=null FUN name:asT visibility:public modality:FINAL ($receiver:.In.asT>) returnType:kotlin.Unit [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $receiver: VALUE_PARAMETER name: type:.In.asT> BLOCK_BODY TYPE_OP type=T of .asT origin=CAST typeOperand=T of .asT GET_VAR ': .In.asT> declared in .asT' type=.In.asT> origin=null FUN name:sel visibility:public modality:FINAL (x:S of .sel, y:S of .sel) returnType:S of .sel - TYPE_PARAMETER name:S index:0 variance: superTypes:[] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:x index:0 type:S of .sel VALUE_PARAMETER name:y index:1 type:S of .sel BLOCK_BODY @@ -131,9 +131,9 @@ FILE fqName: fileName:/intersectionType3_NI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testInIs1 (x: .In<.A>, y: .In<.B>): kotlin.Boolean declared in ' CALL 'public final fun isT (): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null - : + : .A $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.A> origin=null - : + : .In<.A> x: GET_VAR 'x: .In<.A> declared in .testInIs1' type=.In<.A> origin=null y: GET_VAR 'y: .In<.B> declared in .testInIs1' type=.In<.B> origin=null FUN name:testInIs2 visibility:public modality:FINAL <> (x:.In<.Z1>, y:.In<.Z2>) returnType:kotlin.Boolean @@ -142,9 +142,9 @@ FILE fqName: fileName:/intersectionType3_NI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testInIs2 (x: .In<.Z1>, y: .In<.Z2>): kotlin.Boolean declared in ' CALL 'public final fun isT (): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null - : + : .Z1 $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.Z1> origin=null - : + : .In<.Z1> x: GET_VAR 'x: .In<.Z1> declared in .testInIs2' type=.In<.Z1> origin=null y: GET_VAR 'y: .In<.Z2> declared in .testInIs2' type=.In<.Z2> origin=null FUN name:testInIs3 visibility:public modality:FINAL <> (x:.In<.A1>, y:.In<.A2>) returnType:kotlin.Boolean @@ -153,9 +153,9 @@ FILE fqName: fileName:/intersectionType3_NI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testInIs3 (x: .In<.A1>, y: .In<.A2>): kotlin.Boolean declared in ' CALL 'public final fun isT (): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null - : + : .A1 $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.A1> origin=null - : + : .In<.A1> x: GET_VAR 'x: .In<.A1> declared in .testInIs3' type=.In<.A1> origin=null y: GET_VAR 'y: .In<.A2> declared in .testInIs3' type=.In<.A2> origin=null FUN name:testInAs1 visibility:public modality:FINAL <> (x:.In<.A>, y:.In<.B>) returnType:kotlin.Unit @@ -164,9 +164,9 @@ FILE fqName: fileName:/intersectionType3_NI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testInAs1 (x: .In<.A>, y: .In<.B>): kotlin.Unit declared in ' CALL 'public final fun asT (): kotlin.Unit [inline] declared in ' type=kotlin.Unit origin=null - : + : .A $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.A> origin=null - : + : .In<.A> x: GET_VAR 'x: .In<.A> declared in .testInAs1' type=.In<.A> origin=null y: GET_VAR 'y: .In<.B> declared in .testInAs1' type=.In<.B> origin=null FUN name:testInAs2 visibility:public modality:FINAL <> (x:.In<.Z1>, y:.In<.Z2>) returnType:kotlin.Unit @@ -175,9 +175,9 @@ FILE fqName: fileName:/intersectionType3_NI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testInAs2 (x: .In<.Z1>, y: .In<.Z2>): kotlin.Unit declared in ' CALL 'public final fun asT (): kotlin.Unit [inline] declared in ' type=kotlin.Unit origin=null - : + : .Z1 $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.Z1> origin=null - : + : .In<.Z1> x: GET_VAR 'x: .In<.Z1> declared in .testInAs2' type=.In<.Z1> origin=null y: GET_VAR 'y: .In<.Z2> declared in .testInAs2' type=.In<.Z2> origin=null FUN name:testInAs3 visibility:public modality:FINAL <> (x:.In<.A1>, y:.In<.A2>) returnType:kotlin.Unit @@ -186,8 +186,8 @@ FILE fqName: fileName:/intersectionType3_NI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testInAs3 (x: .In<.A1>, y: .In<.A2>): kotlin.Unit declared in ' CALL 'public final fun asT (): kotlin.Unit [inline] declared in ' type=kotlin.Unit origin=null - : + : .A1 $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.A1> origin=null - : + : .In<.A1> x: GET_VAR 'x: .In<.A1> declared in .testInAs3' type=.In<.A1> origin=null y: GET_VAR 'y: .In<.A2> declared in .testInAs3' type=.In<.A2> origin=null diff --git a/compiler/testData/ir/irText/types/intersectionType3_OI.fir.txt b/compiler/testData/ir/irText/types/intersectionType3_OI.fir.txt index 918581fb945..c749cb850d1 100644 --- a/compiler/testData/ir/irText/types/intersectionType3_OI.fir.txt +++ b/compiler/testData/ir/irText/types/intersectionType3_OI.fir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/intersectionType3_OI.kt CLASS INTERFACE name:In modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In - TYPE_PARAMETER name:T index:0 variance:in superTypes:[] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any @@ -16,20 +16,20 @@ FILE fqName: fileName:/intersectionType3_OI.kt public open fun toString (): kotlin.String declared in kotlin.Any $this: VALUE_PARAMETER name: type:kotlin.Any FUN name:isT visibility:public modality:FINAL ($receiver:.In.isT>) returnType:kotlin.Boolean [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $receiver: VALUE_PARAMETER name: type:.In.isT> BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun isT (): kotlin.Boolean [inline] declared in ' TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=T of .isT GET_VAR ': .In.isT> declared in .isT' type=.In.isT> origin=null FUN name:asT visibility:public modality:FINAL ($receiver:.In.asT>) returnType:kotlin.Unit [inline] - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $receiver: VALUE_PARAMETER name: type:.In.asT> BLOCK_BODY TYPE_OP type=T of .asT origin=CAST typeOperand=T of .asT GET_VAR ': .In.asT> declared in .asT' type=.In.asT> origin=null FUN name:sel visibility:public modality:FINAL (x:S of .sel, y:S of .sel) returnType:S of .sel - TYPE_PARAMETER name:S index:0 variance: superTypes:[] + TYPE_PARAMETER name:S index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:x index:0 type:S of .sel VALUE_PARAMETER name:y index:1 type:S of .sel BLOCK_BODY @@ -131,9 +131,9 @@ FILE fqName: fileName:/intersectionType3_OI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testInIs1 (x: .In<.A>, y: .In<.B>): kotlin.Boolean declared in ' CALL 'public final fun isT (): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null - : + : .A $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.A> origin=null - : + : .In<.A> x: GET_VAR 'x: .In<.A> declared in .testInIs1' type=.In<.A> origin=null y: GET_VAR 'y: .In<.B> declared in .testInIs1' type=.In<.B> origin=null FUN name:testInIs2 visibility:public modality:FINAL <> (x:.In<.Z1>, y:.In<.Z2>) returnType:kotlin.Boolean @@ -142,9 +142,9 @@ FILE fqName: fileName:/intersectionType3_OI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testInIs2 (x: .In<.Z1>, y: .In<.Z2>): kotlin.Boolean declared in ' CALL 'public final fun isT (): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null - : + : .Z1 $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.Z1> origin=null - : + : .In<.Z1> x: GET_VAR 'x: .In<.Z1> declared in .testInIs2' type=.In<.Z1> origin=null y: GET_VAR 'y: .In<.Z2> declared in .testInIs2' type=.In<.Z2> origin=null FUN name:testInIs3 visibility:public modality:FINAL <> (x:.In<.A1>, y:.In<.A2>) returnType:kotlin.Boolean @@ -153,9 +153,9 @@ FILE fqName: fileName:/intersectionType3_OI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testInIs3 (x: .In<.A1>, y: .In<.A2>): kotlin.Boolean declared in ' CALL 'public final fun isT (): kotlin.Boolean [inline] declared in ' type=kotlin.Boolean origin=null - : + : .A1 $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.A1> origin=null - : + : .In<.A1> x: GET_VAR 'x: .In<.A1> declared in .testInIs3' type=.In<.A1> origin=null y: GET_VAR 'y: .In<.A2> declared in .testInIs3' type=.In<.A2> origin=null FUN name:testInAs1 visibility:public modality:FINAL <> (x:.In<.A>, y:.In<.B>) returnType:kotlin.Unit @@ -164,9 +164,9 @@ FILE fqName: fileName:/intersectionType3_OI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testInAs1 (x: .In<.A>, y: .In<.B>): kotlin.Unit declared in ' CALL 'public final fun asT (): kotlin.Unit [inline] declared in ' type=kotlin.Unit origin=null - : + : .A $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.A> origin=null - : + : .In<.A> x: GET_VAR 'x: .In<.A> declared in .testInAs1' type=.In<.A> origin=null y: GET_VAR 'y: .In<.B> declared in .testInAs1' type=.In<.B> origin=null FUN name:testInAs2 visibility:public modality:FINAL <> (x:.In<.Z1>, y:.In<.Z2>) returnType:kotlin.Unit @@ -175,9 +175,9 @@ FILE fqName: fileName:/intersectionType3_OI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testInAs2 (x: .In<.Z1>, y: .In<.Z2>): kotlin.Unit declared in ' CALL 'public final fun asT (): kotlin.Unit [inline] declared in ' type=kotlin.Unit origin=null - : + : .Z1 $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.Z1> origin=null - : + : .In<.Z1> x: GET_VAR 'x: .In<.Z1> declared in .testInAs2' type=.In<.Z1> origin=null y: GET_VAR 'y: .In<.Z2> declared in .testInAs2' type=.In<.Z2> origin=null FUN name:testInAs3 visibility:public modality:FINAL <> (x:.In<.A1>, y:.In<.A2>) returnType:kotlin.Unit @@ -186,8 +186,8 @@ FILE fqName: fileName:/intersectionType3_OI.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun testInAs3 (x: .In<.A1>, y: .In<.A2>): kotlin.Unit declared in ' CALL 'public final fun asT (): kotlin.Unit [inline] declared in ' type=kotlin.Unit origin=null - : + : .A1 $receiver: CALL 'public final fun sel (x: S of .sel, y: S of .sel): S of .sel declared in ' type=.In<.A1> origin=null - : + : .In<.A1> x: GET_VAR 'x: .In<.A1> declared in .testInAs3' type=.In<.A1> origin=null y: GET_VAR 'y: .In<.A2> declared in .testInAs3' type=.In<.A2> origin=null diff --git a/compiler/testData/ir/irText/types/localVariableOfIntersectionType_NI.fir.txt b/compiler/testData/ir/irText/types/localVariableOfIntersectionType_NI.fir.txt index 6fdfec41372..b911f0b34e4 100644 --- a/compiler/testData/ir/irText/types/localVariableOfIntersectionType_NI.fir.txt +++ b/compiler/testData/ir/irText/types/localVariableOfIntersectionType_NI.fir.txt @@ -1,7 +1,7 @@ FILE fqName: fileName:/localVariableOfIntersectionType_NI.kt CLASS INTERFACE name:In modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.In - TYPE_PARAMETER name:T index:0 variance:in superTypes:[] + TYPE_PARAMETER name:T index:0 variance:in superTypes:[kotlin.Any?] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any @@ -17,7 +17,7 @@ FILE fqName: fileName:/localVariableOfIntersectionType_NI.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS INTERFACE name:Inv modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Inv - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] PROPERTY name:t visibility:public modality:ABSTRACT [val] FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.Inv) returnType:T of .Inv correspondingProperty: PROPERTY name:t visibility:public modality:ABSTRACT [val] @@ -38,7 +38,7 @@ FILE fqName: fileName:/localVariableOfIntersectionType_NI.kt CLASS INTERFACE name:Z modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Z FUN name:create visibility:public modality:ABSTRACT ($this:.Z, x:.In.Z.create>, y:.In.Z.create>) returnType:.Inv.Z.create> - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] $this: VALUE_PARAMETER name: type:.Z VALUE_PARAMETER name:x index:0 type:.In.Z.create> VALUE_PARAMETER name:y index:1 type:.In.Z.create> @@ -97,21 +97,21 @@ FILE fqName: fileName:/localVariableOfIntersectionType_NI.kt CALL 'public abstract fun foo (): kotlin.Unit declared in .IA' type=kotlin.Unit origin=null $this: CALL 'public abstract fun (): .IA declared in .Inv' type=.IA origin=null $this: CALL 'public abstract fun create (x: .In.Z.create>, y: .In.Z.create>): .Inv.Z.create> declared in .Z' type=.Inv<.IA> origin=null - : + : .IA $this: GET_VAR 'z: .Z declared in .test' type=.Z origin=null x: GET_VAR 'a: .In<.IA> declared in .test' type=.In<.IA> origin=null y: GET_VAR 'b: .In<.IB> declared in .test' type=.In<.IB> origin=null CALL 'public abstract fun bar (): kotlin.Unit declared in .IB' type=kotlin.Unit origin=null $this: CALL 'public abstract fun (): .IA declared in .Inv' type=.IA origin=null $this: CALL 'public abstract fun create (x: .In.Z.create>, y: .In.Z.create>): .Inv.Z.create> declared in .Z' type=.Inv<.IA> origin=null - : + : .IA $this: GET_VAR 'z: .Z declared in .test' type=.Z origin=null x: GET_VAR 'a: .In<.IA> declared in .test' type=.In<.IA> origin=null y: GET_VAR 'b: .In<.IB> declared in .test' type=.In<.IB> origin=null VAR name:t type:.IA [val] CALL 'public abstract fun (): .IA declared in .Inv' type=.IA origin=null $this: CALL 'public abstract fun create (x: .In.Z.create>, y: .In.Z.create>): .Inv.Z.create> declared in .Z' type=.Inv<.IA> origin=null - : + : .IA $this: GET_VAR 'z: .Z declared in .test' type=.Z origin=null x: GET_VAR 'a: .In<.IA> declared in .test' type=.In<.IA> origin=null y: GET_VAR 'b: .In<.IB> declared in .test' type=.In<.IB> origin=null diff --git a/compiler/testData/ir/irText/types/smartCastOnReceiverOfGenericType.fir.txt b/compiler/testData/ir/irText/types/smartCastOnReceiverOfGenericType.fir.txt index 3389055e929..f4d78fa2ada 100644 --- a/compiler/testData/ir/irText/types/smartCastOnReceiverOfGenericType.fir.txt +++ b/compiler/testData/ir/irText/types/smartCastOnReceiverOfGenericType.fir.txt @@ -34,7 +34,7 @@ FILE fqName: fileName:/smartCastOnReceiverOfGenericType.kt GET_VAR 'b: kotlin.Any declared in .testInnerClass' type=kotlin.Int origin=null GET_VAR 'c: kotlin.Any declared in .testInnerClass' type=kotlin.String origin=null FUN name:testNonSubstitutedTypeParameter visibility:public modality:FINAL (a:kotlin.Any, b:kotlin.Any) returnType:kotlin.Unit - TYPE_PARAMETER name:T index:0 variance: superTypes:[] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] VALUE_PARAMETER name:a index:0 type:kotlin.Any VALUE_PARAMETER name:b index:1 type:kotlin.Any BLOCK_BODY @@ -47,7 +47,7 @@ FILE fqName: fileName:/smartCastOnReceiverOfGenericType.kt element: GET_VAR 'b: kotlin.Any declared in .testNonSubstitutedTypeParameter' type=kotlin.collections.List.testNonSubstitutedTypeParameter> origin=null 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:[] + 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 BLOCK_BODY @@ -87,14 +87,14 @@ FILE fqName: fileName:/smartCastOnReceiverOfGenericType.kt $this: VALUE_PARAMETER name: type:kotlin.Any 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:[] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.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:[] + TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] CONSTRUCTOR visibility:public <> () returnType:.Outer.Inner> [primary] BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any'