I have about 15 java source files and for every file I use this method
private ClassDescriptor processClass(Path file) {
try {
String classContent = FileUtils.readFile(file, StandardCharsets.UTF_8);
//First, we construct the lexer:
Java9Lexer java9Lexer = new Java9Lexer(CharStreams.fromString(classContent));
//Then, we instantiate the parser:
CommonTokenStream tokens = new CommonTokenStream(java9Lexer);
Java9Parser parser = new Java9Parser(tokens);
//ParseTree tree = parser.compilationUnit();
ParserRuleContext context = parser.compilationUnit();
ParseTreeWalker walker = new ParseTreeWalker();
EntityListener listener = new EntityListener(this.getLog());
walker.walk(listener, context);
return listener.getDescriptor();
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
}
Everything works fine but not very slowly, but rather slowly. 15 files about 10 seconds. Maybe I do something wrong. Are there any ways when multiple sources are parsed?