[FIR2IR] Fix NSEE in case of lambda in enum entry constructor call, ^KT-50774 Fixed

This commit is contained in:
Ivan Kochurkin
2022-01-13 22:29:15 +03:00
committed by TeamCityServer
parent a65b278f71
commit 4a200a2d7e
9 changed files with 330 additions and 1 deletions
@@ -336,7 +336,10 @@ internal class ClassMemberGenerator(
it.dispatchReceiver = visitor.convertToIrExpression(firDispatchReceiver)
}
with(callGenerator) {
it.applyCallArguments(this@toIrDelegatingConstructorCall, annotationMode = false)
declarationStorage.enterScope(irConstructorSymbol.owner)
val result = it.applyCallArguments(this@toIrDelegatingConstructorCall, annotationMode = false)
declarationStorage.leaveScope(irConstructorSymbol.owner)
result
}
}
}
@@ -2542,6 +2542,12 @@ public class Fir2IrTextTestGenerated extends AbstractFir2IrTextTest {
runTest("compiler/testData/ir/irText/firProblems/kt43342.kt");
}
@Test
@TestMetadata("lambdaInEnumEntryConstructorCall.kt")
public void testLambdaInEnumEntryConstructorCall() throws Exception {
runTest("compiler/testData/ir/irText/firProblems/lambdaInEnumEntryConstructorCall.kt");
}
@Test
@TestMetadata("localClassUsedBeforeDeclaration.kt")
public void testLocalClassUsedBeforeDeclaration() throws Exception {