public AnonymousClassDeclarationContext(ObjectCreationExpr node, TypeSolver typeSolver) { super(node, typeSolver); Preconditions.checkArgument(node.getAnonymousClassBody().isPresent(), "An anonymous class must have a body"); }
public AnonymousClassDeclarationContext(ObjectCreationExpr node, TypeSolver typeSolver) { super(node, typeSolver); Preconditions.checkArgument(node.getAnonymousClassBody().isPresent(), "An anonymous class must have a body"); }
public AnonymousClassDeclarationContext(ObjectCreationExpr node, TypeSolver typeSolver) { super(node, typeSolver); Preconditions.checkArgument(node.getAnonymousClassBody().isPresent(), "An anonymous class must have a body"); }
public <T extends Node> List<T> findMembersOfKind(final Class<T> memberClass) { if (wrappedNode.getAnonymousClassBody().isPresent()) { return wrappedNode .getAnonymousClassBody() .get() .stream() .filter(node -> memberClass.isAssignableFrom(node.getClass())) .map(node -> (T) node) .collect(Collectors.toList()); } else { return Collections.emptyList(); } }
public <T extends Node> List<T> findMembersOfKind(final Class<T> memberClass) { if (wrappedNode.getAnonymousClassBody().isPresent()) { return wrappedNode .getAnonymousClassBody() .get() .stream() .filter(node -> memberClass.isAssignableFrom(node.getClass())) .map(memberClass::cast) .collect(Collectors.toList()); } else { return Collections.emptyList(); } }
public <T extends Node> List<T> findMembersOfKind(final Class<T> memberClass) { if (wrappedNode.getAnonymousClassBody().isPresent()) { return wrappedNode .getAnonymousClassBody() .get() .stream() .filter(node -> memberClass.isAssignableFrom(node.getClass())) .map(node -> (T) node) .collect(Collectors.toList()); } else { return Collections.emptyList(); } }
@Override public void visit(ObjectCreationExpr n, A arg) { HashSet<String> fields = newHashSet(); this.localVariables.addLast(fields); try { addFieldVariables(n.getAnonymousClassBody(), fields); super.visit(n, arg); } finally { this.localVariables.removeLast(); } }
@Override public Boolean visit(ObjectCreationExpr node, Void arg) { if (isEmpty(node.getAnonymousClassBody())) { return super.visit(node, arg); } int currentIndex = indexOfAnonymousClasses.removeLast() + 1; indexOfAnonymousClasses.addLast(currentIndex); if (anonymousClasses.get(indexOfNodeToFind) == node) { buffy.append('$').append(indexOfAnonymousClasses.getLast()); if (indexOfNodeToFind-- == 0) { return Boolean.TRUE; } } indexOfAnonymousClasses.addLast(0); indexOfNamedAnonymousClasses.addLast(0); try { return super.visit(node, null); } finally { indexOfAnonymousClasses.removeLast(); indexOfNamedAnonymousClasses.removeLast(); } }
for (; ; ) { if (ObjectCreationExpr.class.isInstance(loopNode)) { if (!isEmpty(ObjectCreationExpr.class.cast(loopNode).getAnonymousClassBody())) { anonymousClasses.add(loopNode);
/** * "this" inserted in the given point, which type would have? */ public ResolvedType getTypeOfThisIn(Node node) { // TODO consider static methods if (node instanceof ClassOrInterfaceDeclaration) { return new ReferenceTypeImpl(getTypeDeclaration((ClassOrInterfaceDeclaration) node), typeSolver); } else if (node instanceof EnumDeclaration) { JavaParserEnumDeclaration enumDeclaration = new JavaParserEnumDeclaration((EnumDeclaration) node, typeSolver); return new ReferenceTypeImpl(enumDeclaration, typeSolver); } else if (node instanceof ObjectCreationExpr && ((ObjectCreationExpr) node).getAnonymousClassBody().isPresent()) { JavaParserAnonymousClassDeclaration anonymousDeclaration = new JavaParserAnonymousClassDeclaration((ObjectCreationExpr) node, typeSolver); return new ReferenceTypeImpl(anonymousDeclaration, typeSolver); } return getTypeOfThisIn(requireParentNode(node)); }
/** * "this" inserted in the given point, which type would have? */ public ResolvedType getTypeOfThisIn(Node node) { // TODO consider static methods if (node instanceof ClassOrInterfaceDeclaration) { return new ReferenceTypeImpl(getTypeDeclaration((ClassOrInterfaceDeclaration) node), typeSolver); } else if (node instanceof EnumDeclaration) { JavaParserEnumDeclaration enumDeclaration = new JavaParserEnumDeclaration((EnumDeclaration) node, typeSolver); return new ReferenceTypeImpl(enumDeclaration, typeSolver); } else if (node instanceof ObjectCreationExpr && ((ObjectCreationExpr) node).getAnonymousClassBody().isPresent()) { JavaParserAnonymousClassDeclaration anonymousDeclaration = new JavaParserAnonymousClassDeclaration((ObjectCreationExpr) node, typeSolver); return new ReferenceTypeImpl(anonymousDeclaration, typeSolver); } else { return getTypeOfThisIn(getParentNode(node)); } }
/** * "this" inserted in the given point, which type would have? */ public ResolvedType getTypeOfThisIn(Node node) { // TODO consider static methods if (node instanceof ClassOrInterfaceDeclaration) { return new ReferenceTypeImpl(getTypeDeclaration((ClassOrInterfaceDeclaration) node), typeSolver); } else if (node instanceof EnumDeclaration) { JavaParserEnumDeclaration enumDeclaration = new JavaParserEnumDeclaration((EnumDeclaration) node, typeSolver); return new ReferenceTypeImpl(enumDeclaration, typeSolver); } else if (node instanceof ObjectCreationExpr && ((ObjectCreationExpr) node).getAnonymousClassBody().isPresent()) { JavaParserAnonymousClassDeclaration anonymousDeclaration = new JavaParserAnonymousClassDeclaration((ObjectCreationExpr) node, typeSolver); return new ReferenceTypeImpl(anonymousDeclaration, typeSolver); } else { return getTypeOfThisIn(getParentNode(node)); } }
@Override public ObjectCreationExpr doMerge(ObjectCreationExpr first, ObjectCreationExpr second) { ObjectCreationExpr oce = new ObjectCreationExpr(); oce.setScope(mergeSingle(first.getScope(),second.getScope())); oce.setType(mergeSingle(first.getType(),second.getType())); oce.setTypeArgs(mergeCollectionsInOrder(first.getTypeArgs(),second.getTypeArgs())); oce.setArgs(mergeCollectionsInOrder(first.getArgs(),second.getArgs())); oce.setAnonymousClassBody(mergeCollections(first.getAnonymousClassBody(),second.getAnonymousClassBody())); return oce; }
return new CatchClauseContext((CatchClause) node, typeSolver); } else if (node instanceof ObjectCreationExpr && ((ObjectCreationExpr) node).getAnonymousClassBody().isPresent()) { return new AnonymousClassDeclarationContext((ObjectCreationExpr) node, typeSolver); } else {
return new CatchClauseContext((CatchClause) node, typeSolver); } else if (node instanceof ObjectCreationExpr && ((ObjectCreationExpr) node).getAnonymousClassBody().isPresent()) { return new AnonymousClassDeclarationContext((ObjectCreationExpr) node, typeSolver); } else {
return new VariableDeclarationExprContext((VariableDeclarationExpr) node, typeSolver); } else if (node instanceof ObjectCreationExpr && ((ObjectCreationExpr) node).getAnonymousClassBody().isPresent()) { return new AnonymousClassDeclarationContext((ObjectCreationExpr) node, typeSolver); } else if (node instanceof ObjectCreationExpr) {