/** Visitor method for parenthesized expressions. * If the subexpression has changed, omit the parens. */ public void visitParens(JCParens tree) { JCTree expr = translate(tree.expr); result = ((expr == tree.expr) ? tree : expr); }
public void visitLetExpr(LetExpr tree) { tree.defs = translateVarDefs(tree.defs); tree.expr = translate(tree.expr, tree.type); result = tree; }
/** Visitor method for parenthesized expressions. * If the subexpression has changed, omit the parens. */ public void visitParens(JCParens tree) { JCTree expr = translate(tree.expr); result = ((expr == tree.expr) ? tree : expr); }
/** Visitor method: Translate list of trees. */ public <T extends JCTree> List<T> translate(List<T> trees, JCExpression enclOp) { JCExpression prevEnclOp = this.enclOp; this.enclOp = enclOp; List<T> res = translate(trees); this.enclOp = prevEnclOp; return res; }
/** Visitor method: Translate list of trees. */ public <T extends JCTree> List<T> translate(List<T> trees, Type type) { if (trees == null) return null; for (List<T> l = trees; l.nonEmpty(); l = l.tail) l.head = translate(l.head, type); return trees; }
public void visitReturn(JCReturn tree) { if (tree.expr != null) tree.expr = translate(tree.expr, types.erasure(currentMethodDef .restype.type)); result = tree; }
/** Visitor method: Translate a single node, boxing or unboxing if needed. */ public <T extends JCTree> T translate(T tree, Type type) { return (tree == null) ? null : boxIfNeeded(translate(tree), type); }
/** Visitor method: Translate a single node, boxing or unboxing if needed. */ public <T extends JCTree> T translate(T tree, Type type) { return (tree == null) ? null : boxIfNeeded(translate(tree), type); }
/** Visitor method: Translate a single node, boxing or unboxing if needed. */ public <T extends JCTree> T translate(T tree, Type type) { return (tree == null) ? null : boxIfNeeded(translate(tree), type); }