Class GosuVisitor

java.lang.Object
editor.util.transform.java.visitor.GosuVisitor
All Implemented Interfaces:
com.sun.source.tree.TreeVisitor<String,Object>

public class GosuVisitor extends Object implements com.sun.source.tree.TreeVisitor<String,Object>
  • Field Details

    • _docTrees

      private com.sun.source.util.DocTrees _docTrees
    • _compilationUnit

      private com.sun.source.tree.CompilationUnitTree _compilationUnit
    • _output

      StringBuilder _output
    • _ident

      private int _ident
    • _tabSize

      private int _tabSize
    • _tab

      private String _tab
    • _symTable

      private SymbolTable _symTable
    • _currentEnumIdent

      private String _currentEnumIdent
    • _currentResourcesIdents

      private List<String> _currentResourcesIdents
    • _mode

      private GosuVisitor.Mode _mode
    • _isEnum

      private boolean _isEnum
    • _isInterface

      private boolean _isInterface
    • _skipBlockScope

      boolean _skipBlockScope
    • _skipSymConversion

      private boolean _skipSymConversion
    • _topLevelClass

      private com.sun.source.tree.ClassTree _topLevelClass
  • Constructor Details

    • GosuVisitor

      public GosuVisitor(int tabSize, com.sun.source.util.DocTrees docTrees)
  • Method Details

    • getOutput

      public StringBuilder getOutput()
    • visitImport

      public String visitImport(com.sun.source.tree.ImportTree node, Object v)
      Specified by:
      visitImport in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitCompilationUnit

      public String visitCompilationUnit(com.sun.source.tree.CompilationUnitTree node, Object v)
      Specified by:
      visitCompilationUnit in interface com.sun.source.tree.TreeVisitor<String,Object>
    • appendComment

      private void appendComment(com.sun.source.tree.Tree node, StringBuilder out)
    • visitClass

      public String visitClass(com.sun.source.tree.ClassTree node, Object v)
      Specified by:
      visitClass in interface com.sun.source.tree.TreeVisitor<String,Object>
    • addGlobalVariables

      private void addGlobalVariables(List<? extends com.sun.source.tree.Tree> members)
    • visitReturn

      public String visitReturn(com.sun.source.tree.ReturnTree node, Object v)
      Specified by:
      visitReturn in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitTry

      public String visitTry(com.sun.source.tree.TryTree node, Object v)
      Specified by:
      visitTry in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitCatch

      public String visitCatch(com.sun.source.tree.CatchTree node, Object v)
      Specified by:
      visitCatch in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitLabeledStatement

      public String visitLabeledStatement(com.sun.source.tree.LabeledStatementTree node, Object v)
      Specified by:
      visitLabeledStatement in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitBlock

      public String visitBlock(com.sun.source.tree.BlockTree node, Object v)
      Specified by:
      visitBlock in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitSwitch

      public String visitSwitch(com.sun.source.tree.SwitchTree node, Object v)
      Specified by:
      visitSwitch in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitCase

      public String visitCase(com.sun.source.tree.CaseTree node, Object v)
      Specified by:
      visitCase in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitEnhancedForLoop

      public String visitEnhancedForLoop(com.sun.source.tree.EnhancedForLoopTree node, Object v)
      Specified by:
      visitEnhancedForLoop in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitEmptyStatement

      public String visitEmptyStatement(com.sun.source.tree.EmptyStatementTree node, Object v)
      Specified by:
      visitEmptyStatement in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitExpressionStatement

      public String visitExpressionStatement(com.sun.source.tree.ExpressionStatementTree node, Object v)
      Specified by:
      visitExpressionStatement in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitArrayAccess

      public String visitArrayAccess(com.sun.source.tree.ArrayAccessTree node, Object v)
      Specified by:
      visitArrayAccess in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitArrayType

      public String visitArrayType(com.sun.source.tree.ArrayTypeTree node, Object v)
      Specified by:
      visitArrayType in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitThrow

      public String visitThrow(com.sun.source.tree.ThrowTree node, Object v)
      Specified by:
      visitThrow in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitVariable

      public String visitVariable(com.sun.source.tree.VariableTree node, Object v)
      Specified by:
      visitVariable in interface com.sun.source.tree.TreeVisitor<String,Object>
    • extractGenericType

      private String extractGenericType(String varType)
    • typeInference

      private String typeInference(com.sun.source.tree.ExpressionTree initializer, String varType, String genType, String iniz)
    • isAEnumConstant

      private boolean isAEnumConstant(com.sun.source.tree.Tree node)
    • visitParameterizedType

      public String visitParameterizedType(com.sun.source.tree.ParameterizedTypeTree node, Object v)
      Specified by:
      visitParameterizedType in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitMemberSelect

      public String visitMemberSelect(com.sun.source.tree.MemberSelectTree node, Object v)
      Specified by:
      visitMemberSelect in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitMemberReference

      public String visitMemberReference(com.sun.source.tree.MemberReferenceTree node, Object v)
      Specified by:
      visitMemberReference in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitWildcard

      public String visitWildcard(com.sun.source.tree.WildcardTree node, Object v)
      Specified by:
      visitWildcard in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitModule

      public String visitModule(com.sun.source.tree.ModuleTree node, Object o)
      Specified by:
      visitModule in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitExports

      public String visitExports(com.sun.source.tree.ExportsTree node, Object o)
      Specified by:
      visitExports in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitOpens

      public String visitOpens(com.sun.source.tree.OpensTree node, Object o)
      Specified by:
      visitOpens in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitProvides

      public String visitProvides(com.sun.source.tree.ProvidesTree node, Object o)
      Specified by:
      visitProvides in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitRequires

      public String visitRequires(com.sun.source.tree.RequiresTree node, Object o)
      Specified by:
      visitRequires in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitUses

      public String visitUses(com.sun.source.tree.UsesTree node, Object o)
      Specified by:
      visitUses in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitBinary

      public String visitBinary(com.sun.source.tree.BinaryTree node, Object v)
      Specified by:
      visitBinary in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitParenthesized

      public String visitParenthesized(com.sun.source.tree.ParenthesizedTree node, Object v)
      Specified by:
      visitParenthesized in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitNewArray

      public String visitNewArray(com.sun.source.tree.NewArrayTree node, Object v)
      Specified by:
      visitNewArray in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitOther

      public String visitOther(com.sun.source.tree.Tree node, Object v)
      Specified by:
      visitOther in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitErroneous

      public String visitErroneous(com.sun.source.tree.ErroneousTree node, Object v)
      Specified by:
      visitErroneous in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitSynchronized

      public String visitSynchronized(com.sun.source.tree.SynchronizedTree node, Object v)
      Specified by:
      visitSynchronized in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitBreak

      public String visitBreak(com.sun.source.tree.BreakTree node, Object v)
      Specified by:
      visitBreak in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitContinue

      public String visitContinue(com.sun.source.tree.ContinueTree node, Object v)
      Specified by:
      visitContinue in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitDoWhileLoop

      public String visitDoWhileLoop(com.sun.source.tree.DoWhileLoopTree node, Object v)
      Specified by:
      visitDoWhileLoop in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitWhileLoop

      public String visitWhileLoop(com.sun.source.tree.WhileLoopTree node, Object v)
      Specified by:
      visitWhileLoop in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitIf

      public String visitIf(com.sun.source.tree.IfTree node, Object v)
      Specified by:
      visitIf in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitInstanceOf

      public String visitInstanceOf(com.sun.source.tree.InstanceOfTree node, Object v)
      Specified by:
      visitInstanceOf in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitUnary

      public String visitUnary(com.sun.source.tree.UnaryTree node, Object v)
      Specified by:
      visitUnary in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitAssert

      public String visitAssert(com.sun.source.tree.AssertTree node, Object v)
      Specified by:
      visitAssert in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitForLoop

      public String visitForLoop(com.sun.source.tree.ForLoopTree node, Object v)
      Specified by:
      visitForLoop in interface com.sun.source.tree.TreeVisitor<String,Object>
    • maybeTranfromToGosuFor

      private String maybeTranfromToGosuFor(com.sun.source.tree.ForLoopTree node, Object v)
    • visitConditionalExpression

      public String visitConditionalExpression(com.sun.source.tree.ConditionalExpressionTree node, Object v)
      Specified by:
      visitConditionalExpression in interface com.sun.source.tree.TreeVisitor<String,Object>
    • isMethodInvocationPropertyAssignment

      private boolean isMethodInvocationPropertyAssignment(com.sun.source.tree.MethodInvocationTree node, Object v)
    • visitMethodInvocation

      public String visitMethodInvocation(com.sun.source.tree.MethodInvocationTree node, Object v)
      Specified by:
      visitMethodInvocation in interface com.sun.source.tree.TreeVisitor<String,Object>
    • getPropertyName

      private String getPropertyName(String methodName, int argCount)
    • visitNewClass

      public String visitNewClass(com.sun.source.tree.NewClassTree node, Object v)
      Specified by:
      visitNewClass in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitLambdaExpression

      public String visitLambdaExpression(com.sun.source.tree.LambdaExpressionTree node, Object v)
      Specified by:
      visitLambdaExpression in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitPackage

      public String visitPackage(com.sun.source.tree.PackageTree node, Object o)
      Specified by:
      visitPackage in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitPrimitiveType

      public String visitPrimitiveType(com.sun.source.tree.PrimitiveTypeTree node, Object v)
      Specified by:
      visitPrimitiveType in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitMethod

      public String visitMethod(com.sun.source.tree.MethodTree node, Object v)
      Specified by:
      visitMethod in interface com.sun.source.tree.TreeVisitor<String,Object>
    • replaceTypes

      private void replaceTypes(StringBuilder out, HashMap<String,String> types)
    • computeConstructorTypes

      private HashMap<String,String> computeConstructorTypes(List<? extends com.sun.source.tree.TypeParameterTree> typeParameters)
    • visitModifiers

      public String visitModifiers(com.sun.source.tree.ModifiersTree node, Object defaultModifier)
      Specified by:
      visitModifiers in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitTypeParameter

      public String visitTypeParameter(com.sun.source.tree.TypeParameterTree node, Object v)
      Specified by:
      visitTypeParameter in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitIdentifier

      public String visitIdentifier(com.sun.source.tree.IdentifierTree node, Object v)
      Specified by:
      visitIdentifier in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitLiteral

      public String visitLiteral(com.sun.source.tree.LiteralTree node, Object v)
      Specified by:
      visitLiteral in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitTypeCast

      public String visitTypeCast(com.sun.source.tree.TypeCastTree node, Object v)
      Specified by:
      visitTypeCast in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitAssignment

      public String visitAssignment(com.sun.source.tree.AssignmentTree node, Object v)
      Specified by:
      visitAssignment in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitCompoundAssignment

      public String visitCompoundAssignment(com.sun.source.tree.CompoundAssignmentTree node, Object v)
      Specified by:
      visitCompoundAssignment in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitAnnotatedType

      public String visitAnnotatedType(com.sun.source.tree.AnnotatedTypeTree node, Object v)
      Specified by:
      visitAnnotatedType in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitAnnotation

      public String visitAnnotation(com.sun.source.tree.AnnotationTree node, Object v)
      Specified by:
      visitAnnotation in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitUnionType

      public String visitUnionType(com.sun.source.tree.UnionTypeTree node, Object v)
      Specified by:
      visitUnionType in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitIntersectionType

      public String visitIntersectionType(com.sun.source.tree.IntersectionTypeTree node, Object v)
      Specified by:
      visitIntersectionType in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitBindingPattern

      public String visitBindingPattern(com.sun.source.tree.BindingPatternTree node, Object o)
      Specified by:
      visitBindingPattern in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitDefaultCaseLabel

      public String visitDefaultCaseLabel(com.sun.source.tree.DefaultCaseLabelTreePREVIEW node, Object o)
      Specified by:
      visitDefaultCaseLabel in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitGuardedPattern

      public String visitGuardedPattern(com.sun.source.tree.GuardedPatternTreePREVIEW node, Object o)
      Specified by:
      visitGuardedPattern in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitParenthesizedPattern

      public String visitParenthesizedPattern(com.sun.source.tree.ParenthesizedPatternTreePREVIEW node, Object o)
      Specified by:
      visitParenthesizedPattern in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitSwitchExpression

      public String visitSwitchExpression(com.sun.source.tree.SwitchExpressionTree node, Object o)
      Specified by:
      visitSwitchExpression in interface com.sun.source.tree.TreeVisitor<String,Object>
    • visitYield

      public String visitYield(com.sun.source.tree.YieldTree node, Object o)
      Specified by:
      visitYield in interface com.sun.source.tree.TreeVisitor<String,Object>
    • pushIndent

      private void pushIndent()
    • popIndent

      private void popIndent()
    • appendIndent

      private void appendIndent(StringBuilder out)
    • appendAsComment

      private void appendAsComment(StringBuilder out, String code)
    • appendAsInlineComment

      private void appendAsInlineComment(StringBuilder out, String code)
    • genTabSpaces

      private String genTabSpaces(int x)
    • operatorName

      private String operatorName(com.sun.tools.javac.tree.JCTree.Tag tag)