Deserialize annotations on package members

This commit is contained in:
Alexander Udalov
2013-07-05 23:44:00 +04:00
parent 67ca7b78c4
commit e63cef0848
11 changed files with 112 additions and 17 deletions
@@ -29,6 +29,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import static com.google.protobuf.ExtensionRegistryLite.getEmptyRegistry;
public class KotlinInfoForPackageTest extends CodegenTestCase {
public static final FqName NAMESPACE_NAME = new FqName("test");
@@ -52,7 +54,7 @@ public class KotlinInfoForPackageTest extends CodegenTestCase {
assertTrue(aClass.isAnnotationPresent(KotlinInfo.class));
KotlinInfo kotlinInfo = (KotlinInfo) aClass.getAnnotation(KotlinInfo.class);
PackageData data = PackageData.read(kotlinInfo.data());
PackageData data = PackageData.read(kotlinInfo.data(), getEmptyRegistry());
Set<String> classNames = collectClassNames(data);
assertSameElements(Arrays.asList("A", "B", "C"), classNames);
@@ -38,7 +38,7 @@ public class DescriptorSerializationTestGenerated extends AbstractDescriptorSeri
}
@TestMetadata("compiler/testData/loadKotlin/annotations")
@InnerTestClasses({Annotations.ClassMembers.class, Annotations.Classes.class})
@InnerTestClasses({Annotations.ClassMembers.class, Annotations.Classes.class, Annotations.PackageMembers.class})
public static class Annotations extends AbstractDescriptorSerializationTest {
public void testAllFilesPresentInAnnotations() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/loadKotlin/annotations"), Pattern.compile("^(.+)\\.kt$"), true);
@@ -105,11 +105,25 @@ public class DescriptorSerializationTestGenerated extends AbstractDescriptorSeri
}
@TestMetadata("compiler/testData/loadKotlin/annotations/packageMembers")
public static class PackageMembers extends AbstractDescriptorSerializationTest {
public void testAllFilesPresentInPackageMembers() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/loadKotlin/annotations/packageMembers"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("Function.kt")
public void testFunction() throws Exception {
doTest("compiler/testData/loadKotlin/annotations/packageMembers/Function.kt");
}
}
public static Test innerSuite() {
TestSuite suite = new TestSuite("Annotations");
suite.addTestSuite(Annotations.class);
suite.addTestSuite(ClassMembers.class);
suite.addTestSuite(Classes.class);
suite.addTestSuite(PackageMembers.class);
return suite;
}
}
@@ -38,7 +38,7 @@ public class LoadCompiledKotlinTestGenerated extends AbstractLoadCompiledKotlinT
}
@TestMetadata("compiler/testData/loadKotlin/annotations")
@InnerTestClasses({Annotations.ClassMembers.class, Annotations.Classes.class})
@InnerTestClasses({Annotations.ClassMembers.class, Annotations.Classes.class, Annotations.PackageMembers.class})
public static class Annotations extends AbstractLoadCompiledKotlinTest {
public void testAllFilesPresentInAnnotations() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/loadKotlin/annotations"), Pattern.compile("^(.+)\\.kt$"), true);
@@ -105,11 +105,25 @@ public class LoadCompiledKotlinTestGenerated extends AbstractLoadCompiledKotlinT
}
@TestMetadata("compiler/testData/loadKotlin/annotations/packageMembers")
public static class PackageMembers extends AbstractLoadCompiledKotlinTest {
public void testAllFilesPresentInPackageMembers() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/loadKotlin/annotations/packageMembers"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("Function.kt")
public void testFunction() throws Exception {
doTestWithAccessors("compiler/testData/loadKotlin/annotations/packageMembers/Function.kt");
}
}
public static Test innerSuite() {
TestSuite suite = new TestSuite("Annotations");
suite.addTestSuite(Annotations.class);
suite.addTestSuite(ClassMembers.class);
suite.addTestSuite(Classes.class);
suite.addTestSuite(PackageMembers.class);
return suite;
}
}
@@ -40,7 +40,7 @@ public class LazyResolveNamespaceComparingTestGenerated extends AbstractLazyReso
}
@TestMetadata("compiler/testData/loadKotlin/annotations")
@InnerTestClasses({Annotations.ClassMembers.class, Annotations.Classes.class})
@InnerTestClasses({Annotations.ClassMembers.class, Annotations.Classes.class, Annotations.PackageMembers.class})
public static class Annotations extends AbstractLazyResolveNamespaceComparingTest {
public void testAllFilesPresentInAnnotations() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/loadKotlin/annotations"), Pattern.compile("^(.+)\\.kt$"), true);
@@ -107,11 +107,25 @@ public class LazyResolveNamespaceComparingTestGenerated extends AbstractLazyReso
}
@TestMetadata("compiler/testData/loadKotlin/annotations/packageMembers")
public static class PackageMembers extends AbstractLazyResolveNamespaceComparingTest {
public void testAllFilesPresentInPackageMembers() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/loadKotlin/annotations/packageMembers"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("Function.kt")
public void testFunction() throws Exception {
doTestCheckingPrimaryConstructorsAndAccessors("compiler/testData/loadKotlin/annotations/packageMembers/Function.kt");
}
}
public static Test innerSuite() {
TestSuite suite = new TestSuite("Annotations");
suite.addTestSuite(Annotations.class);
suite.addTestSuite(ClassMembers.class);
suite.addTestSuite(Classes.class);
suite.addTestSuite(PackageMembers.class);
return suite;
}
}