@Override public FileVisitResult postVisitDirectory(Path dir, IOException e) { if (dir.equals(current_root)) { projectRoot.addSourceRoot(dir); typeSolver.add(new JavaParserTypeSolver(current_root.toFile())); current_root = null; } return CONTINUE; } });
public static void main(String[] args) throws FileNotFoundException, ParseException { TypeSolver typeSolver = new CombinedTypeSolver(new ReflectionTypeSolver(), new JavaParserTypeSolver(new File("java-symbol-solver-examples/src/main/resources/someproject"))); CompilationUnit agendaCu = JavaParser.parse(new FileInputStream(new File("java-symbol-solver-examples/src/main/resources/someproject/me/tomassetti/Agenda.java"))); agendaCu.accept(new TypeCalculatorVisitor(), JavaParserFacade.get(typeSolver)); }
public static void main(String[] args) throws IOException, ParseException { File src = new File("/home/federico/repos/javaparser/javaparser-core/src/main/java"); CombinedTypeSolver combinedTypeSolver = new CombinedTypeSolver(); combinedTypeSolver.add(new ReflectionTypeSolver()); combinedTypeSolver.add(new JavaParserTypeSolver(src)); combinedTypeSolver.add(new JavaParserTypeSolver(new File("/home/federico/repos/javaparser/javaparser-core/target/generated-sources/javacc"))); SourceFileInfoExtractor sourceFileInfoExtractor = new SourceFileInfoExtractor(); sourceFileInfoExtractor.setTypeSolver(combinedTypeSolver); sourceFileInfoExtractor.solve(src); System.out.println("OK " + sourceFileInfoExtractor.getOk()); System.out.println("KO " + sourceFileInfoExtractor.getKo()); System.out.println("UNSUPPORTED " + sourceFileInfoExtractor.getUnsupported()); }
@Before public void setup() throws IOException { File srcDir = adaptPath(new File("src/test/resources/issue144")); typeSolver = new JavaParserTypeSolver(srcDir); }
@Before public void setup() throws IOException { typeSolver = new CombinedTypeSolver(new ReflectionTypeSolver(), new JavaParserTypeSolver(adaptPath(new File("src/test/resources/issue113")))); }
@Before public void setup() throws IOException { File srcDir = adaptPath(new File("src/test/resources/issue128")); typeSolver = new CombinedTypeSolver(new ReflectionTypeSolver(), new JavaParserTypeSolver(srcDir)); }
private static TypeSolver typeSolver() { CombinedTypeSolver combinedTypeSolver = new CombinedTypeSolver(); combinedTypeSolver.add(new ReflectionTypeSolver()); combinedTypeSolver.add(new JavaParserTypeSolver(src)); combinedTypeSolver.add(new JavaParserTypeSolver(adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-generated-sources")))); return combinedTypeSolver; }
@Before public void setup() { File srcNewCode = adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-core")); CombinedTypeSolver combinedTypeSolverNewCode = new CombinedTypeSolver(); combinedTypeSolverNewCode.add(new ReflectionTypeSolver()); combinedTypeSolverNewCode.add(new JavaParserTypeSolver(srcNewCode)); combinedTypeSolverNewCode.add(new JavaParserTypeSolver(adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-generated-sources")))); typeSolver = combinedTypeSolverNewCode; }
@Before public void setup() { File srcNewCode = adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-core")); CombinedTypeSolver combinedTypeSolverNewCode = new CombinedTypeSolver(); combinedTypeSolverNewCode.add(new ReflectionTypeSolver()); combinedTypeSolverNewCode.add(new JavaParserTypeSolver(srcNewCode)); combinedTypeSolverNewCode.add(new JavaParserTypeSolver(adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-generated-sources")))); typeSolver = combinedTypeSolverNewCode; }
@Before public void setup() { File srcNewCode = adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-core")); CombinedTypeSolver combinedTypeSolverNewCode = new CombinedTypeSolver(); combinedTypeSolverNewCode.add(new ReflectionTypeSolver()); combinedTypeSolverNewCode.add(new JavaParserTypeSolver(srcNewCode)); combinedTypeSolverNewCode.add(new JavaParserTypeSolver(adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-generated-sources")))); typeSolver = combinedTypeSolverNewCode; }
@Before public void setup() { File srcNewCode = adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-core")); CombinedTypeSolver combinedTypeSolverNewCode = new CombinedTypeSolver(); combinedTypeSolverNewCode.add(new ReflectionTypeSolver()); combinedTypeSolverNewCode.add(new JavaParserTypeSolver(srcNewCode)); combinedTypeSolverNewCode.add(new JavaParserTypeSolver(adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-generated-sources")))); typeSolverNewCode = combinedTypeSolverNewCode; symbolSolver = new SymbolSolver(typeSolverNewCode); }
private SourceFileInfoExtractor getSourceFileInfoExtractor() { CombinedTypeSolver combinedTypeSolver = new CombinedTypeSolver(); combinedTypeSolver.add(new ReflectionTypeSolver()); combinedTypeSolver.add(new JavaParserTypeSolver(src)); combinedTypeSolver.add(new JavaParserTypeSolver(adaptPath(new File("src/test/resources/javaparser_src/generated")))); SourceFileInfoExtractor sourceFileInfoExtractor = new SourceFileInfoExtractor(); sourceFileInfoExtractor.setTypeSolver(combinedTypeSolver); sourceFileInfoExtractor.setPrintFileName(false); return sourceFileInfoExtractor; }
private CombinedTypeSolver createTypeSolver() { File src = adaptPath(new File("src/test/resources")); CombinedTypeSolver combinedTypeSolver = new CombinedTypeSolver(); combinedTypeSolver.add(new ReflectionTypeSolver()); combinedTypeSolver.add(new JavaParserTypeSolver(src)); return combinedTypeSolver; }
private static SourceFileInfoExtractor getSourceFileInfoExtractor() { CombinedTypeSolver combinedTypeSolver = new CombinedTypeSolver(); combinedTypeSolver.add(new ReflectionTypeSolver()); combinedTypeSolver.add(new JavaParserTypeSolver(src)); combinedTypeSolver.add(new JavaParserTypeSolver(adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-generated-sources")))); SourceFileInfoExtractor sourceFileInfoExtractor = new SourceFileInfoExtractor(); sourceFileInfoExtractor.setTypeSolver(combinedTypeSolver); sourceFileInfoExtractor.setPrintFileName(false); sourceFileInfoExtractor.setVerbose(true); return sourceFileInfoExtractor; }
@Before public void setup() { CombinedTypeSolver combinedTypeSolver = new CombinedTypeSolver(); combinedTypeSolver.add(new ReflectionTypeSolver()); combinedTypeSolver.add(new JavaParserTypeSolver(adaptPath(new File("src/test/resources/differentiate_dot_expressions")))); typeSolver = combinedTypeSolver; }
@Before public void setup() { File src = adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-core")); CombinedTypeSolver combinedTypeSolverNewCode = new CombinedTypeSolver(); combinedTypeSolverNewCode.add(new ReflectionTypeSolver()); combinedTypeSolverNewCode.add(new JavaParserTypeSolver(src)); combinedTypeSolverNewCode.add(new JavaParserTypeSolver(adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-generated-sources")))); typeSolver = combinedTypeSolverNewCode; TypeSolver ts = new ReflectionTypeSolver(); string = new ReferenceTypeImpl(ts.solveType(String.class.getCanonicalName()), ts); ResolvedReferenceType booleanC = new ReferenceTypeImpl(ts.solveType(Boolean.class.getCanonicalName()), ts); listOfBoolean = new ReferenceTypeImpl(ts.solveType(List.class.getCanonicalName()), ImmutableList.of(booleanC), ts); }
@Test public void resolveInheritedMethodFromInterface() throws ParseException { CompilationUnit cu = parseSample("InterfaceInheritance"); com.github.javaparser.ast.body.ClassOrInterfaceDeclaration clazz = Navigator.demandClass(cu, "Test"); MethodDeclaration method = Navigator.demandMethod(clazz, "test"); MethodCallExpr call = Navigator.findMethodCall(method, "foobar"); File src = adaptPath(new File("src/test/resources")); TypeSolver typeSolver = new CombinedTypeSolver(new ReflectionTypeSolver(), new JavaParserTypeSolver(src)); ResolvedType type = JavaParserFacade.get(typeSolver).getType(call); assertEquals("double", type.describe()); }
@Test public void resolveReferenceToMethodCalledOnArrayAccess() throws ParseException, IOException { CompilationUnit cu = parseSample("ArrayAccess"); com.github.javaparser.ast.body.ClassOrInterfaceDeclaration clazz = Navigator.demandClass(cu, "ArrayAccess"); MethodDeclaration method = Navigator.demandMethod(clazz, "access"); MethodCallExpr callToTrim = Navigator.findMethodCall(method, "trim"); File src = adaptPath(new File("src/test/resources")); TypeSolver typeSolver = new CombinedTypeSolver(new ReflectionTypeSolver(), new JavaParserTypeSolver(src)); SymbolSolver symbolSolver = new SymbolSolver(typeSolver); MethodUsage ref = symbolSolver.solveMethod("trim", Collections.emptyList(), callToTrim); assertEquals("trim", ref.getName()); assertEquals("java.lang.String", ref.declaringType().getQualifiedName()); }
@Test public void selectMostSpecificVariadic() throws ParseException { CompilationUnit cu = parseSample("MethodCalls"); ClassOrInterfaceDeclaration clazz = Navigator.demandClass(cu, "MethodCalls"); MethodDeclaration method = Navigator.demandMethod(clazz, "variadicTest"); List<MethodCallExpr> calls = method.getNodesByType(MethodCallExpr.class); File src = adaptPath(new File("src/test/resources")); TypeSolver typeSolver = new CombinedTypeSolver(new ReflectionTypeSolver(), new JavaParserTypeSolver(src)); JavaParserFacade javaParserFacade = JavaParserFacade.get(typeSolver); MethodUsage call1 = javaParserFacade.solveMethodAsUsage(calls.get(0)); MethodUsage call2 = javaParserFacade.solveMethodAsUsage(calls.get(1)); assertEquals("int", call1.returnType().describe()); assertEquals("void", call2.returnType().describe()); }
@Test public void testIssue() throws FileNotFoundException { File src = adaptPath(new File("src/test/resources/recursion-issue")); CombinedTypeSolver combinedTypeSolver = new CombinedTypeSolver(); combinedTypeSolver.add(new JavaParserTypeSolver(src)); combinedTypeSolver.add(new ReflectionTypeSolver()); CompilationUnit agendaCu = JavaParser.parse(adaptPath(new File("src/test/resources/recursion-issue/Usage.java"))); MethodCallExpr foo = Navigator.findMethodCall(agendaCu, "foo"); assert foo != null; JavaParserFacade.get(combinedTypeSolver).getType(foo); }