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);
}