Class CodeGenAttr

java.lang.Object
com.sun.tools.javac.tree.JCTree.Visitor
com.sun.tools.javac.comp.Attr
net.binis.codegen.compiler.plugin.parser.CodeGenAttr

public class CodeGenAttr extends com.sun.tools.javac.comp.Attr
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final Map<com.sun.tools.javac.tree.JCTree,com.sun.tools.javac.tree.JCTree.JCMethodInvocation>
     
    protected final Stack<com.sun.tools.javac.tree.JCTree.JCFieldAccess>
     
    protected final Stack<com.sun.tools.javac.tree.JCTree>
     
    protected static final Field
     
    protected static final Field
     
    protected static final Field
     
    protected static final Method
     

    Fields inherited from class com.sun.tools.javac.comp.Attr

    attrKey
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    CodeGenAttr(com.sun.tools.javac.util.Context context)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    com.sun.tools.javac.code.Type
    attribType(com.sun.tools.javac.tree.JCTree tree, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext> env)
     
    protected com.sun.tools.javac.tree.JCTree.JCMethodInvocation
    buildMethod(com.sun.tools.javac.tree.JCTree.JCExpression tree, com.sun.tools.javac.comp.Env env)
     
    protected void
    fixDiag(Queue<com.sun.tools.javac.util.JCDiagnostic> diag, int err)
     
    protected com.sun.tools.javac.comp.Env
     
    protected com.sun.tools.javac.util.Log
     
    protected com.sun.tools.javac.tree.TreeMaker
     
    instance(com.sun.tools.javac.util.Context ctx)
     
    protected void
    patchCompilerClasses(com.sun.tools.javac.util.Context context)
     
    protected boolean
    replaceTree(com.sun.tools.javac.tree.JCTree old, com.sun.tools.javac.tree.JCTree tree, com.sun.tools.javac.tree.JCTree.JCMethodInvocation exp)
     
    protected void
    restoreDiagnostics(com.sun.tools.javac.tree.JCTree tree, net.binis.codegen.compiler.plugin.parser.CodeGenAttr.DeferredAttrDiagHandler deferredAttrDiagHandler)
     
    protected net.binis.codegen.compiler.plugin.parser.CodeGenAttr.DeferredAttrDiagHandler
    suppressDiagnostics(com.sun.tools.javac.tree.JCTree tree)
     
    protected boolean
    tryRewritePackage(com.sun.tools.javac.tree.JCTree.JCFieldAccess tree)
     
    protected com.sun.tools.javac.tree.JCTree.JCExpression
    tryRewritePackage(com.sun.tools.javac.tree.JCTree.JCFieldAccess tree, com.sun.tools.javac.tree.JCTree.JCExpression chain)
     
    protected boolean
    tryToRewriteFieldAccess(com.sun.tools.javac.tree.JCTree.JCFieldAccess tree, Queue<com.sun.tools.javac.util.JCDiagnostic> diag)
     
    protected boolean
    tryToRewriteIdent(com.sun.tools.javac.tree.JCTree.JCIdent tree)
     
    void
    visitIdent(com.sun.tools.javac.tree.JCTree.JCIdent tree)
     
    void
    visitSelect(com.sun.tools.javac.tree.JCTree.JCFieldAccess tree)
     
    void
    visitVarDef(com.sun.tools.javac.tree.JCTree.JCVariableDecl tree)
     

    Methods inherited from class com.sun.tools.javac.comp.Attr

    attrib, attribClass, attribExpr, attribExpr, attribExprToTree, attribIdent, attribIdent, attribImportQualifier, attribLazyConstantValue, attribModule, attribPackage, attribStat, attribStatToTree, attribType, breakTreeFound, checkMethod, coerce, lambdaEnv, makeNullCheck, postAttr, removeClinit, setPackageSymbols, validateTypeAnnotations, visitAnnotatedType, visitAnnotation, visitApply, visitAssert, visitAssign, visitAssignop, visitBinary, visitBindingPattern, visitBlock, visitBreak, visitClassDef, visitConditional, visitContinue, visitDoLoop, visitErroneous, visitExec, visitForeachLoop, visitForLoop, visitIf, visitImport, visitIndexed, visitLabelled, visitLambda, visitLiteral, visitMethodDef, visitModifiers, visitModuleDef, visitNewArray, visitNewClass, visitParens, visitParenthesizedPattern, visitRecordPattern, visitReference, visitReturn, visitSkip, visitSwitch, visitSwitchExpression, visitSynchronized, visitThrow, visitTree, visitTry, visitTypeApply, visitTypeArray, visitTypeCast, visitTypeIdent, visitTypeIntersection, visitTypeParameter, visitTypeTest, visitTypeUnion, visitUnary, visitWhileLoop, visitWildcard, visitYield

    Methods inherited from class com.sun.tools.javac.tree.JCTree.Visitor

    visitCase, visitCatch, visitConstantCaseLabel, visitDefaultCaseLabel, visitExports, visitLetExpr, visitOpens, visitPackageDef, visitPatternCaseLabel, visitProvides, visitRequires, visitTopLevel, visitTypeBoundKind, visitUses

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • _selects

      protected final Stack<com.sun.tools.javac.tree.JCTree.JCFieldAccess> _selects
    • _stack

      protected final Stack<com.sun.tools.javac.tree.JCTree> _stack
    • _rewritten

      protected final Map<com.sun.tools.javac.tree.JCTree,com.sun.tools.javac.tree.JCTree.JCMethodInvocation> _rewritten
    • TYPE_ENVS_GET

      protected static final Method TYPE_ENVS_GET
    • TYPE_ENVS_FIELD

      protected static final Field TYPE_ENVS_FIELD
    • MAKER_FIELD

      protected static final Field MAKER_FIELD
    • ENV_FIELD

      protected static final Field ENV_FIELD
  • Constructor Details

    • CodeGenAttr

      protected CodeGenAttr(com.sun.tools.javac.util.Context context)
  • Method Details

    • instance

      public static CodeGenAttr instance(com.sun.tools.javac.util.Context ctx)
    • patchCompilerClasses

      protected void patchCompilerClasses(com.sun.tools.javac.util.Context context)
    • attribType

      public com.sun.tools.javac.code.Type attribType(com.sun.tools.javac.tree.JCTree tree, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext> env)
      Overrides:
      attribType in class com.sun.tools.javac.comp.Attr
    • visitSelect

      public void visitSelect(com.sun.tools.javac.tree.JCTree.JCFieldAccess tree)
      Overrides:
      visitSelect in class com.sun.tools.javac.comp.Attr
    • fixDiag

      protected void fixDiag(Queue<com.sun.tools.javac.util.JCDiagnostic> diag, int err)
    • visitIdent

      public void visitIdent(com.sun.tools.javac.tree.JCTree.JCIdent tree)
      Overrides:
      visitIdent in class com.sun.tools.javac.comp.Attr
    • buildMethod

      protected com.sun.tools.javac.tree.JCTree.JCMethodInvocation buildMethod(com.sun.tools.javac.tree.JCTree.JCExpression tree, com.sun.tools.javac.comp.Env env)
    • tryRewritePackage

      protected boolean tryRewritePackage(com.sun.tools.javac.tree.JCTree.JCFieldAccess tree)
    • tryRewritePackage

      protected com.sun.tools.javac.tree.JCTree.JCExpression tryRewritePackage(com.sun.tools.javac.tree.JCTree.JCFieldAccess tree, com.sun.tools.javac.tree.JCTree.JCExpression chain)
    • tryToRewriteFieldAccess

      protected boolean tryToRewriteFieldAccess(com.sun.tools.javac.tree.JCTree.JCFieldAccess tree, Queue<com.sun.tools.javac.util.JCDiagnostic> diag)
    • tryToRewriteIdent

      protected boolean tryToRewriteIdent(com.sun.tools.javac.tree.JCTree.JCIdent tree)
    • replaceTree

      protected boolean replaceTree(com.sun.tools.javac.tree.JCTree old, com.sun.tools.javac.tree.JCTree tree, com.sun.tools.javac.tree.JCTree.JCMethodInvocation exp)
    • visitVarDef

      public void visitVarDef(com.sun.tools.javac.tree.JCTree.JCVariableDecl tree)
      Overrides:
      visitVarDef in class com.sun.tools.javac.comp.Attr
    • getLogger

      protected com.sun.tools.javac.util.Log getLogger()
    • suppressDiagnostics

      protected net.binis.codegen.compiler.plugin.parser.CodeGenAttr.DeferredAttrDiagHandler suppressDiagnostics(com.sun.tools.javac.tree.JCTree tree)
    • restoreDiagnostics

      protected void restoreDiagnostics(com.sun.tools.javac.tree.JCTree tree, net.binis.codegen.compiler.plugin.parser.CodeGenAttr.DeferredAttrDiagHandler deferredAttrDiagHandler)
    • getEnv

      protected com.sun.tools.javac.comp.Env getEnv()
    • getMaker

      protected com.sun.tools.javac.tree.TreeMaker getMaker()