Rewrite hack in codegen for lambdas in anonymous object super calls

Synthetic ClassDescriptor created in codegen for lambdas and such should have
correct container, because it'll be used in generation of InnerClasses
This commit is contained in:
Alexander Udalov
2015-01-16 16:18:39 +03:00
parent c23352d81b
commit baea660a0b
6 changed files with 144 additions and 85 deletions
@@ -2504,9 +2504,15 @@ public class BlackBoxWithStdlibCodegenTestGenerated extends AbstractBlackBoxCode
doTestWithStdlib(fileName);
}
@TestMetadata("lambdaInLocalClass.kt")
public void testLambdaInLocalClass() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/reflection/enclosing/lambda/lambdaInLocalClass.kt");
@TestMetadata("lambdaInLocalClassConstructor.kt")
public void testLambdaInLocalClassConstructor() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/reflection/enclosing/lambda/lambdaInLocalClassConstructor.kt");
doTestWithStdlib(fileName);
}
@TestMetadata("lambdaInLocalClassSuperCall.kt")
public void testLambdaInLocalClassSuperCall() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/reflection/enclosing/lambda/lambdaInLocalClassSuperCall.kt");
doTestWithStdlib(fileName);
}
@@ -2540,6 +2546,12 @@ public class BlackBoxWithStdlibCodegenTestGenerated extends AbstractBlackBoxCode
doTestWithStdlib(fileName);
}
@TestMetadata("lambdaInObjectLiteralSuperCall.kt")
public void testLambdaInObjectLiteralSuperCall() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/reflection/enclosing/lambda/lambdaInObjectLiteralSuperCall.kt");
doTestWithStdlib(fileName);
}
@TestMetadata("lambdaInPackage.kt")
public void testLambdaInPackage() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/reflection/enclosing/lambda/lambdaInPackage.kt");