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()); }
@Override public ResolvedReferenceTypeDeclaration solveType(String name) throws UnsolvedSymbolException { SymbolReference<ResolvedReferenceTypeDeclaration> res = tryToSolveType(name); if (res.isSolved()) { return res.getCorrespondingDeclaration(); } else { throw new UnsolvedSymbolException(name); } }
/** @see #exceptionHandler */ public CombinedTypeSolver(Predicate<Exception> exceptionHandler, TypeSolver... elements) { setExceptionHandler(exceptionHandler); for (TypeSolver el : elements) { add(el); } }
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 CombinedTypeSolver(TypeSolver... elements) { for (TypeSolver el : elements) { add(el); } }
private void assertCanSolveGenericMethodCallCanInferFromArguments(String callMethodName) throws ParseException { MethodCallExpr methodCallExpr = getMethodCallExpr("genericMethodTest", callMethodName); CombinedTypeSolver typeSolver = createTypeSolver(); MethodCallExprContext context = new MethodCallExprContext(methodCallExpr, typeSolver); ResolvedReferenceTypeDeclaration stringType = typeSolver.solveType("java.lang.String"); List<ResolvedType> argumentsTypes = new ArrayList<>(); argumentsTypes.add(new ReferenceTypeImpl(stringType, typeSolver)); Optional<MethodUsage> ref = context.solveMethodAsUsage(callMethodName, argumentsTypes, typeSolver); assertTrue(ref.isPresent()); assertEquals("MethodCalls", ref.get().declaringType().getQualifiedName()); assertEquals(Collections.singletonList("java.lang.String"), ref.get().typeParametersMap().getTypes().stream().map(ty -> ty.asReferenceType().describe()).collect(Collectors.toList())); } }
@Before public void setup() throws IOException { typeSolver = new CombinedTypeSolver(new ReflectionTypeSolver(), new JavaParserTypeSolver(adaptPath(new File("src/test/resources/issue113")))); }
public CombinedTypeSolver(TypeSolver... elements) { for (TypeSolver el : elements) { add(el); } }
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; }
@Before public void setup() throws IOException { String pathToJar = adaptPath("src/test/resources/issue257/issue257.jar"); File jar = new File(pathToJar); typeSolver = new CombinedTypeSolver(new JarTypeSolver(jar.getAbsolutePath()), new ReflectionTypeSolver()); }
@Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { if (javaMatcher.matches(file)) { if (current_root == null || !file.startsWith(current_root)) { current_root = getRoot(file).orElse(null); } } else if (jarMatcher.matches(file)) { typeSolver.add(new JarTypeSolver(file.toString())); } return CONTINUE; }
@Override public ResolvedReferenceTypeDeclaration solveType(String name) throws UnsolvedSymbolException { SymbolReference<ResolvedReferenceTypeDeclaration> res = tryToSolveType(name); if (res.isSolved()) { return res.getCorrespondingDeclaration(); } else { throw new UnsolvedSymbolException(name); } } }
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() throws IOException { File srcDir = adaptPath(new File("src/test/resources/issue128")); typeSolver = new CombinedTypeSolver(new ReflectionTypeSolver(), new JavaParserTypeSolver(srcDir)); }
@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; } });
@Override public ResolvedReferenceTypeDeclaration solveType(String name) throws UnsolvedSymbolException { SymbolReference<ResolvedReferenceTypeDeclaration> res = tryToSolveType(name); if (res.isSolved()) { return res.getCorrespondingDeclaration(); } else { throw new UnsolvedSymbolException(name); } } }
@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() throws IOException { String pathToJar = adaptPath("src/test/resources/javaparser-core-2.1.0.jar"); typeSolver = new CombinedTypeSolver(new JarTypeSolver(pathToJar), new ReflectionTypeSolver()); String newPathToJar = adaptPath("src/test/resources/javaparser-core-3.0.0-alpha.2.jar"); newTypeSolver = new CombinedTypeSolver(new JarTypeSolver(newPathToJar), new ReflectionTypeSolver()); }
@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() throws IOException { String pathToJar = adaptPath("src/test/resources/javaparser-core-3.0.0-alpha.2.jar"); typeSolver = new CombinedTypeSolver(new JarTypeSolver(pathToJar), new ReflectionTypeSolver()); }