< prev index next >

test/langtools/tools/javac/classfiles/attributes/innerclasses/InnerClassesInAnonymousClassTest.java

Print this page

41     private ClassType currentClassType;
42 
43     public static void main(String[] args) throws TestFailedException {
44         InnerClassesTestBase test = new InnerClassesInAnonymousClassTest();
45         test.test("InnerClassesSrc$1", "Anonymous", "1");
46     }
47 
48     @Override
49     public void setProperties() {
50         setOuterOtherModifiers(Modifier.EMPTY, Modifier.ABSTRACT, Modifier.STATIC);
51         setInnerAccessModifiers(Modifier.EMPTY);
52         setInnerOtherModifiers(Modifier.EMPTY, Modifier.ABSTRACT, Modifier.FINAL);
53         setOuterClassType(ClassType.OTHER);
54         setInnerClassType(ClassType.CLASS);
55         setSuffix("};}");
56     }
57 
58     @Override
59     public List<TestCase> generateTestCases() {
60         currentClassType = ClassType.CLASS;
61         setPrefix("class Anonymous {} {new Anonymous() {");
62         List<TestCase> sources = super.generateTestCases();
63 
64         currentClassType = ClassType.INTERFACE;
65         setPrefix("interface Anonymous {} {new Anonymous() {");
66         sources.addAll(super.generateTestCases());
67 
68         currentClassType = ClassType.ANNOTATION;
69         setPrefix("@interface Anonymous {} {new Anonymous() {@Override public "
70                 + "Class<? extends java.lang.annotation.Annotation> "
71                 + "annotationType() {return null;}");
72         sources.addAll(super.generateTestCases());
73         return sources;
74     }
75 
76     @Override
77     public void getAdditionalFlags(Map<String, Set<String>> class2Flags, ClassType type, Modifier... flags) {
78         super.getAdditionalFlags(class2Flags, type, flags);
79         class2Flags.put("Anonymous", getFlags(currentClassType, Arrays.asList(flags)));
80         class2Flags.put("1", new HashSet<>() {});
81     }
82 }

41     private ClassType currentClassType;
42 
43     public static void main(String[] args) throws TestFailedException {
44         InnerClassesTestBase test = new InnerClassesInAnonymousClassTest();
45         test.test("InnerClassesSrc$1", "Anonymous", "1");
46     }
47 
48     @Override
49     public void setProperties() {
50         setOuterOtherModifiers(Modifier.EMPTY, Modifier.ABSTRACT, Modifier.STATIC);
51         setInnerAccessModifiers(Modifier.EMPTY);
52         setInnerOtherModifiers(Modifier.EMPTY, Modifier.ABSTRACT, Modifier.FINAL);
53         setOuterClassType(ClassType.OTHER);
54         setInnerClassType(ClassType.CLASS);
55         setSuffix("};}");
56     }
57 
58     @Override
59     public List<TestCase> generateTestCases() {
60         currentClassType = ClassType.CLASS;
61         setPrefix("class Anonymous { int f; } {new Anonymous() {"); // impose identity to make testing predictable.
62         List<TestCase> sources = super.generateTestCases();
63 
64         currentClassType = ClassType.INTERFACE;
65         setPrefix("interface Anonymous {} {new Anonymous() {");
66         sources.addAll(super.generateTestCases());
67 
68         currentClassType = ClassType.ANNOTATION;
69         setPrefix("@interface Anonymous {} {new Anonymous() {@Override public "
70                 + "Class<? extends java.lang.annotation.Annotation> "
71                 + "annotationType() {return null;}");
72         sources.addAll(super.generateTestCases());
73         return sources;
74     }
75 
76     @Override
77     public void getAdditionalFlags(Map<String, Set<String>> class2Flags, ClassType type, Modifier... flags) {
78         super.getAdditionalFlags(class2Flags, type, flags);
79         class2Flags.put("Anonymous", getFlags(currentClassType, Arrays.asList(flags)));
80         class2Flags.put("1", new HashSet<>(Arrays.asList("ACC_IDENTITY")));
81     }
82 }
< prev index next >