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 d62df9234e5..a1d9a07c1ed 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 @@ -2363,6 +2363,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/bridges/methodFromTrait.kt"); } + @Test + @TestMetadata("nestedClassTypeParameters.kt") + public void testNestedClassTypeParameters() throws Exception { + runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); + } + @Test @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() throws Exception { diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt index 6ca37550a41..cef9db29765 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsIrBackendContext.kt @@ -415,10 +415,4 @@ class JsIrBackendContext( outlinedJsCodeFunctions[symbol] = parsedJsFunction return parsedJsFunction } - - private var irFunctionSignatureCache = hashMapOf() - - fun getFunctionSignatureFromCache(f: IrFunction): String { - return irFunctionSignatureCache.getOrPut(f) { calculateJsFunctionSignature(f, this) } - } } diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/JsBridgesConstruction.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/JsBridgesConstruction.kt index bfa305129b8..7a351ebcba7 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/JsBridgesConstruction.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/JsBridgesConstruction.kt @@ -34,7 +34,10 @@ class JsBridgesConstruction(context: JsIrBackendContext) : BridgesConstruction { + fun foo(t: T, inner: Outer.Inner): String +} + +open class Child : I { + override fun foo(t: String, inner: Outer.Inner): String { + return t + inner.foo() + } +} + +fun box(): String { + val child: I = Child() + return child.foo("O", Outer.Inner()) +} \ No newline at end of file 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 31ba58d46c8..a418032460b 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 @@ -2267,6 +2267,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/bridges/methodFromTrait.kt"); } + @Test + @TestMetadata("nestedClassTypeParameters.kt") + public void testNestedClassTypeParameters() throws Exception { + runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); + } + @Test @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() throws Exception { 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 caf46188682..f0bd1bed940 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 @@ -2363,6 +2363,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/bridges/methodFromTrait.kt"); } + @Test + @TestMetadata("nestedClassTypeParameters.kt") + public void testNestedClassTypeParameters() throws Exception { + runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); + } + @Test @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index a109d77bcc2..bca64e3f8df 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -1987,6 +1987,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/bridges/methodFromTrait.kt"); } + @TestMetadata("nestedClassTypeParameters.kt") + public void testNestedClassTypeParameters() throws Exception { + runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); + } + @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() throws Exception { runTest("compiler/testData/codegen/box/bridges/noBridgeOnMutableCollectionInheritance.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java index 1a86bbc9364..1b39c3c3472 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java @@ -1541,6 +1541,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/bridges/methodFromTrait.kt"); } + @Test + @TestMetadata("nestedClassTypeParameters.kt") + public void testNestedClassTypeParameters() throws Exception { + runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); + } + @Test @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java index 0f2178f5bce..7bae7d31194 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java @@ -1595,6 +1595,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/bridges/methodFromTrait.kt"); } + @Test + @TestMetadata("nestedClassTypeParameters.kt") + public void testNestedClassTypeParameters() throws Exception { + runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); + } + @Test @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java index e8b962feb3d..a52a0cf3125 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java @@ -1417,6 +1417,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/bridges/methodFromTrait.kt"); } + @TestMetadata("nestedClassTypeParameters.kt") + public void testNestedClassTypeParameters() throws Exception { + runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); + } + @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() throws Exception { runTest("compiler/testData/codegen/box/bridges/noBridgeOnMutableCollectionInheritance.kt"); diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java index 2052b287c90..c28bb1ffac8 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java @@ -1633,6 +1633,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest runTest("compiler/testData/codegen/box/bridges/methodFromTrait.kt"); } + @Test + @TestMetadata("nestedClassTypeParameters.kt") + public void testNestedClassTypeParameters() throws Exception { + runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); + } + @Test @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() throws Exception {