diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/fillInStackTrace.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/fillInStackTrace.fir.txt index 3a944b0d827..e419ccea91d 100644 --- a/compiler/fir/analysis-tests/testData/resolveWithStdlib/fillInStackTrace.fir.txt +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/fillInStackTrace.fir.txt @@ -1,4 +1,4 @@ FILE: fillInStackTrace.kt public final fun test(t: R|kotlin/Throwable|): R|kotlin/Unit| { - R|/t|.R|java/lang/Throwable.fillInStackTrace|() + R|/t|.R|kotlin/Throwable.fillInStackTrace|() } diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/MyException.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/MyException.fir.txt index fbbffb1a4b4..cbc2582c660 100644 --- a/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/MyException.fir.txt +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/j+k/MyException.fir.txt @@ -6,17 +6,17 @@ FILE: test.kt } public final fun test(e: R|MyException|, stream: R|java/io/PrintStream|): R|kotlin/Unit| { - R|/e|.R|java/lang/Throwable.printStackTrace|() - R|/e|.R|java/lang/Throwable.printStackTrace|(R|/stream|) - lval result: R|ft| = R|/e|.R|java/lang/Throwable.getLocalizedMessage|() + R|/e|.R|kotlin/Throwable.printStackTrace|() + R|/e|.R|kotlin/Throwable.printStackTrace|(R|/stream|) + lval result: R|ft| = R|/e|.R|kotlin/Throwable.getLocalizedMessage|() } public final fun test(e: R|YourException|, stream: R|java/io/PrintStream|): R|kotlin/Unit| { - R|/e|.R|java/lang/Throwable.printStackTrace|() - R|/e|.R|java/lang/Throwable.printStackTrace|(R|/stream|) - lval result: R|ft| = R|/e|.R|java/lang/Throwable.getLocalizedMessage|() + R|/e|.R|kotlin/Throwable.printStackTrace|() + R|/e|.R|kotlin/Throwable.printStackTrace|(R|/stream|) + lval result: R|ft| = R|/e|.R|kotlin/Throwable.getLocalizedMessage|() } public final fun test(e: R|kotlin/Exception|, stream: R|java/io/PrintStream|): R|kotlin/Unit| { - R|/e|.R|java/lang/Throwable.printStackTrace|() - R|/e|.R|java/lang/Throwable.printStackTrace|(R|/stream|) - lval result: R|ft| = R|/e|.R|java/lang/Throwable.getLocalizedMessage|() + R|/e|.R|kotlin/Throwable.printStackTrace|() + R|/e|.R|kotlin/Throwable.printStackTrace|(R|/stream|) + lval result: R|ft| = R|/e|.R|kotlin/Throwable.getLocalizedMessage|() } diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java index 23183cafede..f8aec927ed4 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java @@ -21172,6 +21172,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/javaInterop/samUnboundTypeParameter.kt"); } + @Test + @TestMetadata("superCallOfPrintStackTrace.kt") + public void testSuperCallOfPrintStackTrace() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/superCallOfPrintStackTrace.kt"); + } + @Nested @TestMetadata("compiler/testData/codegen/box/javaInterop/generics") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt index 73477522cf7..50a4d10940f 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.fir.java.enhancement +import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.fir.FirAnnotationContainer @@ -26,8 +27,7 @@ import org.jetbrains.kotlin.fir.render import org.jetbrains.kotlin.fir.scopes.jvm.computeJvmDescriptor import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.fir.symbols.impl.* -import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef -import org.jetbrains.kotlin.fir.types.FirTypeRef +import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.jvm.FirJavaTypeRef import org.jetbrains.kotlin.load.java.AnnotationQualifierApplicabilityType import org.jetbrains.kotlin.load.java.typeEnhancement.* diff --git a/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/resolve/scopes/JvmMappedScopes.kt b/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/resolve/scopes/JvmMappedScopes.kt index 5c22fe3a15f..e087210064e 100644 --- a/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/resolve/scopes/JvmMappedScopes.kt +++ b/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/resolve/scopes/JvmMappedScopes.kt @@ -10,10 +10,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.FirClass import org.jetbrains.kotlin.fir.declarations.FirRegularClass import org.jetbrains.kotlin.fir.declarations.classId -import org.jetbrains.kotlin.fir.resolve.ScopeSession -import org.jetbrains.kotlin.fir.resolve.constructType -import org.jetbrains.kotlin.fir.resolve.symbolProvider -import org.jetbrains.kotlin.fir.resolve.wrapSubstitutionScopeIfNeed +import org.jetbrains.kotlin.fir.resolve.* import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.jvm.JvmMappedScope import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope @@ -37,7 +34,14 @@ fun wrapScopeWithJvmMapped( val preparedSignatures = JvmMappedScope.prepareSignatures(javaClass, JavaToKotlinClassMap.isMutable(kotlinUnsafeFqName)) return if (preparedSignatures.isNotEmpty()) { javaClass.unsubstitutedScope(useSiteSession, scopeSession, withForcedTypeCalculator = false).let { javaClassUseSiteScope -> - val jvmMappedScope = JvmMappedScope(declaredMemberScope, javaClassUseSiteScope, preparedSignatures) + val jvmMappedScope = JvmMappedScope( + useSiteSession, + klass, + javaClass, + declaredMemberScope, + javaClassUseSiteScope, + preparedSignatures + ) if (klass !is FirRegularClass) { jvmMappedScope } else { diff --git a/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/scopes/jvm/JvmMappedScope.kt b/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/scopes/jvm/JvmMappedScope.kt index cf7ed1b6c21..83921662a6c 100644 --- a/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/scopes/jvm/JvmMappedScope.kt +++ b/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/scopes/jvm/JvmMappedScope.kt @@ -6,17 +6,38 @@ package org.jetbrains.kotlin.fir.scopes.jvm import org.jetbrains.kotlin.builtins.jvm.JvmBuiltInsSignatures +import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.declarations.FirClass import org.jetbrains.kotlin.fir.declarations.FirRegularClass +import org.jetbrains.kotlin.fir.declarations.classId +import org.jetbrains.kotlin.fir.resolve.defaultType import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor +import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutorByMap import org.jetbrains.kotlin.fir.scopes.* +import org.jetbrains.kotlin.fir.scopes.impl.FirFakeOverrideGenerator +import org.jetbrains.kotlin.fir.symbols.ConeTypeParameterLookupTag import org.jetbrains.kotlin.fir.symbols.impl.* +import org.jetbrains.kotlin.fir.types.coneType +import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.Name class JvmMappedScope( + private val session: FirSession, + private val firKotlinClass: FirClass<*>, + private val firJavaClass: FirRegularClass, private val declaredMemberScope: FirScope, - private val javaMappedClassUseSiteScope: FirScope, + private val javaMappedClassUseSiteScope: FirTypeScope, private val signatures: Signatures ) : FirTypeScope() { + private val functionsCache = mutableMapOf() + + private val substitutor = ConeSubstitutorByMap( + firJavaClass.typeParameters.zip(firKotlinClass.typeParameters).map { (javaParameter, kotlinParameter) -> + javaParameter.symbol to ConeTypeParameterTypeImpl(ConeTypeParameterLookupTag(kotlinParameter.symbol), isNullable = false) + }.toMap() + ) + private val kotlinDispatchReceiverType = firKotlinClass.defaultType() override fun processFunctionsByName(name: Name, processor: (FirNamedFunctionSymbol) -> Unit) { val visibleMethods = signatures.visibleMethodSignaturesByName[name] @@ -33,13 +54,36 @@ class JvmMappedScope( } javaMappedClassUseSiteScope.processFunctionsByName(name) { symbol -> - val jvmSignature = symbol.fir.computeJvmDescriptor() + val newSymbol = getOrCreateSubstitutedCopy(symbol) + + val jvmSignature = newSymbol.fir.computeJvmDescriptor() if (jvmSignature in visibleMethods && jvmSignature !in declaredSignatures) { - processor(symbol) + processor(newSymbol) } } } + override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) { + declaredMemberScope.processPropertiesByName(name, processor) + } + + private fun getOrCreateSubstitutedCopy(symbol: FirNamedFunctionSymbol): FirNamedFunctionSymbol { + return functionsCache.getOrPut(symbol) { + val oldFunction = symbol.fir + val newSymbol = FirNamedFunctionSymbol(CallableId(firKotlinClass.classId, symbol.callableId.callableName)) + FirFakeOverrideGenerator.createCopyForFirFunction( + newSymbol, + baseFunction = symbol.fir, + session, + symbol.fir.origin, + newDispatchReceiverType = kotlinDispatchReceiverType, + newParameterTypes = oldFunction.valueParameters.map { substitutor.substituteOrSelf(it.returnTypeRef.coneType) }, + newReturnType = substitutor.substituteOrSelf(oldFunction.returnTypeRef.coneType) + ) + newSymbol + } + } + override fun processDirectOverriddenFunctionsWithBaseScope( functionSymbol: FirNamedFunctionSymbol, processor: (FirNamedFunctionSymbol, FirTypeScope) -> ProcessorAction @@ -61,10 +105,6 @@ class JvmMappedScope( declaredMemberScope.processDeclaredConstructors(processor) } - override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) { - declaredMemberScope.processPropertiesByName(name, processor) - } - override fun processDirectOverriddenPropertiesWithBaseScope( propertySymbol: FirPropertySymbol, processor: (FirPropertySymbol, FirTypeScope) -> ProcessorAction diff --git a/compiler/testData/codegen/box/javaInterop/superCallOfPrintStackTrace.kt b/compiler/testData/codegen/box/javaInterop/superCallOfPrintStackTrace.kt new file mode 100644 index 00000000000..bed07d11f02 --- /dev/null +++ b/compiler/testData/codegen/box/javaInterop/superCallOfPrintStackTrace.kt @@ -0,0 +1,16 @@ +// TARGET_BACKEND: JVM +// FULL_JDK +// FILE: PlaceholderException.java + +public class PlaceholderException extends RuntimeException {} + +// FILE: main.kt +import java.io.PrintWriter + +class KotlinTestFailure : PlaceholderException() { + override fun printStackTrace(s: PrintWriter?) { + super.printStackTrace(s) + } +} + +fun box(): String = "OK" diff --git a/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.txt b/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.txt index 1b6e8274c64..d0ac736ffbb 100644 --- a/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.txt +++ b/compiler/testData/ir/irText/firProblems/AbstractMutableMap.fir.txt @@ -64,53 +64,53 @@ FILE fqName: fileName:/AbstractMutableMap.kt overridden: public open fun (): kotlin.collections.MutableCollection [fake_override] declared in kotlin.collections.AbstractMutableMap $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap - FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.Map, p0:@[EnhancedNullability] java.util.function.BiFunction.MyMap?, in @[FlexibleNullability] V of .MyMap?, out @[FlexibleNullability] V of .MyMap?>) returnType:kotlin.Unit [fake_override] + FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:@[EnhancedNullability] java.util.function.BiFunction.MyMap?, in @[FlexibleNullability] V of .MyMap?, out @[FlexibleNullability] V of .MyMap?>) returnType:kotlin.Unit [fake_override] overridden: public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction): kotlin.Unit [fake_override] declared in kotlin.collections.AbstractMutableMap - $this: VALUE_PARAMETER name: type:java.util.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction.MyMap?, in @[FlexibleNullability] V of .MyMap?, out @[FlexibleNullability] V of .MyMap?> - FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:java.util.Map, p0:K of .MyMap, p1:V of .MyMap, p2:@[EnhancedNullability] java.util.function.BiFunction.MyMap?, in @[FlexibleNullability] V of .MyMap?, out @[FlexibleNullability] V of .MyMap?>) returnType:V of .MyMap? [fake_override] + FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:K of .MyMap, p1:V of .MyMap, p2:@[EnhancedNullability] java.util.function.BiFunction.MyMap?, in @[FlexibleNullability] V of .MyMap?, out @[FlexibleNullability] V of .MyMap?>) returnType:V of .MyMap? [fake_override] overridden: public open fun merge (p0: K of kotlin.collections.AbstractMutableMap, p1: V of kotlin.collections.AbstractMutableMap, p2: @[EnhancedNullability] java.util.function.BiFunction): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap - $this: VALUE_PARAMETER name: type:java.util.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap VALUE_PARAMETER name:p0 index:0 type:K of .MyMap VALUE_PARAMETER name:p1 index:1 type:V of .MyMap VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction.MyMap?, in @[FlexibleNullability] V of .MyMap?, out @[FlexibleNullability] V of .MyMap?> - FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:java.util.Map, p0:K of .MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction.MyMap?, in @[FlexibleNullability] V of .MyMap?, out @[FlexibleNullability] V of .MyMap?>) returnType:V of .MyMap? [fake_override] + FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:K of .MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction.MyMap?, in @[FlexibleNullability] V of .MyMap?, out @[FlexibleNullability] V of .MyMap?>) returnType:V of .MyMap? [fake_override] overridden: public open fun computeIfPresent (p0: K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap - $this: VALUE_PARAMETER name: type:java.util.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap VALUE_PARAMETER name:p0 index:0 type:K of .MyMap VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.MyMap?, in @[FlexibleNullability] V of .MyMap?, out @[FlexibleNullability] V of .MyMap?> - FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:java.util.Map, p0:K of .MyMap, p1:V of .MyMap) returnType:V of .MyMap? [fake_override] + FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:K of .MyMap, p1:V of .MyMap) returnType:V of .MyMap? [fake_override] overridden: public open fun putIfAbsent (p0: K of kotlin.collections.AbstractMutableMap, p1: V of kotlin.collections.AbstractMutableMap): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap - $this: VALUE_PARAMETER name: type:java.util.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap VALUE_PARAMETER name:p0 index:0 type:K of .MyMap VALUE_PARAMETER name:p1 index:1 type:V of .MyMap - FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.Map, p0:K of .MyMap, p1:V of .MyMap, p2:V of .MyMap) returnType:kotlin.Boolean [fake_override] + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:K of .MyMap, p1:V of .MyMap, p2:V of .MyMap) returnType:kotlin.Boolean [fake_override] overridden: public open fun replace (p0: K of kotlin.collections.AbstractMutableMap, p1: V of kotlin.collections.AbstractMutableMap, p2: V of kotlin.collections.AbstractMutableMap): kotlin.Boolean [fake_override] declared in kotlin.collections.AbstractMutableMap - $this: VALUE_PARAMETER name: type:java.util.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap VALUE_PARAMETER name:p0 index:0 type:K of .MyMap VALUE_PARAMETER name:p1 index:1 type:V of .MyMap VALUE_PARAMETER name:p2 index:2 type:V of .MyMap - FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:java.util.Map, p0:K of .MyMap, p1:V of .MyMap) returnType:V of .MyMap? [fake_override] + FUN FAKE_OVERRIDE name:replace visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:K of .MyMap, p1:V of .MyMap) returnType:V of .MyMap? [fake_override] overridden: public open fun replace (p0: K of kotlin.collections.AbstractMutableMap, p1: V of kotlin.collections.AbstractMutableMap): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap - $this: VALUE_PARAMETER name: type:java.util.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap VALUE_PARAMETER name:p0 index:0 type:K of .MyMap VALUE_PARAMETER name:p1 index:1 type:V of .MyMap - FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.Map, p0:K of .MyMap, p1:@[EnhancedNullability] java.util.function.Function.MyMap?, out @[FlexibleNullability] V of .MyMap?>) returnType:V of .MyMap [fake_override] + FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:K of .MyMap, p1:@[EnhancedNullability] java.util.function.Function.MyMap?, out @[FlexibleNullability] V of .MyMap?>) returnType:V of .MyMap [fake_override] overridden: public open fun computeIfAbsent (p0: K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.Function): V of kotlin.collections.AbstractMutableMap [fake_override] declared in kotlin.collections.AbstractMutableMap - $this: VALUE_PARAMETER name: type:java.util.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap VALUE_PARAMETER name:p0 index:0 type:K of .MyMap VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function.MyMap?, out @[FlexibleNullability] V of .MyMap?> - FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:java.util.Map, p0:K of .MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction.MyMap?, in @[FlexibleNullability] V of .MyMap?, out @[FlexibleNullability] V of .MyMap?>) returnType:V of .MyMap? [fake_override] + FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:kotlin.collections.MutableMap, p0:K of .MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction.MyMap?, in @[FlexibleNullability] V of .MyMap?, out @[FlexibleNullability] V of .MyMap?>) returnType:V of .MyMap? [fake_override] overridden: public open fun compute (p0: K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap - $this: VALUE_PARAMETER name: type:java.util.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.MutableMap VALUE_PARAMETER name:p0 index:0 type:K of .MyMap VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction.MyMap?, in @[FlexibleNullability] V of .MyMap?, out @[FlexibleNullability] V of .MyMap?> FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map, key:K of .MyMap) returnType:kotlin.Boolean [fake_override] @@ -147,10 +147,10 @@ FILE fqName: fileName:/AbstractMutableMap.kt overridden: public open fun (): kotlin.Int [fake_override] declared in kotlin.collections.AbstractMutableMap $this: VALUE_PARAMETER name: type:kotlin.collections.Map - FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.Map, p0:@[EnhancedNullability] java.util.function.BiConsumer.MyMap?, in @[FlexibleNullability] V of .MyMap?>) returnType:kotlin.Unit [fake_override] + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Map, p0:@[EnhancedNullability] java.util.function.BiConsumer.MyMap?, in @[FlexibleNullability] V of .MyMap?>) returnType:kotlin.Unit [fake_override] overridden: public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer): kotlin.Unit [fake_override] declared in kotlin.collections.AbstractMutableMap - $this: VALUE_PARAMETER name: type:java.util.Map + $this: VALUE_PARAMETER name: type:kotlin.collections.Map VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer.MyMap?, in @[FlexibleNullability] V of .MyMap?> FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: diff --git a/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.fir.txt b/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.fir.txt index 470e4b2bfea..90874e93b82 100644 --- a/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.fir.txt +++ b/compiler/testData/ir/irText/firProblems/ImplicitReceiverStack.fir.txt @@ -109,15 +109,15 @@ FILE fqName: fileName:/ImplicitReceiverStack.kt overridden: public abstract fun iterator (): kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterable $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable - FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.lang.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer.ImplicitReceiverValue<*>?>?) returnType:kotlin.Unit [fake_override] + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer.ImplicitReceiverValue<*>?>?) returnType:kotlin.Unit [fake_override] overridden: - public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.lang.Iterable - $this: VALUE_PARAMETER name: type:java.lang.Iterable + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.ImplicitReceiverValue<*>?>? - FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.lang.Iterable) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .ImplicitReceiverValue<*>?> [fake_override] + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .ImplicitReceiverValue<*>?> [fake_override] overridden: - public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of java.lang.Iterable?> declared in java.lang.Iterable - $this: VALUE_PARAMETER name: type:java.lang.Iterable + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of kotlin.collections.Iterable?> declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any @@ -170,17 +170,17 @@ FILE fqName: fileName:/ImplicitReceiverStack.kt : .ImplicitReceiverValue<*> $receiver: CALL 'private final fun (): kotlin.collections.List<.ImplicitReceiverValue<*>> declared in .PersistentImplicitReceiverStack' type=kotlin.collections.List<.ImplicitReceiverValue<*>> origin=GET_PROPERTY $this: GET_VAR ': .PersistentImplicitReceiverStack declared in .PersistentImplicitReceiverStack.get' type=.PersistentImplicitReceiverStack origin=null - FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.lang.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer.ImplicitReceiverValue<*>?>?) returnType:kotlin.Unit [fake_override] + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer.ImplicitReceiverValue<*>?>?) returnType:kotlin.Unit [fake_override] overridden: public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.ImplicitReceiverValue<*>?>?): kotlin.Unit [fake_override] declared in .ImplicitReceiverStack - public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.lang.Iterable - $this: VALUE_PARAMETER name: type:java.lang.Iterable + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.ImplicitReceiverValue<*>?>? - FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.lang.Iterable) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .ImplicitReceiverValue<*>?> [fake_override] + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .ImplicitReceiverValue<*>?> [fake_override] overridden: public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .ImplicitReceiverValue<*>?> [fake_override] declared in .ImplicitReceiverStack - public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of java.lang.Iterable?> declared in java.lang.Iterable - $this: VALUE_PARAMETER name: type:java.lang.Iterable + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] T of kotlin.collections.Iterable?> declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .ImplicitReceiverStack diff --git a/compiler/testData/ir/irText/firProblems/MultiList.fir.txt b/compiler/testData/ir/irText/firProblems/MultiList.fir.txt index e33b5c7551f..533ad3e3175 100644 --- a/compiler/testData/ir/irText/firProblems/MultiList.fir.txt +++ b/compiler/testData/ir/irText/firProblems/MultiList.fir.txt @@ -156,22 +156,22 @@ FILE fqName: fileName:/MultiList.kt overridden: public abstract fun (): kotlin.Int declared in kotlin.collections.List $this: VALUE_PARAMETER name: type:kotlin.collections.List - FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.Collection) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .Some.MyList>?> [fake_override] + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .Some.MyList>?> [fake_override] overridden: - public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.Collection?> declared in java.util.Collection - $this: VALUE_PARAMETER name: type:java.util.Collection - FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:java.util.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some.MyList>?> [fake_override] + public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of kotlin.collections.Collection?> declared in kotlin.collections.Collection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some.MyList>?> [fake_override] overridden: - public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] E of java.util.Collection?> declared in java.util.Collection - $this: VALUE_PARAMETER name: type:java.util.Collection - FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:java.util.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some.MyList>?> [fake_override] + public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] E of kotlin.collections.Collection?> declared in kotlin.collections.Collection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some.MyList>?> [fake_override] overridden: - public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] E of java.util.Collection?> declared in java.util.Collection - $this: VALUE_PARAMETER name: type:java.util.Collection - FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.lang.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer.Some.MyList>?>?) returnType:kotlin.Unit [fake_override] + public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] E of kotlin.collections.Collection?> declared in kotlin.collections.Collection + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer.Some.MyList>?>?) returnType:kotlin.Unit [fake_override] overridden: - public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.lang.Iterable - $this: VALUE_PARAMETER name: type:java.lang.Iterable + public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.Some.MyList>?>? FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: @@ -259,26 +259,26 @@ FILE fqName: fileName:/MultiList.kt public abstract fun (): kotlin.Int [fake_override] declared in .MyList public open fun (): kotlin.Int declared in java.util.ArrayList $this: VALUE_PARAMETER name: type:kotlin.collections.List - FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.Collection) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .Some.SomeList>?> [fake_override] + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .Some.SomeList>?> [fake_override] overridden: public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .Some.MyList>?> [fake_override] declared in .MyList public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] E of java.util.ArrayList?> declared in java.util.ArrayList - $this: VALUE_PARAMETER name: type:java.util.Collection - FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:java.util.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some.SomeList>?> [fake_override] + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some.SomeList>?> [fake_override] overridden: public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some.MyList>?> [fake_override] declared in .MyList public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] E of java.util.ArrayList?> [fake_override] declared in java.util.ArrayList - $this: VALUE_PARAMETER name: type:java.util.Collection - FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:java.util.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some.SomeList>?> [fake_override] + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some.SomeList>?> [fake_override] overridden: public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some.MyList>?> [fake_override] declared in .MyList public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] E of java.util.ArrayList?> [fake_override] declared in java.util.ArrayList - $this: VALUE_PARAMETER name: type:java.util.Collection - FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.lang.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer.Some.SomeList>?>?) returnType:kotlin.Unit [fake_override] + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer.Some.SomeList>?>?) returnType:kotlin.Unit [fake_override] overridden: public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.Some.MyList>?>?): kotlin.Unit [fake_override] declared in .MyList public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer?): kotlin.Unit declared in java.util.ArrayList - $this: VALUE_PARAMETER name: type:java.lang.Iterable + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.Some.SomeList>?>? FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: @@ -458,22 +458,22 @@ FILE fqName: fileName:/MultiList.kt overridden: public open fun (): kotlin.Int [fake_override] declared in .SomeList $this: VALUE_PARAMETER name: type:kotlin.collections.List - FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.Collection) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .Some?> [fake_override] + FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .Some?> [fake_override] overridden: public open fun spliterator (): @[EnhancedNullability] java.util.Spliterator<@[FlexibleNullability] .Some.SomeList>?> [fake_override] declared in .SomeList - $this: VALUE_PARAMETER name: type:java.util.Collection - FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:java.util.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some?> [fake_override] + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:parallelStream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some?> [fake_override] overridden: public open fun parallelStream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some.SomeList>?> [fake_override] declared in .SomeList - $this: VALUE_PARAMETER name: type:java.util.Collection - FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:java.util.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some?> [fake_override] + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:stream visibility:public modality:OPEN <> ($this:kotlin.collections.Collection) returnType:@[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some?> [fake_override] overridden: public open fun stream (): @[EnhancedNullability] java.util.stream.Stream<@[FlexibleNullability] .Some.SomeList>?> [fake_override] declared in .SomeList - $this: VALUE_PARAMETER name: type:java.util.Collection - FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.lang.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer.Some?>?) returnType:kotlin.Unit [fake_override] + $this: VALUE_PARAMETER name: type:kotlin.collections.Collection + FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:kotlin.collections.Iterable, p0:@[FlexibleNullability] java.util.function.Consumer.Some?>?) returnType:kotlin.Unit [fake_override] overridden: public open fun forEach (p0: @[FlexibleNullability] java.util.function.Consumer.Some.SomeList>?>?): kotlin.Unit [fake_override] declared in .SomeList - $this: VALUE_PARAMETER name: type:java.lang.Iterable + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.Consumer.Some?>? FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: diff --git a/compiler/testData/ir/irText/firProblems/kt19251.fir.txt b/compiler/testData/ir/irText/firProblems/kt19251.fir.txt index a3e44ac110d..f7752354de7 100644 --- a/compiler/testData/ir/irText/firProblems/kt19251.fir.txt +++ b/compiler/testData/ir/irText/firProblems/kt19251.fir.txt @@ -14,7 +14,7 @@ FILE fqName: fileName:/test.kt RETURN type=kotlin.Nothing from='local final fun (it: @[FlexibleNullability] kotlin.String?): @[FlexibleNullability] kotlin.String? declared in .box' CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin.StandardKt' type=kotlin.Nothing origin=null RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' - CALL 'public open fun computeIfAbsent (p0: @[EnhancedNullability] K of java.util.Map, p1: @[EnhancedNullability] java.util.function.Function): @[EnhancedNullability] V of java.util.Map declared in java.util.Map' type=kotlin.String origin=null + CALL 'public open fun computeIfAbsent (p0: K of kotlin.collections.MutableMap, p1: @[EnhancedNullability] java.util.function.Function): V of kotlin.collections.MutableMap declared in kotlin.collections.MutableMap' type=kotlin.String origin=null $this: GET_VAR 'val map: kotlin.collections.MutableMap<.Fun, kotlin.String> [val] declared in .box' type=kotlin.collections.MutableMap<.Fun, kotlin.String> origin=null p0: GET_VAR 'val fn: .Fun [val] declared in .box' type=.Fun origin=null p1: TYPE_OP type=@[EnhancedNullability] java.util.function.Function<@[FlexibleNullability] .Fun?, @[FlexibleNullability] kotlin.String?> origin=SAM_CONVERSION typeOperand=@[EnhancedNullability] java.util.function.Function<@[FlexibleNullability] .Fun?, @[FlexibleNullability] kotlin.String?> diff --git a/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.txt b/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.txt index 69472d27072..c3f972b808e 100644 --- a/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.txt +++ b/compiler/testData/ir/irText/firProblems/putIfAbsent.fir.txt @@ -16,7 +16,7 @@ FILE fqName: fileName:/putIfAbsent.kt : T of .Owner.foo : T of .Owner.foo TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - CALL 'public open fun putIfAbsent (p0: @[EnhancedNullability] K of java.util.Map, p1: @[EnhancedNullability] V of java.util.Map): V of java.util.Map? declared in java.util.Map' type=T of .Owner.foo? origin=null + CALL 'public open fun putIfAbsent (p0: K of kotlin.collections.MutableMap, p1: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=T of .Owner.foo? origin=null $this: GET_VAR 'val map: kotlin.collections.MutableMap.Owner.foo, T of .Owner.foo> [val] declared in .Owner.foo' type=kotlin.collections.MutableMap.Owner.foo, T of .Owner.foo> origin=null p0: GET_VAR 'x: T of .Owner.foo declared in .Owner.foo' type=T of .Owner.foo origin=null p1: GET_VAR 'y: T of .Owner.foo declared in .Owner.foo' type=T of .Owner.foo origin=null diff --git a/compiler/testData/ir/irText/firProblems/throwableStackTrace.fir.kt.txt b/compiler/testData/ir/irText/firProblems/throwableStackTrace.fir.kt.txt deleted file mode 100644 index 33e6667ac65..00000000000 --- a/compiler/testData/ir/irText/firProblems/throwableStackTrace.fir.kt.txt +++ /dev/null @@ -1,3 +0,0 @@ -fun foo(t: Throwable) { - t.setStackTrace(p0 = t.getStackTrace()) -} diff --git a/compiler/testData/ir/irText/firProblems/throwableStackTrace.fir.txt b/compiler/testData/ir/irText/firProblems/throwableStackTrace.fir.txt deleted file mode 100644 index 40a4f07f34c..00000000000 --- a/compiler/testData/ir/irText/firProblems/throwableStackTrace.fir.txt +++ /dev/null @@ -1,8 +0,0 @@ -FILE fqName: fileName:/throwableStackTrace.kt - FUN name:foo visibility:public modality:FINAL <> (t:kotlin.Throwable) returnType:kotlin.Unit - VALUE_PARAMETER name:t index:0 type:kotlin.Throwable - BLOCK_BODY - CALL 'public open fun setStackTrace (p0: @[FlexibleNullability] kotlin.Array?): kotlin.Unit declared in java.lang.Throwable' type=kotlin.Unit origin=EQ - $this: GET_VAR 't: kotlin.Throwable declared in .foo' type=kotlin.Throwable origin=null - p0: CALL 'public open fun getStackTrace (): @[FlexibleNullability] kotlin.Array? declared in java.lang.Throwable' type=@[FlexibleNullability] kotlin.Array? origin=GET_PROPERTY - $this: GET_VAR 't: kotlin.Throwable declared in .foo' type=kotlin.Throwable origin=null diff --git a/compiler/testData/ir/irText/firProblems/throwableStackTrace.kt b/compiler/testData/ir/irText/firProblems/throwableStackTrace.kt index b4a2c47ed77..bbc48882bdc 100644 --- a/compiler/testData/ir/irText/firProblems/throwableStackTrace.kt +++ b/compiler/testData/ir/irText/firProblems/throwableStackTrace.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL // WITH_RUNTIME // FULL_JDK diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index bb8cb864e26..053bcac19a7 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -21172,6 +21172,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/javaInterop/samUnboundTypeParameter.kt"); } + @Test + @TestMetadata("superCallOfPrintStackTrace.kt") + public void testSuperCallOfPrintStackTrace() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/superCallOfPrintStackTrace.kt"); + } + @Nested @TestMetadata("compiler/testData/codegen/box/javaInterop/generics") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index 00c7aa7c832..b180232c844 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -21172,6 +21172,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/javaInterop/samUnboundTypeParameter.kt"); } + @Test + @TestMetadata("superCallOfPrintStackTrace.kt") + public void testSuperCallOfPrintStackTrace() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/superCallOfPrintStackTrace.kt"); + } + @Nested @TestMetadata("compiler/testData/codegen/box/javaInterop/generics") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 89fc6f17cec..edfb574211c 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -17732,6 +17732,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/javaInterop/samUnboundTypeParameter.kt"); } + @TestMetadata("superCallOfPrintStackTrace.kt") + public void testSuperCallOfPrintStackTrace() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/superCallOfPrintStackTrace.kt"); + } + @TestMetadata("compiler/testData/codegen/box/javaInterop/generics") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)