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)); }
@Override public ResolvedType visit(StringLiteralExpr node, Boolean solveLambdas) { return new ReferenceTypeImpl(new ReflectionTypeSolver().solveType(String.class.getCanonicalName()), typeSolver); }
return SymbolReference.solved(ReflectionFactory.typeDeclarationFor(clazz, getRoot())); } catch (ClassNotFoundException e) { String parentName = name.substring(0, lastDot); String childName = name.substring(lastDot + 1); SymbolReference<ResolvedReferenceTypeDeclaration> parent = tryToSolveType(parentName); if (parent.isSolved()) { Optional<ResolvedReferenceTypeDeclaration> innerClass = parent.getCorrespondingDeclaration().internalTypes()
@Override public ResolvedReferenceType byName(String qualifiedName) { TypeSolver typeSolver = new ReflectionTypeSolver(); ResolvedReferenceTypeDeclaration typeDeclaration = typeSolver.solveType(qualifiedName); if (!typeDeclaration.getTypeParameters().isEmpty()) { throw new UnsupportedOperationException(); } return new ReferenceTypeImpl(typeDeclaration, typeSolver); }
@Override public ResolvedType visit(StringLiteralExpr node, Boolean solveLambdas) { return new ReferenceTypeImpl(new ReflectionTypeSolver().solveType(String.class.getCanonicalName()), typeSolver); }
return SymbolReference.solved(ReflectionFactory.typeDeclarationFor(clazz, getRoot())); } catch (ClassNotFoundException e) { String parentName = name.substring(0, lastDot); String childName = name.substring(lastDot + 1); SymbolReference<ResolvedReferenceTypeDeclaration> parent = tryToSolveType(parentName); if (parent.isSolved()) { Optional<ResolvedReferenceTypeDeclaration> innerClass = parent.getCorrespondingDeclaration().internalTypes()
@Before public void setup() { typeResolver = new ReflectionTypeSolver(); javaParserFacade = JavaParserFacade.get(typeResolver); }
@Override public ResolvedType visit(StringLiteralExpr node, Boolean solveLambdas) { return new ReferenceTypeImpl(new ReflectionTypeSolver().solveType(String.class.getCanonicalName()), typeSolver); }
@Before public void setup() { typeResolver = new ReflectionTypeSolver(); javaParserFacade = JavaParserFacade.get(typeResolver); }
@Test public void testDerivationOfTypeParameters() { ReflectionTypeSolver typeSolver = new ReflectionTypeSolver(); ReferenceTypeImpl ref1 = new ReferenceTypeImpl(typeSolver.solveType(LinkedList.class.getCanonicalName()), typeSolver); assertEquals(1, ref1.typeParametersValues().size()); assertEquals(true, ref1.typeParametersValues().get(0).isTypeVariable()); assertEquals("E", ref1.typeParametersValues().get(0).asTypeParameter().getName()); }
@Before public void setup() { typeSolver = new ReflectionTypeSolver(); javaParserFacade = JavaParserFacade.get(typeSolver); }
ReflectionTypeSolver typeSolver = new ReflectionTypeSolver(); ResolvedType sFirst = new ReferenceTypeImpl(typeSolver.solveType(s.asPrimitive().getBoxTypeQName()), typeSolver); return ReductionResult.oneConstraint(new TypeCompatibleWithType(typeSolver, sFirst, t)); ReflectionTypeSolver typeSolver = new ReflectionTypeSolver(); ResolvedType tFirst = new ReferenceTypeImpl(typeSolver.solveType(t.asPrimitive().getBoxTypeQName()), typeSolver); return ReductionResult.oneConstraint(new TypeSameAsType(s, tFirst));
@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()); }
ReflectionTypeSolver typeSolver = new ReflectionTypeSolver(); ResolvedType sFirst = new ReferenceTypeImpl(typeSolver.solveType(s.asPrimitive().getBoxTypeQName()), typeSolver); return ReductionResult.oneConstraint(new TypeCompatibleWithType(typeSolver, sFirst, t)); ReflectionTypeSolver typeSolver = new ReflectionTypeSolver(); ResolvedType tFirst = new ReferenceTypeImpl(typeSolver.solveType(t.asPrimitive().getBoxTypeQName()), typeSolver); return ReductionResult.oneConstraint(new TypeSameAsType(s, tFirst));
@Test public void testGetAllSuperclasses() { TypeSolver typeResolver = new ReflectionTypeSolver(); ResolvedClassDeclaration arraylist = new ReflectionClassDeclaration(ArrayList.class, typeResolver); assertEquals(ImmutableSet.of(Object.class.getCanonicalName(), AbstractCollection.class.getCanonicalName(), AbstractList.class.getCanonicalName()), arraylist.getAllSuperClasses().stream().map(i -> i.getQualifiedName()).collect(Collectors.toSet())); ResolvedClassDeclaration string = new ReflectionClassDeclaration(String.class, typeResolver); assertEquals(ImmutableSet.of(Object.class.getCanonicalName()), string.getAllSuperClasses().stream().map(i -> i.getQualifiedName()).collect(Collectors.toSet())); }
ReflectionTypeSolver typeSolver = new ReflectionTypeSolver(); ResolvedType sFirst = new ReferenceTypeImpl(typeSolver.solveType(s.asPrimitive().getBoxTypeQName()), typeSolver); return ReductionResult.oneConstraint(new TypeCompatibleWithType(typeSolver, sFirst, t)); ReflectionTypeSolver typeSolver = new ReflectionTypeSolver(); ResolvedType tFirst = new ReferenceTypeImpl(typeSolver.solveType(t.asPrimitive().getBoxTypeQName()), typeSolver); return ReductionResult.oneConstraint(new TypeSameAsType(s, tFirst));
@Before public void setup() throws IOException { File srcDir = adaptPath(new File("src/test/resources/issue128")); typeSolver = new CombinedTypeSolver(new ReflectionTypeSolver(), new JavaParserTypeSolver(srcDir)); }
@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()); }
@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; }
@Test(expected = MethodAmbiguityException.class) public void solveMethodAsUsageWithAmbiguosCall() throws ParseException { CompilationUnit cu = parseSample("ClassWithMethods"); ClassOrInterfaceDeclaration classOrInterfaceDeclaration = Navigator.demandClass(cu, "A"); Context context = new ClassOrInterfaceDeclarationContext(classOrInterfaceDeclaration, typeSolver); Optional<MethodUsage> ref = context.solveMethodAsUsage("foo5", ImmutableList.of(NullType.INSTANCE), new ReflectionTypeSolver()); } }