String typeName = getType(itName); String memberName = getMember(itName); SymbolReference<ResolvedTypeDeclaration> type = this.solveType(typeName, typeSolver); if (type.isSolved()) { return new SymbolSolver(typeSolver).solveSymbolInType(type.getCorrespondingDeclaration(), memberName); String memberName = getMember(whole); String typeName = getType(whole);
&& this.wrappedNode.getPackageDeclaration().get().getName().getIdentifier().equals(packageName(importString)) && this.wrappedNode.getTypes().stream().anyMatch(it -> it.getName().getIdentifier().equals(toSimpleName(importString)))) { String typeName = getType(qName); ResolvedTypeDeclaration ref = typeSolver.solveType(typeName); SymbolReference<ResolvedMethodDeclaration> method = MethodResolutionLogic.solveMethodInType(ref, name, argumentsTypes, true, typeSolver);
private String qName(Name name) { if (name.getQualifier().isPresent()) { return qName(name.getQualifier().get()) + "." + name.getId(); } else { return name.getId(); } }
@Test public void solveUnexistingGenericType() throws ParseException { CompilationUnit cu = parseSample("ClassWithTypeVariables"); Context context = new CompilationUnitContext(cu, typeSolver); Optional<ResolvedType> d = context.solveGenericType("D", new MemoryTypeSolver()); assertEquals(false, d.isPresent()); }
SymbolReference<ResolvedTypeDeclaration> ref = null; SymbolReference<ResolvedTypeDeclaration> outerMostRef = solveType(name.substring(0, name.indexOf("."))); if (outerMostRef != null && outerMostRef.isSolved() && outerMostRef.getCorrespondingDeclaration() instanceof JavaParserClassDeclaration) { if (isQualifiedName(name)) { return SymbolReference.adapt(typeSolver.tryToSolveType(name), ResolvedTypeDeclaration.class); } else {
if (isQualifiedName(name)) { return SymbolReference.adapt(typeSolver.tryToSolveType(name), ResolvedTypeDeclaration.class); } else {
@Test public void getParent() throws ParseException { CompilationUnit cu = parseSample("ClassWithTypeVariables"); Context context = new CompilationUnitContext(cu, typeSolver); assertTrue(null == context.getParent()); }
if (isQualifiedName(name)) { return SymbolReference.adapt(typeSolver.tryToSolveType(name), ResolvedTypeDeclaration.class); } else {
@Test public void solveSymbolAsValueReferringToStaticField() throws ParseException, IOException { CompilationUnit cu = parseSample("CompilationUnitSymbols"); Context context = new CompilationUnitContext(cu, typeSolver); Optional<Value> ref = context.solveSymbolAsValue("java.lang.System.out", new ReflectionTypeSolver()); assertEquals(true, ref.isPresent()); assertEquals("java.io.PrintStream", ref.get().getType().describe()); }
&& this.wrappedNode.getPackageDeclaration().get().getName().getIdentifier().equals(packageName(importString)) && this.wrappedNode.getTypes().stream().anyMatch(it -> it.getName().getIdentifier().equals(toSimpleName(importString)))) { String typeName = getType(qName); ResolvedTypeDeclaration ref = typeSolver.solveType(typeName); SymbolReference<ResolvedMethodDeclaration> method = MethodResolutionLogic.solveMethodInType(ref, name, argumentsTypes, true, typeSolver);
String typeName = getType(itName); String memberName = getMember(itName); SymbolReference<ResolvedTypeDeclaration> type = this.solveType(typeName); if (type.isSolved()) { return new SymbolSolver(typeSolver).solveSymbolInType(type.getCorrespondingDeclaration(), memberName); String memberName = getMember(whole); String typeName = getType(whole);
private String qName(Name name) { if (name.getQualifier().isPresent()) { return qName(name.getQualifier().get()) + "." + name.getId(); } else { return name.getId(); } }
@Test public void solveTypeInSamePackage() throws ParseException { CompilationUnit cu = parseSample("CompilationUnitWithImports"); Context context = new CompilationUnitContext(cu, typeSolver); ResolvedReferenceTypeDeclaration otherClass = EasyMock.createMock(ResolvedReferenceTypeDeclaration.class); EasyMock.expect(otherClass.getQualifiedName()).andReturn("com.foo.OtherClassInSamePackage"); MemoryTypeSolver memoryTypeSolver = new MemoryTypeSolver(); memoryTypeSolver.addDeclaration("com.foo.OtherClassInSamePackage", otherClass); EasyMock.replay(otherClass); SymbolReference<ResolvedTypeDeclaration> ref = context.solveType("OtherClassInSamePackage", memoryTypeSolver); assertEquals(true, ref.isSolved()); assertEquals("com.foo.OtherClassInSamePackage", ref.getCorrespondingDeclaration().getQualifiedName()); }
&& this.wrappedNode.getPackageDeclaration().get().getName().getIdentifier().equals(packageName(importString)) && this.wrappedNode.getTypes().stream().anyMatch(it -> it.getName().getIdentifier().equals(toSimpleName(importString)))) { String typeName = getType(qName); ResolvedTypeDeclaration ref = typeSolver.solveType(typeName); SymbolReference<ResolvedMethodDeclaration> method = MethodResolutionLogic.solveMethodInType(ref, name, argumentsTypes, true);
String typeName = getType(itName); String memberName = getMember(itName); SymbolReference<ResolvedTypeDeclaration> type = this.solveType(typeName, typeSolver); if (type.isSolved()) { return new SymbolSolver(typeSolver).solveSymbolInType(type.getCorrespondingDeclaration(), memberName); String memberName = getMember(whole); String typeName = getType(whole);
private String qName(Name name) { if (name.getQualifier().isPresent()) { return qName(name.getQualifier().get()) + "." + name.getId(); } else { return name.getId(); } }
throw new NullPointerException("Node should not be null"); } else if (node instanceof CompilationUnit) { return new CompilationUnitContext((CompilationUnit) node, typeSolver); } else if (node instanceof ForeachStmt) { return new ForechStatementContext((ForeachStmt) node, typeSolver);
private String qName(ClassOrInterfaceType type) { if (type.getScope().isPresent()) { return qName(type.getScope().get()) + "." + type.getName().getId(); } else { return type.getName().getId(); } }
throw new NullPointerException("Node should not be null"); } else if (node instanceof CompilationUnit) { return new CompilationUnitContext((CompilationUnit) node, typeSolver); } else if (node instanceof ForeachStmt) { return new ForechStatementContext((ForeachStmt) node, typeSolver);
private String qName(ClassOrInterfaceType type) { if (type.getScope().isPresent()) { return qName(type.getScope().get()) + "." + type.getName().getId(); } else { return type.getName().getId(); } }