Interface ILetExpr
public interface ILetExpr
The LetExpr has evolved a little over time regarding the declared type of
JCTree.LetExpr.defs and
JCTree.LetExpr.expr. Manifold uses LetExpr to handle JCUnary inc/dec and JCAssignOp (+=, *=, etc.) with advanced
features such as operator overloading and properties. In some cases, such as properties, we need the LetExpr to
have defs that are not JCVarDecl e.g., setXxx() to handle JCAssignOp. All of this mumbo jumbo here and in LetExpr_8
and LetExpr_11 is to make that work.-
Method Summary
Modifier and TypeMethodDescriptioncom.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCStatement> getDefs()com.sun.tools.javac.tree.JCTree.JCExpressiongetExpr()static com.sun.tools.javac.tree.JCTree.LetExprmakeLetExpr(com.sun.tools.javac.tree.TreeMaker make, com.sun.tools.javac.util.List<? extends com.sun.tools.javac.tree.JCTree> tempVars, com.sun.tools.javac.tree.JCTree.JCExpression value, com.sun.tools.javac.code.Type type, int pos) Always use this method to make a new LetExpr, which must be an instance of either LetExpr_8 or LetExpr_11.
-
Method Details
-
makeLetExpr
static com.sun.tools.javac.tree.JCTree.LetExpr makeLetExpr(com.sun.tools.javac.tree.TreeMaker make, com.sun.tools.javac.util.List<? extends com.sun.tools.javac.tree.JCTree> tempVars, com.sun.tools.javac.tree.JCTree.JCExpression value, com.sun.tools.javac.code.Type type, int pos) Always use this method to make a new LetExpr, which must be an instance of either LetExpr_8 or LetExpr_11. -
getDefs
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCStatement> getDefs() -
getExpr
com.sun.tools.javac.tree.JCTree.JCExpression getExpr()
-