JVM_IR: do not remap locals in contexts nested inside lambdas
The only case where this code is reachable at all is objects in lambdas that use reified type parameters of the outer inline function. Since the type parameters are declared outside the inlining root, regenerating the object is actually pointless, and remapping its captures even more so (not to mention that the code under the condition uses the captures of the lambda, not of the method it's currently transforming).
This commit is contained in:
+5
@@ -2880,6 +2880,11 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
|
||||
runTest("compiler/testData/codegen/boxInline/reified/kt9637_2.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("nonCapturingObjectInLambda.kt")
|
||||
public void testNonCapturingObjectInLambda() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxInline/reified/nonCapturingObjectInLambda.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("packages.kt")
|
||||
public void testPackages() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxInline/reified/packages.kt");
|
||||
|
||||
Reference in New Issue
Block a user