@Override public ResolvedType visit(NameExpr node, Boolean solveLambdas) { logger.finest("getType on name expr " + node); Optional<Value> value = new SymbolSolver(typeSolver).solveSymbolAsValue(node.getName().getId(), node); if (!value.isPresent()) { throw new UnsolvedSymbolException("Solving " + node, node.getName().getId()); } else { return value.get().getType(); } }
@Override public ResolvedType visit(NameExpr node, Boolean solveLambdas) { logger.finest("getType on name expr " + node); Optional<Value> value = new SymbolSolver(typeSolver).solveSymbolAsValue(node.getName().getId(), node); if (!value.isPresent()) { throw new UnsolvedSymbolException("Solving " + node, node.getName().getId()); } else { return value.get().getType(); } }
private String qName(ClassOrInterfaceType classOrInterfaceType) { String name = classOrInterfaceType.getName().getId(); if (classOrInterfaceType.getScope().isPresent()) { return qName(classOrInterfaceType.getScope().get()) + "." + name; } else { return name; } }
private String qName(ClassOrInterfaceType classOrInterfaceType) { String name = classOrInterfaceType.getName().getId(); if (classOrInterfaceType.getScope().isPresent()) { return qName(classOrInterfaceType.getScope().get()) + "." + name; } return name; }
@Override public String getQualifiedName() { String containerName = AstResolutionUtils.containerName(wrappedNode.getParentNode().orElse(null)); if (containerName.isEmpty()) { return wrappedNode.getName().getId(); } else { return containerName + "." + wrappedNode.getName(); } }
@Override public final Optional<ResolvedType> solveGenericType(String name, TypeSolver typeSolver) { for (com.github.javaparser.ast.type.TypeParameter tp : wrappedNode.getTypeParameters()) { if (tp.getName().getId().equals(name)) { return Optional.of(new ResolvedTypeVariable(new JavaParserTypeParameter(tp, typeSolver))); } } return super.solveGenericType(name, typeSolver); }
@Override public List<ResolvedReferenceType> getInterfacesExtended() { List<ResolvedReferenceType> interfaces = new ArrayList<>(); for (ClassOrInterfaceType t : wrappedNode.getExtendedTypes()) { interfaces.add(new ReferenceTypeImpl( solveType(t.getName().getId()).getCorrespondingDeclaration().asInterface(), typeSolver)); } return interfaces; }
@Override public final Optional<ResolvedType> solveGenericType(String name, TypeSolver typeSolver) { for (com.github.javaparser.ast.type.TypeParameter tp : wrappedNode.getTypeParameters()) { if (tp.getName().getId().equals(name)) { return Optional.of(new ResolvedTypeVariable(new JavaParserTypeParameter(tp, typeSolver))); } } return super.solveGenericType(name, typeSolver); }
@Override public List<ResolvedReferenceType> getInterfacesExtended() { List<ResolvedReferenceType> interfaces = new ArrayList<>(); if (wrappedNode.getImplementedTypes() != null) { for (ClassOrInterfaceType t : wrappedNode.getImplementedTypes()) { interfaces.add(new ReferenceTypeImpl(solveType(t.getName().getId(), typeSolver).getCorrespondingDeclaration().asInterface(), typeSolver)); } } return interfaces; }
@Override public List<ResolvedReferenceType> getInterfacesExtended() { List<ResolvedReferenceType> interfaces = new ArrayList<>(); if (wrappedNode.getImplementedTypes() != null) { for (ClassOrInterfaceType t : wrappedNode.getImplementedTypes()) { interfaces.add(new ReferenceTypeImpl(solveType(t.getName().getId(), typeSolver).getCorrespondingDeclaration().asInterface(), typeSolver)); } } return interfaces; }
@Override public Optional<ResolvedType> solveGenericType(String name) { for (com.github.javaparser.ast.type.TypeParameter tp : wrappedNode.getTypeParameters()) { if (tp.getName().getId().equals(name)) { return Optional.of(new ResolvedTypeVariable(new JavaParserTypeParameter(tp, typeSolver))); } } return getParent().solveGenericType(name); }
@Override public Optional<ResolvedType> solveGenericType(String name, TypeSolver typeSolver) { for (com.github.javaparser.ast.type.TypeParameter tp : wrappedNode.getTypeParameters()) { if (tp.getName().getId().equals(name)) { return Optional.of(new ResolvedTypeVariable(new JavaParserTypeParameter(tp, typeSolver))); } } return getParent().solveGenericType(name, typeSolver); }
public JavaParserAnonymousClassDeclaration(ObjectCreationExpr wrappedNode, TypeSolver typeSolver) { this.typeSolver = typeSolver; this.wrappedNode = wrappedNode; superTypeDeclaration = JavaParserFactory.getContext(wrappedNode.getParentNode().get(), typeSolver) .solveType(wrappedNode.getType().getName().getId(), typeSolver) .getCorrespondingDeclaration(); }
public SymbolReference<ResolvedFieldDeclaration> solveField(String name, TypeSolver typeSolver) { Collection<ResolvedReferenceTypeDeclaration> rrtds = findTypeDeclarations(Optional.of(wrappedNode.getScope()), typeSolver); for (ResolvedReferenceTypeDeclaration rrtd : rrtds) { try { return SymbolReference.solved(rrtd.getField(wrappedNode.getName().getId())); } catch (Throwable t) { } } return SymbolReference.unsolved(ResolvedFieldDeclaration.class); } }
public JavaParserAnonymousClassDeclaration(ObjectCreationExpr wrappedNode, TypeSolver typeSolver) { this.typeSolver = typeSolver; this.wrappedNode = wrappedNode; superTypeDeclaration = JavaParserFactory.getContext(wrappedNode.getParentNode().get(), typeSolver) .solveType(wrappedNode.getType().getName().getId(), typeSolver) .getCorrespondingDeclaration(); }
public JavaParserAnonymousClassDeclaration(ObjectCreationExpr wrappedNode, TypeSolver typeSolver) { this.typeSolver = typeSolver; this.wrappedNode = wrappedNode; superTypeDeclaration = JavaParserFactory.getContext(wrappedNode.getParentNode().get(), typeSolver) .solveType(wrappedNode.getType().getName().getId()) .getCorrespondingDeclaration(); }