Fix visibility flags for lambda classes in InnerClasses attribute
This commit is contained in:
@@ -103,6 +103,15 @@ public class InnerClassInfoGenTest extends CodegenTestCase {
|
||||
checkAccess("A", "PublicClass", ACC_PUBLIC);
|
||||
}
|
||||
|
||||
public void testLambdaClassFlags() {
|
||||
InnerClassAttribute foo = new InnerClassAttribute("A$foo$1", null, null, ACC_STATIC | ACC_FINAL);
|
||||
InnerClassAttribute bar = new InnerClassAttribute("A$bar$1", null, null, ACC_STATIC | ACC_FINAL);
|
||||
|
||||
extractAndCompareInnerClasses("A", foo, bar);
|
||||
extractAndCompareInnerClasses("A$foo$1", foo);
|
||||
extractAndCompareInnerClasses("A$bar$1", bar);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void checkAccess(@NotNull String outerName, @NotNull final String innerName, int accessFlags) {
|
||||
|
||||
@@ -644,6 +644,27 @@ public class WriteFlagsTestGenerated extends AbstractWriteFlagsTest {
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/writeFlags/lambda")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class Lambda extends AbstractWriteFlagsTest {
|
||||
public void testAllFilesPresentInLambda() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/writeFlags/lambda"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("lambdaInInlineFunction.kt")
|
||||
public void testLambdaInInlineFunction() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/writeFlags/lambda/lambdaInInlineFunction.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("simpleLambda.kt")
|
||||
public void testSimpleLambda() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/writeFlags/lambda/simpleLambda.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/writeFlags/lateinit")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
|
||||
Reference in New Issue
Block a user