Java源码示例:com.github.javaparser.ast.modules.ModuleDeclaration
示例1
private Optional<String> findModuleName(Path moduleInfoJava, String projectPath) {
try {
JavaParser parser = new JavaParser();
parser.getParserConfiguration().setLanguageLevel(ParserConfiguration.LanguageLevel.JAVA_11);
Optional<CompilationUnit> compilationUnit = parser.parse(moduleInfoJava).getResult();
if (compilationUnit.isEmpty()) {
LOGGER.debug("Project {} => compilation unit is empty", projectPath);
return Optional.empty();
}
Optional<ModuleDeclaration> module = compilationUnit.get().getModule();
if (module.isEmpty()) {
LOGGER.warn("Project {} => module-info.java found, but module name could not be parsed", projectPath);
return Optional.empty();
}
String name = module.get().getName().toString();
LOGGER.lifecycle("Project {} => '{}' Java module", projectPath, name);
return Optional.of(name);
} catch (IOException e) {
LOGGER.error("Project {} => error opening module-info.java at {}", projectPath, moduleInfoJava);
return Optional.empty();
}
}
示例2
@Override
public void visit(ModuleDeclaration n, Void arg) {
printAnnotations(n.getAnnotations(), false, arg);
printer.println();
if (n.isOpen()) {
printer.print("open ");
}
printer.print("module ");
n.getName().accept(this, arg);
printer.println(" {").indent();
n.getModuleStmts().accept(this, arg);
printer.unindent().println("}");
}
示例3
@Override
public void visit(ModuleDeclaration n, Void arg) {
out.println("ModuleDeclaration: " + (extended ? n : ""));
super.visit(n, arg);
}