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

      All Methods Static Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCStatement> getDefs()  
      com.sun.tools.javac.tree.JCTree.JCExpression getExpr()  
      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 Detail

      • 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()