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 Type
    Method
    Description
    com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCStatement>
     
    com.sun.tools.javac.tree.JCTree.JCExpression
     
    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.
  • 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()