下面列出了org.eclipse.jdt.core.dom.AbstractTypeDeclaration#getModifiers ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private static String decideRuleKind(ReferencedClassesParser parser, Set<String> dependencies) {
CompilationUnit cu = parser.compilationUnit;
if (cu.types().isEmpty()) {
return "java_library";
}
AbstractTypeDeclaration topLevelClass = (AbstractTypeDeclaration) cu.types().get(0);
if ((topLevelClass.getModifiers() & Modifier.ABSTRACT) != 0) {
// Class is abstract, can't be a test.
return "java_library";
}
// JUnit 4 tests
if (parser.className.endsWith("Test") && dependencies.contains("org.junit.Test")) {
return "java_test";
}
if (any(
topLevelClass.bodyDeclarations(),
d -> d instanceof MethodDeclaration && isMainMethod((MethodDeclaration) d))) {
return "java_binary";
}
return "java_library";
}
private void processModifiers(CompilationUnit cu, String sourceFile, AbstractTypeDeclaration typeDeclaration, UMLClass umlClass) {
int modifiers = typeDeclaration.getModifiers();
if((modifiers & Modifier.ABSTRACT) != 0)
umlClass.setAbstract(true);
if((modifiers & Modifier.PUBLIC) != 0)
umlClass.setVisibility("public");
else if((modifiers & Modifier.PROTECTED) != 0)
umlClass.setVisibility("protected");
else if((modifiers & Modifier.PRIVATE) != 0)
umlClass.setVisibility("private");
else
umlClass.setVisibility("package");
List<IExtendedModifier> extendedModifiers = typeDeclaration.modifiers();
for(IExtendedModifier extendedModifier : extendedModifiers) {
if(extendedModifier.isAnnotation()) {
Annotation annotation = (Annotation)extendedModifier;
umlClass.addAnnotation(new UMLAnnotation(cu, sourceFile, annotation));
}
}
}
private static int getAccessModifier(AbstractTypeDeclaration subclass) {
int modifiers= subclass.getModifiers();
if (Modifier.isPublic(modifiers))
return Modifier.PUBLIC;
else if (Modifier.isProtected(modifiers))
return Modifier.PROTECTED;
else if (Modifier.isPrivate(modifiers))
return Modifier.PRIVATE;
else
return Modifier.NONE;
}