Class ManTransTypes

java.lang.Object
com.sun.tools.javac.tree.JCTree.Visitor
com.sun.tools.javac.tree.TreeTranslator
com.sun.tools.javac.comp.TransTypes
manifold.internal.javac.ManTransTypes

public class ManTransTypes extends com.sun.tools.javac.comp.TransTypes
  • Field Summary

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

    transTypesKey

    Fields inherited from class com.sun.tools.javac.tree.TreeTranslator

    result
  • Method Summary

    Modifier and Type
    Method
    Description
    static com.sun.tools.javac.comp.TransTypes
    instance(com.sun.tools.javac.util.Context ctx)
     
    boolean
     
    com.sun.tools.javac.tree.JCTree
    translateTopLevelClass(com.sun.tools.javac.tree.JCTree cdef, com.sun.tools.javac.tree.TreeMaker make)
    Override to keep track of when/if translate() is in scope, if ManTypes#memberType() should not try to substitute the qualifier type for @Self because the qualifier is not really a call site, rather it is the declaring class of the method being checked for bridge method possibilities etc.
    void
    visitIdent(com.sun.tools.javac.tree.JCTree.JCIdent tree)
     

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

    coerce, translate, translate, translateArgs, visitAnnotatedType, visitAnnotation, visitAnyPattern, visitApply, visitAssert, visitAssign, visitAssignop, visitBinary, visitBindingPattern, visitBreak, visitCase, visitClassDef, visitConditional, visitConstantCaseLabel, visitDoLoop, visitExec, visitForeachLoop, visitForLoop, visitIf, visitIndexed, visitLambda, visitMethodDef, visitNewArray, visitNewClass, visitParens, visitPatternCaseLabel, visitRecordPattern, visitReference, visitReturn, visitSelect, visitSwitch, visitSwitchExpression, visitSynchronized, visitThrow, visitTry, visitTypeApply, visitTypeArray, visitTypeCast, visitTypeIntersection, visitTypeTest, visitUnary, visitVarDef, visitWhileLoop, visitYield

    Methods inherited from class com.sun.tools.javac.tree.TreeTranslator

    translate, translate, translateAnnotations, translateCases, translateCatchers, translateTypeParams, translateVarDefs, visitBlock, visitCatch, visitContinue, visitDefaultCaseLabel, visitErroneous, visitImport, visitLabelled, visitLetExpr, visitLiteral, visitModifiers, visitModuleImport, visitPackageDef, visitSkip, visitTopLevel, visitTree, visitTypeBoundKind, visitTypeIdent, visitTypeParameter, visitTypeUnion, visitWildcard

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

    visitExports, visitModuleDef, visitOpens, visitProvides, visitRequires, visitUses

    Methods inherited from class Object

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

    • instance

      public static com.sun.tools.javac.comp.TransTypes instance(com.sun.tools.javac.util.Context ctx)
    • translateTopLevelClass

      public com.sun.tools.javac.tree.JCTree translateTopLevelClass(com.sun.tools.javac.tree.JCTree cdef, com.sun.tools.javac.tree.TreeMaker make)
      Override to keep track of when/if translate() is in scope, if ManTypes#memberType() should not try to substitute the qualifier type for @Self because the qualifier is not really a call site, rather it is the declaring class of the method being checked for bridge method possibilities etc. Thus we need to let the normal signature flow through.
      Overrides:
      translateTopLevelClass in class com.sun.tools.javac.comp.TransTypes
    • isTranslating

      public boolean isTranslating()
    • visitIdent

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