use of com.github.javaparser.symbolsolver.resolution.typesolvers.CombinedTypeSolver in project structr by structr.
the class JavaParserModule method analyzeSourceTree.
/**
* Analyze the source tree under the given root folder.
*
* @param rootFolder
*/
public void analyzeSourceTree(final Folder rootFolder) {
logger.info("Starting analysis of source tree " + rootFolder.getPath());
final SecurityContext securityContext = rootFolder.getSecurityContext();
app = StructrApp.getInstance(securityContext);
final CombinedTypeSolver typeSolver = new CombinedTypeSolver();
typeSolver.add(new ReflectionTypeSolver());
typeSolver.add(structrTypeSolver);
facade = JavaParserFacade.get(typeSolver);
analyzeFolder(rootFolder, 0, null);
logger.info("Done with analysis of source tree " + rootFolder.getPath());
}
use of com.github.javaparser.symbolsolver.resolution.typesolvers.CombinedTypeSolver in project structr by structr.
the class JavaParserModule method indexSourceTree.
/**
* Create an index containing all compilation units of Java files from
* the source tree under the given root folder.
*
* @param rootFolder
*/
public void indexSourceTree(final Folder rootFolder) {
logger.info("Starting indexing of source tree " + rootFolder.getPath());
final SecurityContext securityContext = rootFolder.getSecurityContext();
app = StructrApp.getInstance(securityContext);
structrTypeSolver.parseRoot(rootFolder);
final CombinedTypeSolver typeSolver = new CombinedTypeSolver();
typeSolver.add(new ReflectionTypeSolver());
typeSolver.add(structrTypeSolver);
facade = JavaParserFacade.get(typeSolver);
logger.info("Done with indexing of source tree " + rootFolder.getPath());
}
use of com.github.javaparser.symbolsolver.resolution.typesolvers.CombinedTypeSolver in project structr by structr.
the class JavaParserModule method analyzeMethodsInJavaFile.
public void analyzeMethodsInJavaFile(final String code, String clsName) {
try {
final CompilationUnit cu = JavaParser.parse(code);
final Map<String, Object> params = new HashMap<>();
if (facade == null) {
final CombinedTypeSolver typeSolver = new CombinedTypeSolver();
typeSolver.add(new ReflectionTypeSolver());
typeSolver.add(structrTypeSolver);
facade = JavaParserFacade.get(typeSolver);
}
if (clsName == null) {
try {
clsName = cu.getType(0).getNameAsString();
} catch (final Exception ignore) {
}
}
params.put("clsName", clsName);
params.put("facade", facade);
params.put("app", app);
final MethodVisitorAdapter adapter = new MethodVisitorAdapter();
adapter.visit(cu, params);
} catch (Throwable ignore) {
}
}
use of com.github.javaparser.symbolsolver.resolution.typesolvers.CombinedTypeSolver in project structr by structr.
the class JavaParserModule method parseSourceTree.
/**
* Parse the source tree under the given root folder.
*
* @param rootFolder
*/
public void parseSourceTree(final Folder rootFolder) {
logger.info("Starting parsing of source tree " + rootFolder.getPath());
final SecurityContext securityContext = rootFolder.getSecurityContext();
app = StructrApp.getInstance(securityContext);
final CombinedTypeSolver typeSolver = new CombinedTypeSolver();
typeSolver.add(new ReflectionTypeSolver());
typeSolver.add(structrTypeSolver);
facade = JavaParserFacade.get(typeSolver);
parseFolder(rootFolder, 0, null);
logger.info("Done with parsing of source tree " + rootFolder.getPath());
}
Aggregations