|
23 | 23 |
|
24 | 24 | import com.github.javaparser.ParserConfiguration;
|
25 | 25 | import com.github.javaparser.StaticJavaParser;
|
| 26 | +import com.github.javaparser.ast.AccessSpecifier; |
26 | 27 | import com.github.javaparser.ast.CompilationUnit;
|
27 | 28 | import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
|
| 29 | +import com.github.javaparser.ast.body.EnumDeclaration; |
28 | 30 | import com.github.javaparser.ast.body.MethodDeclaration;
|
29 | 31 | import com.github.javaparser.ast.expr.Expression;
|
30 | 32 | import com.github.javaparser.ast.expr.FieldAccessExpr;
|
|
36 | 38 | import com.github.javaparser.resolution.types.ResolvedType;
|
37 | 39 | import com.github.javaparser.symbolsolver.JavaSymbolSolver;
|
38 | 40 | import com.github.javaparser.symbolsolver.javaparser.Navigator;
|
| 41 | +import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserEnumDeclaration; |
39 | 42 | import com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade;
|
40 | 43 | import com.github.javaparser.symbolsolver.model.resolution.SymbolReference;
|
41 | 44 | import com.github.javaparser.symbolsolver.resolution.typesolvers.ReflectionTypeSolver;
|
@@ -97,4 +100,27 @@ void resolveEnumConstantAccess() {
|
97 | 100 | }
|
98 | 101 | }
|
99 | 102 |
|
| 103 | + @Test |
| 104 | + void enumAccessSpecifier() { |
| 105 | + try { |
| 106 | + StaticJavaParser.getConfiguration().setSymbolResolver(new JavaSymbolSolver(new ReflectionTypeSolver())); |
| 107 | + CompilationUnit cu = parseSample("EnumAccessSpecifier"); |
| 108 | + ClassOrInterfaceDeclaration clazz = Navigator.demandClass(cu, "MyClass"); |
| 109 | + |
| 110 | + EnumDeclaration ed_public = Navigator.findType(clazz, "EnumPublic").get().toEnumDeclaration().get(); |
| 111 | + assertEquals(AccessSpecifier.PUBLIC, ((JavaParserEnumDeclaration) ed_public.resolve()).accessSpecifier()); |
| 112 | + |
| 113 | + EnumDeclaration ed_protected = Navigator.findType(clazz, "EnumProtected").get().toEnumDeclaration().get(); |
| 114 | + assertEquals(AccessSpecifier.PROTECTED, ((JavaParserEnumDeclaration) ed_protected.resolve()).accessSpecifier()); |
| 115 | + |
| 116 | + EnumDeclaration ed_private = Navigator.findType(clazz, "EnumPrivate").get().toEnumDeclaration().get(); |
| 117 | + assertEquals(AccessSpecifier.PRIVATE, ((JavaParserEnumDeclaration) ed_private.resolve()).accessSpecifier()); |
| 118 | + |
| 119 | + EnumDeclaration ed_default = Navigator.findType(clazz, "EnumDefault").get().toEnumDeclaration().get(); |
| 120 | + assertEquals(AccessSpecifier.PACKAGE_PRIVATE, ((JavaParserEnumDeclaration) ed_default.resolve()).accessSpecifier()); |
| 121 | + } finally { |
| 122 | + StaticJavaParser.setConfiguration(new ParserConfiguration()); |
| 123 | + } |
| 124 | + } |
| 125 | + |
100 | 126 | }
|
0 commit comments