@Override public Description matchNewClass(NewClassTree tree, VisitorState state) { return check(tree, tree.getTypeArguments(), state); }
@Override public Choice<State<JCNewClass>> visitNewClass(final NewClassTree node, State<?> state) { if (node.getEnclosingExpression() != null || (node.getTypeArguments() != null && !node.getTypeArguments().isEmpty()) || node.getClassBody() != null) { return Choice.none(); } return chooseSubtrees( state, s -> unifyExpression(node.getIdentifier(), s), s -> unifyExpressions(node.getArguments(), s), (ident, args) -> maker().NewClass(null, null, ident, args, null)); }
@Override public Void visitNewClass(NewClassTree tree, HeldLockSet locks) { scan(tree.getEnclosingExpression(), locks); scan(tree.getIdentifier(), locks); scan(tree.getTypeArguments(), locks); scan(tree.getArguments(), locks); // Don't descend into bodies of anonymous class declarations; // their method declarations will be analyzed separately. return null; }
@Override public Boolean visitNewClass(NewClassTree node, Void unused) { Boolean r = scan(node.getEnclosingExpression(), null); r = scanAndReduce(node.getIdentifier(), r); r = scanAndReduce(node.getTypeArguments(), r); r = scanAndReduce(node.getArguments(), r); // don't descend into class body, if it exists return r; }
@Override @Nullable public Choice<Unifier> visitNewClass(NewClassTree newClass, @Nullable Unifier unifier) { return unifyNullable(unifier, getEnclosingExpression(), newClass.getEnclosingExpression()) .thenChoose(unifications(getTypeArguments(), newClass.getTypeArguments())) .thenChoose(unifications(getIdentifier(), newClass.getIdentifier())) .thenChoose(unifications(getClassBody(), newClass.getClassBody())) .thenChoose(unifications(getArguments(), newClass.getArguments())); }
@Override public UNewClass visitNewClass(NewClassTree tree, Void v) { return UNewClass.create( tree.getEnclosingExpression() == null ? null : template(tree.getEnclosingExpression()), templateTypeExpressions(tree.getTypeArguments()), template(tree.getIdentifier()), templateExpressions(tree.getArguments()), (tree.getClassBody() == null) ? null : visitClass(tree.getClassBody(), null)); }
@Override public Choice<State<JCNewClass>> visitNewClass(final NewClassTree node, State<?> state) { if (node.getEnclosingExpression() != null || (node.getTypeArguments() != null && !node.getTypeArguments().isEmpty()) || node.getClassBody() != null) { return Choice.none(); } return chooseSubtrees( state, s -> unifyExpression(node.getIdentifier(), s), s -> unifyExpressions(node.getArguments(), s), (ident, args) -> maker().NewClass(null, null, ident, args, null)); }
@Override public MethodArgument[] visitNewClass(NewClassTree node, Object p) { if (!methodInvocation || offset != positions.getEndPosition(tree, node.getIdentifier())) { return super.visitNewClass(node, p); } List<? extends ExpressionTree> args = node.getArguments(); List<? extends Tree> argTypes = node.getTypeArguments(); arguments = composeArguments(args, argTypes); return arguments; }
@Override public MethodArgument[] visitNewClass(NewClassTree node, Object p) { if (!methodInvocation || offset != positions.getEndPosition(tree, node.getIdentifier())) { return super.visitNewClass(node, p); } List<? extends ExpressionTree> args = node.getArguments(); List<? extends Tree> argTypes = node.getTypeArguments(); arguments = composeArguments(args, argTypes); return arguments; }
private NewClassTree modifyNewClassArgument(NewClassTree newClass, int index, ExpressionTree argument, Operation op) { NewClassTree copy = NewClass( newClass.getEnclosingExpression(), (List<ExpressionTree>) newClass.getTypeArguments(), newClass.getIdentifier(), c(newClass.getArguments(), index, argument, op), newClass.getClassBody() ); return copy; }
private NewClassTree modifyNewClassTypeArgument(NewClassTree newClass, int index, ExpressionTree typeArgument, Operation op) { NewClassTree copy = NewClass( newClass.getEnclosingExpression(), c((List<ExpressionTree>) newClass.getTypeArguments(), index, typeArgument, op), newClass.getIdentifier(), newClass.getArguments(), newClass.getClassBody() ); return copy; }
@Override public Void visitNewClass(NewClassTree tree, HeldLockSet locks) { scan(tree.getEnclosingExpression(), locks); scan(tree.getIdentifier(), locks); scan(tree.getTypeArguments(), locks); scan(tree.getArguments(), locks); // Don't descend into bodies of anonymous class declarations; // their method declarations will be analyzed separately. return null; }
@Override public Boolean visitNewClass(NewClassTree node, Void unused) { Boolean r = scan(node.getEnclosingExpression(), null); r = scanAndReduce(node.getIdentifier(), r); r = scanAndReduce(node.getTypeArguments(), r); r = scanAndReduce(node.getArguments(), r); // don't descend into class body, if it exists return r; }
public R visitNewClass(NewClassTree node, P p) { R r = scan(node.getEnclosingExpression(), p); r = scanAndReduce(node.getIdentifier(), p, r); r = scanAndReduce(node.getTypeArguments(), p, r); r = scanAndReduce(node.getArguments(), p, r); r = scanAndReduce(node.getClassBody(), p, r); return r; }
public R visitNewClass(NewClassTree node, P p) { R r = scan(node.getEnclosingExpression(), p); r = scanAndReduce(node.getIdentifier(), p, r); r = scanAndReduce(node.getTypeArguments(), p, r); r = scanAndReduce(node.getArguments(), p, r); r = scanAndReduce(node.getClassBody(), p, r); return r; }
public R visitNewClass(NewClassTree node, P p) { R r = scan(node.getEnclosingExpression(), p); r = scanAndReduce(node.getIdentifier(), p, r); r = scanAndReduce(node.getTypeArguments(), p, r); r = scanAndReduce(node.getArguments(), p, r); r = scanAndReduce(node.getClassBody(), p, r); return r; }
@Override @Nullable public Choice<Unifier> visitNewClass(NewClassTree newClass, @Nullable Unifier unifier) { return unifyNullable(unifier, getEnclosingExpression(), newClass.getEnclosingExpression()) .thenChoose(unifications(getTypeArguments(), newClass.getTypeArguments())) .thenChoose(unifications(getIdentifier(), newClass.getIdentifier())) .thenChoose(unifications(getClassBody(), newClass.getClassBody())) .thenChoose(unifications(getArguments(), newClass.getArguments())); }
public R visitNewClass(NewClassTree node, P p) { R r = scan(node.getEnclosingExpression(), p); r = scanAndReduce(node.getIdentifier(), p, r); r = scanAndReduce(node.getTypeArguments(), p, r); r = scanAndReduce(node.getArguments(), p, r); r = scanAndReduce(node.getClassBody(), p, r); return r; }
@Override public Tree visitNewClass(NewClassTree tree, Void p) { NewClassTree n = make.NewClass((ExpressionTree)tree.getEnclosingExpression(), (List<? extends ExpressionTree>)tree.getTypeArguments(), tree.getIdentifier(), tree.getArguments(), tree.getClassBody()); model.setElement(n, model.getElement(tree)); model.setType(n, model.getType(tree)); comments.copyComments(tree, n); model.setPos(n, model.getPos(tree)); return n; }
@Override public UNewClass visitNewClass(NewClassTree tree, Void v) { return UNewClass.create( tree.getEnclosingExpression() == null ? null : template(tree.getEnclosingExpression()), templateTypeExpressions(tree.getTypeArguments()), template(tree.getIdentifier()), templateExpressions(tree.getArguments()), (tree.getClassBody() == null) ? null : visitClass(tree.getClassBody(), null)); }