Class JavaOutputVisitor
- java.lang.Object
-
- com.strobel.decompiler.languages.java.JavaOutputVisitor
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>
public final class JavaOutputVisitor extends java.lang.Object implements IAstVisitor<java.lang.Void,java.lang.Void>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
JavaOutputVisitor.LastWritten
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.Stack<AstNode>
containerStack
private TypeDefinition
currentType
(package private) TextOutputFormatter
formatter
private static java.lang.String[]
KEYWORDS
private JavaOutputVisitor.LastWritten
lastWritten
private static int
MAX_SWITCH_EXPRESSION_ARM_VALUES_LENGTH
(package private) ITextOutput
output
(package private) JavaFormattingOptions
policy
(package private) java.util.Stack<AstNode>
positionStack
(package private) DecompilerSettings
settings
-
Constructor Summary
Constructors Constructor Description JavaOutputVisitor(ITextOutput output, DecompilerSettings settings)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
canWriteTextBlock(java.lang.String s)
(package private) void
closeBrace(BraceStyle style)
(package private) void
comma(AstNode nextNode)
(package private) void
comma(AstNode nextNode, boolean noSpaceAfterComma)
static java.lang.String
convertCharacter(char ch)
private static int
countLines(java.lang.String s, int stopAfter)
private static int
countLines(java.lang.String s, int from, int end, int stopAfter)
private CompilerTarget
currentCompilerTarget()
(package private) void
endNode(AstNode node)
static java.lang.String
escapeUnicode(java.lang.String s)
java.util.List<LineNumberPosition>
getLineNumberPositions()
private boolean
isBitwiseContext(AstNode parent, AstNode node)
static boolean
isKeyword(java.lang.String identifier)
static boolean
isKeyword(java.lang.String identifier, AstNode context)
private static boolean
lambdaNeedsParenthesis(LambdaExpression lambda)
(package private) void
leftParenthesis()
(package private) void
newLine()
(package private) void
openBrace(BraceStyle style)
(package private) void
optionalComma()
private void
optionalSemicolon()
(package private) void
rightParenthesis()
(package private) void
semicolon()
(package private) void
space()
(package private) void
space(boolean addSpace)
(package private) void
startNode(AstNode node)
java.lang.Void
visitAnnotation(Annotation node, java.lang.Void ignored)
java.lang.Void
visitAnonymousObjectCreationExpression(AnonymousObjectCreationExpression node, java.lang.Void ignored)
private void
visitAnyNode(AnyNode anyNode)
java.lang.Void
visitArrayCreationExpression(ArrayCreationExpression node, java.lang.Void ignored)
java.lang.Void
visitArrayInitializerExpression(ArrayInitializerExpression node, java.lang.Void ignored)
java.lang.Void
visitArraySpecifier(ArraySpecifier node, java.lang.Void ignored)
java.lang.Void
visitAssertStatement(AssertStatement node, java.lang.Void ignored)
java.lang.Void
visitAssignmentExpression(AssignmentExpression node, java.lang.Void ignored)
private void
visitAstTypeMatch(AstTypeMatch repeat)
private void
visitBackReference(BackReference backReference)
java.lang.Void
visitBinaryOperatorExpression(BinaryOperatorExpression node, java.lang.Void ignored)
java.lang.Void
visitBlockStatement(BlockStatement node, java.lang.Void ignored)
java.lang.Void
visitBreakStatement(BreakStatement node, java.lang.Void ignored)
java.lang.Void
visitBytecodeConstant(BytecodeConstant node, java.lang.Void data)
java.lang.Void
visitCaseLabel(CaseLabel node, java.lang.Void ignored)
java.lang.Void
visitCastExpression(CastExpression node, java.lang.Void ignored)
java.lang.Void
visitCatchClause(CatchClause node, java.lang.Void ignored)
private void
visitChoice(Choice choice)
java.lang.Void
visitClassOfExpression(ClassOfExpression node, java.lang.Void ignored)
java.lang.Void
visitComment(Comment comment, java.lang.Void ignored)
java.lang.Void
visitCompilationUnit(CompilationUnit node, java.lang.Void ignored)
java.lang.Void
visitComposedType(ComposedType node, java.lang.Void ignored)
java.lang.Void
visitConditionalExpression(ConditionalExpression node, java.lang.Void ignored)
java.lang.Void
visitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void ignored)
java.lang.Void
visitContinueStatement(ContinueStatement node, java.lang.Void ignored)
java.lang.Void
visitDoWhileStatement(DoWhileStatement node, java.lang.Void ignored)
java.lang.Void
visitEmptyStatement(EmptyStatement node, java.lang.Void ignored)
java.lang.Void
visitEnumValueDeclaration(EnumValueDeclaration node, java.lang.Void ignored)
java.lang.Void
visitExpressionStatement(ExpressionStatement node, java.lang.Void ignored)
java.lang.Void
visitFieldDeclaration(FieldDeclaration node, java.lang.Void ignored)
java.lang.Void
visitForEachStatement(ForEachStatement node, java.lang.Void ignored)
java.lang.Void
visitForStatement(ForStatement node, java.lang.Void ignored)
java.lang.Void
visitGotoStatement(GotoStatement node, java.lang.Void ignored)
java.lang.Void
visitIdentifier(Identifier node, java.lang.Void ignored)
java.lang.Void
visitIdentifierExpression(IdentifierExpression node, java.lang.Void ignored)
private void
visitIdentifierExpressionBackReference(IdentifierBackReference node)
java.lang.Void
visitIfElseStatement(IfElseStatement node, java.lang.Void ignored)
java.lang.Void
visitImportDeclaration(ImportDeclaration node, java.lang.Void ignored)
java.lang.Void
visitIndexerExpression(IndexerExpression node, java.lang.Void ignored)
java.lang.Void
visitInitializerBlock(InstanceInitializer node, java.lang.Void ignored)
java.lang.Void
visitInlinedBytecode(InlinedBytecodeExpression node, java.lang.Void data)
java.lang.Void
visitInstanceOfExpression(InstanceOfExpression node, java.lang.Void ignored)
java.lang.Void
visitIntersectionType(IntersectionType node, java.lang.Void data)
java.lang.Void
visitInvocationExpression(InvocationExpression node, java.lang.Void ignored)
java.lang.Void
visitJavaTokenNode(JavaTokenNode node, java.lang.Void ignored)
java.lang.Void
visitLabeledStatement(LabeledStatement node, java.lang.Void ignored)
java.lang.Void
visitLabelStatement(LabelStatement node, java.lang.Void ignored)
java.lang.Void
visitLambdaExpression(LambdaExpression node, java.lang.Void ignored)
java.lang.Void
visitLocalTypeDeclarationStatement(LocalTypeDeclarationStatement node, java.lang.Void data)
java.lang.Void
visitMemberReferenceExpression(MemberReferenceExpression node, java.lang.Void ignored)
private void
visitMemberReferenceTypeNode(MemberReferenceTypeNode node)
java.lang.Void
visitMethodDeclaration(MethodDeclaration node, java.lang.Void ignored)
java.lang.Void
visitMethodGroupExpression(MethodGroupExpression node, java.lang.Void ignored)
java.lang.Void
visitModuleDeclaration(ModuleDeclaration node, java.lang.Void ignored)
private void
visitNamedNode(NamedNode namedNode)
java.lang.Void
visitNewLine(NewLineNode node, java.lang.Void ignored)
(package private) void
visitNodeInPattern(INode childNode)
java.lang.Void
visitNullReferenceExpression(NullReferenceExpression node, java.lang.Void ignored)
java.lang.Void
visitObjectCreationExpression(ObjectCreationExpression node, java.lang.Void ignored)
private void
visitOptionalNode(OptionalNode optionalNode)
java.lang.Void
visitPackageDeclaration(PackageDeclaration node, java.lang.Void ignored)
java.lang.Void
visitParameterDeclaration(ParameterDeclaration node, java.lang.Void ignored)
private void
visitParameterReferenceNode(ParameterReferenceNode node)
java.lang.Void
visitParenthesizedExpression(ParenthesizedExpression node, java.lang.Void ignored)
java.lang.Void
visitPatternPlaceholder(AstNode node, Pattern pattern, java.lang.Void ignored)
java.lang.Void
visitPrimitiveExpression(PrimitiveExpression node, java.lang.Void ignored)
private void
visitRepeat(Repeat repeat)
java.lang.Void
visitReturnStatement(ReturnStatement node, java.lang.Void ignored)
java.lang.Void
visitSimpleType(SimpleType node, java.lang.Void ignored)
java.lang.Void
visitSuperReferenceExpression(SuperReferenceExpression node, java.lang.Void ignored)
java.lang.Void
visitSwitchExpression(SwitchExpression node, java.lang.Void ignored)
java.lang.Void
visitSwitchExpressionArm(SwitchExpressionArm node, java.lang.Void ignored)
java.lang.Void
visitSwitchSection(SwitchSection node, java.lang.Void ignored)
java.lang.Void
visitSwitchStatement(SwitchStatement node, java.lang.Void ignored)
java.lang.Void
visitSynchronizedStatement(SynchronizedStatement node, java.lang.Void ignored)
java.lang.Void
visitText(TextNode node, java.lang.Void ignored)
java.lang.Void
visitThisReferenceExpression(ThisReferenceExpression node, java.lang.Void ignored)
java.lang.Void
visitThrowStatement(ThrowStatement node, java.lang.Void ignored)
java.lang.Void
visitTryCatchStatement(TryCatchStatement node, java.lang.Void ignored)
java.lang.Void
visitTypeDeclaration(TypeDeclaration node, java.lang.Void ignored)
private void
visitTypedNode(TypedNode node)
java.lang.Void
visitTypeParameterDeclaration(TypeParameterDeclaration node, java.lang.Void ignored)
java.lang.Void
visitTypeReference(TypeReferenceExpression node, java.lang.Void ignored)
java.lang.Void
visitUnaryOperatorExpression(UnaryOperatorExpression node, java.lang.Void ignored)
java.lang.Void
visitUnionType(UnionType node, java.lang.Void data)
java.lang.Void
visitVariableDeclaration(VariableDeclarationStatement node, java.lang.Void ignored)
java.lang.Void
visitVariableInitializer(VariableInitializer node, java.lang.Void ignored)
java.lang.Void
visitWhileStatement(WhileStatement node, java.lang.Void ignored)
java.lang.Void
visitWildcardType(WildcardType node, java.lang.Void ignored)
(package private) void
writeAnnotations(java.lang.Iterable<Annotation> annotations, boolean newLineAfter)
private void
writeCommaSeparatedList(java.lang.Iterable<? extends AstNode> list)
private void
writeCommaSeparatedListInParenthesis(java.lang.Iterable<? extends AstNode> list, boolean spaceWithin)
(package private) void
writeEmbeddedStatement(Statement embeddedStatement)
(package private) void
writeIdentifier(Identifier identifier, java.lang.String text)
(package private) boolean
writeIdentifier(java.lang.String identifier)
(package private) boolean
writeIdentifier(java.lang.String identifier, Role<Identifier> identifierRole)
private void
writeInitializerElements(AstNodeCollection<Expression> elements)
(package private) void
writeKeyword(TokenRole tokenRole)
(package private) void
writeKeyword(java.lang.String token)
(package private) void
writeKeyword(java.lang.String token, Role<?> tokenRole)
private void
writeMembers(AstNodeCollection<EntityDeclaration> members)
(package private) void
writeMethodBody(AstNodeCollection<TypeDeclaration> declaredTypes, BlockStatement body)
private void
writeModifiers(java.lang.Iterable<JavaModifierToken> modifierTokens)
private void
writePipeSeparatedList(java.lang.Iterable<? extends AstNode> list)
(package private) void
writePrimitiveValue(java.lang.Object val)
(package private) void
writePrivateImplementationType(AstType privateImplementationType)
private void
writeQualifiedIdentifier(java.lang.Iterable<Identifier> identifiers)
private void
writeSpecials(AstNode start, AstNode end)
private void
writeSpecialsUpToNode(AstNode node)
private void
writeSpecialsUpToRole(Role<?> role)
private void
writeSpecialsUpToRole(Role<?> role, AstNode nextNode)
private void
writeSwitchSectionStatements(AstNodeCollection<Statement> statements, boolean forceBraces)
(package private) void
writeToken(TokenRole tokenRole)
(package private) void
writeToken(java.lang.String token, Role<?> role)
private void
writeTypeArguments(java.lang.Iterable<AstType> typeArguments)
void
writeTypeParameters(java.lang.Iterable<TypeParameterDeclaration> typeParameters)
private java.lang.Void
writeVariableDeclaration(VariableDeclarationStatement node, boolean semicolon)
-
-
-
Field Detail
-
MAX_SWITCH_EXPRESSION_ARM_VALUES_LENGTH
private static final int MAX_SWITCH_EXPRESSION_ARM_VALUES_LENGTH
- See Also:
- Constant Field Values
-
formatter
final TextOutputFormatter formatter
-
settings
final DecompilerSettings settings
-
policy
final JavaFormattingOptions policy
-
containerStack
final java.util.Stack<AstNode> containerStack
-
positionStack
final java.util.Stack<AstNode> positionStack
-
output
final ITextOutput output
-
currentType
private TypeDefinition currentType
-
lastWritten
private JavaOutputVisitor.LastWritten lastWritten
-
KEYWORDS
private static final java.lang.String[] KEYWORDS
-
-
Constructor Detail
-
JavaOutputVisitor
public JavaOutputVisitor(ITextOutput output, DecompilerSettings settings)
-
-
Method Detail
-
getLineNumberPositions
public java.util.List<LineNumberPosition> getLineNumberPositions()
-
startNode
void startNode(AstNode node)
-
endNode
void endNode(AstNode node)
-
writeSpecialsUpToRole
private void writeSpecialsUpToRole(Role<?> role)
-
writeSpecialsUpToNode
private void writeSpecialsUpToNode(AstNode node)
-
leftParenthesis
void leftParenthesis()
-
rightParenthesis
void rightParenthesis()
-
space
void space()
-
space
void space(boolean addSpace)
-
newLine
void newLine()
-
openBrace
void openBrace(BraceStyle style)
-
closeBrace
void closeBrace(BraceStyle style)
-
writeIdentifier
void writeIdentifier(Identifier identifier, java.lang.String text)
-
writeIdentifier
boolean writeIdentifier(java.lang.String identifier)
-
writeIdentifier
boolean writeIdentifier(java.lang.String identifier, Role<Identifier> identifierRole)
-
writeToken
void writeToken(TokenRole tokenRole)
-
writeToken
void writeToken(java.lang.String token, Role<?> role)
-
comma
void comma(AstNode nextNode)
-
comma
void comma(AstNode nextNode, boolean noSpaceAfterComma)
-
optionalComma
void optionalComma()
-
semicolon
void semicolon()
-
optionalSemicolon
private void optionalSemicolon()
-
writeCommaSeparatedList
private void writeCommaSeparatedList(java.lang.Iterable<? extends AstNode> list)
-
writePipeSeparatedList
private void writePipeSeparatedList(java.lang.Iterable<? extends AstNode> list)
-
writeCommaSeparatedListInParenthesis
private void writeCommaSeparatedListInParenthesis(java.lang.Iterable<? extends AstNode> list, boolean spaceWithin)
-
writeTypeArguments
private void writeTypeArguments(java.lang.Iterable<AstType> typeArguments)
-
writeTypeParameters
public void writeTypeParameters(java.lang.Iterable<TypeParameterDeclaration> typeParameters)
-
writeModifiers
private void writeModifiers(java.lang.Iterable<JavaModifierToken> modifierTokens)
-
writeQualifiedIdentifier
private void writeQualifiedIdentifier(java.lang.Iterable<Identifier> identifiers)
-
writeEmbeddedStatement
void writeEmbeddedStatement(Statement embeddedStatement)
-
writeMethodBody
void writeMethodBody(AstNodeCollection<TypeDeclaration> declaredTypes, BlockStatement body)
-
writeAnnotations
void writeAnnotations(java.lang.Iterable<Annotation> annotations, boolean newLineAfter)
-
writePrivateImplementationType
void writePrivateImplementationType(AstType privateImplementationType)
-
writeKeyword
void writeKeyword(TokenRole tokenRole)
-
writeKeyword
void writeKeyword(java.lang.String token)
-
writeKeyword
void writeKeyword(java.lang.String token, Role<?> tokenRole)
-
visitNodeInPattern
void visitNodeInPattern(INode childNode)
-
visitTypedNode
private void visitTypedNode(TypedNode node)
-
visitParameterReferenceNode
private void visitParameterReferenceNode(ParameterReferenceNode node)
-
visitIdentifierExpressionBackReference
private void visitIdentifierExpressionBackReference(IdentifierBackReference node)
-
visitChoice
private void visitChoice(Choice choice)
-
visitMemberReferenceTypeNode
private void visitMemberReferenceTypeNode(MemberReferenceTypeNode node)
-
visitAnyNode
private void visitAnyNode(AnyNode anyNode)
-
visitBackReference
private void visitBackReference(BackReference backReference)
-
visitNamedNode
private void visitNamedNode(NamedNode namedNode)
-
visitOptionalNode
private void visitOptionalNode(OptionalNode optionalNode)
-
visitRepeat
private void visitRepeat(Repeat repeat)
-
visitAstTypeMatch
private void visitAstTypeMatch(AstTypeMatch repeat)
-
visitComment
public java.lang.Void visitComment(Comment comment, java.lang.Void ignored)
- Specified by:
visitComment
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitPatternPlaceholder
public java.lang.Void visitPatternPlaceholder(AstNode node, Pattern pattern, java.lang.Void ignored)
- Specified by:
visitPatternPlaceholder
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitInvocationExpression
public java.lang.Void visitInvocationExpression(InvocationExpression node, java.lang.Void ignored)
- Specified by:
visitInvocationExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitTypeReference
public java.lang.Void visitTypeReference(TypeReferenceExpression node, java.lang.Void ignored)
- Specified by:
visitTypeReference
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitJavaTokenNode
public java.lang.Void visitJavaTokenNode(JavaTokenNode node, java.lang.Void ignored)
- Specified by:
visitJavaTokenNode
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitMemberReferenceExpression
public java.lang.Void visitMemberReferenceExpression(MemberReferenceExpression node, java.lang.Void ignored)
- Specified by:
visitMemberReferenceExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitIdentifier
public java.lang.Void visitIdentifier(Identifier node, java.lang.Void ignored)
- Specified by:
visitIdentifier
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitNullReferenceExpression
public java.lang.Void visitNullReferenceExpression(NullReferenceExpression node, java.lang.Void ignored)
- Specified by:
visitNullReferenceExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitThisReferenceExpression
public java.lang.Void visitThisReferenceExpression(ThisReferenceExpression node, java.lang.Void ignored)
- Specified by:
visitThisReferenceExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitSuperReferenceExpression
public java.lang.Void visitSuperReferenceExpression(SuperReferenceExpression node, java.lang.Void ignored)
- Specified by:
visitSuperReferenceExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitClassOfExpression
public java.lang.Void visitClassOfExpression(ClassOfExpression node, java.lang.Void ignored)
- Specified by:
visitClassOfExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitBlockStatement
public java.lang.Void visitBlockStatement(BlockStatement node, java.lang.Void ignored)
- Specified by:
visitBlockStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitExpressionStatement
public java.lang.Void visitExpressionStatement(ExpressionStatement node, java.lang.Void ignored)
- Specified by:
visitExpressionStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitBreakStatement
public java.lang.Void visitBreakStatement(BreakStatement node, java.lang.Void ignored)
- Specified by:
visitBreakStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitContinueStatement
public java.lang.Void visitContinueStatement(ContinueStatement node, java.lang.Void ignored)
- Specified by:
visitContinueStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitDoWhileStatement
public java.lang.Void visitDoWhileStatement(DoWhileStatement node, java.lang.Void ignored)
- Specified by:
visitDoWhileStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitEmptyStatement
public java.lang.Void visitEmptyStatement(EmptyStatement node, java.lang.Void ignored)
- Specified by:
visitEmptyStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitIfElseStatement
public java.lang.Void visitIfElseStatement(IfElseStatement node, java.lang.Void ignored)
- Specified by:
visitIfElseStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitLabelStatement
public java.lang.Void visitLabelStatement(LabelStatement node, java.lang.Void ignored)
- Specified by:
visitLabelStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitLabeledStatement
public java.lang.Void visitLabeledStatement(LabeledStatement node, java.lang.Void ignored)
- Specified by:
visitLabeledStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitReturnStatement
public java.lang.Void visitReturnStatement(ReturnStatement node, java.lang.Void ignored)
- Specified by:
visitReturnStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitSwitchStatement
public java.lang.Void visitSwitchStatement(SwitchStatement node, java.lang.Void ignored)
- Specified by:
visitSwitchStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitSwitchSection
public java.lang.Void visitSwitchSection(SwitchSection node, java.lang.Void ignored)
- Specified by:
visitSwitchSection
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitSwitchExpression
public java.lang.Void visitSwitchExpression(SwitchExpression node, java.lang.Void ignored)
- Specified by:
visitSwitchExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitSwitchExpressionArm
public java.lang.Void visitSwitchExpressionArm(SwitchExpressionArm node, java.lang.Void ignored)
- Specified by:
visitSwitchExpressionArm
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
writeSwitchSectionStatements
private void writeSwitchSectionStatements(AstNodeCollection<Statement> statements, boolean forceBraces)
-
visitCaseLabel
public java.lang.Void visitCaseLabel(CaseLabel node, java.lang.Void ignored)
- Specified by:
visitCaseLabel
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitThrowStatement
public java.lang.Void visitThrowStatement(ThrowStatement node, java.lang.Void ignored)
- Specified by:
visitThrowStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitCatchClause
public java.lang.Void visitCatchClause(CatchClause node, java.lang.Void ignored)
- Specified by:
visitCatchClause
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitAnnotation
public java.lang.Void visitAnnotation(Annotation node, java.lang.Void ignored)
- Specified by:
visitAnnotation
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitNewLine
public java.lang.Void visitNewLine(NewLineNode node, java.lang.Void ignored)
- Specified by:
visitNewLine
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitVariableDeclaration
public java.lang.Void visitVariableDeclaration(VariableDeclarationStatement node, java.lang.Void ignored)
- Specified by:
visitVariableDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
writeVariableDeclaration
private java.lang.Void writeVariableDeclaration(VariableDeclarationStatement node, boolean semicolon)
-
visitVariableInitializer
public java.lang.Void visitVariableInitializer(VariableInitializer node, java.lang.Void ignored)
- Specified by:
visitVariableInitializer
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitText
public java.lang.Void visitText(TextNode node, java.lang.Void ignored)
- Specified by:
visitText
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitImportDeclaration
public java.lang.Void visitImportDeclaration(ImportDeclaration node, java.lang.Void ignored)
- Specified by:
visitImportDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitSimpleType
public java.lang.Void visitSimpleType(SimpleType node, java.lang.Void ignored)
- Specified by:
visitSimpleType
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitMethodDeclaration
public java.lang.Void visitMethodDeclaration(MethodDeclaration node, java.lang.Void ignored)
- Specified by:
visitMethodDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitInitializerBlock
public java.lang.Void visitInitializerBlock(InstanceInitializer node, java.lang.Void ignored)
- Specified by:
visitInitializerBlock
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitConstructorDeclaration
public java.lang.Void visitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void ignored)
- Specified by:
visitConstructorDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitTypeParameterDeclaration
public java.lang.Void visitTypeParameterDeclaration(TypeParameterDeclaration node, java.lang.Void ignored)
- Specified by:
visitTypeParameterDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitParameterDeclaration
public java.lang.Void visitParameterDeclaration(ParameterDeclaration node, java.lang.Void ignored)
- Specified by:
visitParameterDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitFieldDeclaration
public java.lang.Void visitFieldDeclaration(FieldDeclaration node, java.lang.Void ignored)
- Specified by:
visitFieldDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitLocalTypeDeclarationStatement
public java.lang.Void visitLocalTypeDeclarationStatement(LocalTypeDeclarationStatement node, java.lang.Void data)
- Specified by:
visitLocalTypeDeclarationStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitInlinedBytecode
public java.lang.Void visitInlinedBytecode(InlinedBytecodeExpression node, java.lang.Void data)
- Specified by:
visitInlinedBytecode
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitBytecodeConstant
public java.lang.Void visitBytecodeConstant(BytecodeConstant node, java.lang.Void data)
- Specified by:
visitBytecodeConstant
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitTypeDeclaration
public java.lang.Void visitTypeDeclaration(TypeDeclaration node, java.lang.Void ignored)
- Specified by:
visitTypeDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
writeMembers
private void writeMembers(AstNodeCollection<EntityDeclaration> members)
-
visitModuleDeclaration
public java.lang.Void visitModuleDeclaration(ModuleDeclaration node, java.lang.Void ignored)
- Specified by:
visitModuleDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitCompilationUnit
public java.lang.Void visitCompilationUnit(CompilationUnit node, java.lang.Void ignored)
- Specified by:
visitCompilationUnit
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitPackageDeclaration
public java.lang.Void visitPackageDeclaration(PackageDeclaration node, java.lang.Void ignored)
- Specified by:
visitPackageDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitArraySpecifier
public java.lang.Void visitArraySpecifier(ArraySpecifier node, java.lang.Void ignored)
- Specified by:
visitArraySpecifier
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitComposedType
public java.lang.Void visitComposedType(ComposedType node, java.lang.Void ignored)
- Specified by:
visitComposedType
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitIntersectionType
public java.lang.Void visitIntersectionType(IntersectionType node, java.lang.Void data)
- Specified by:
visitIntersectionType
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitUnionType
public java.lang.Void visitUnionType(UnionType node, java.lang.Void data)
- Specified by:
visitUnionType
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitWhileStatement
public java.lang.Void visitWhileStatement(WhileStatement node, java.lang.Void ignored)
- Specified by:
visitWhileStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitPrimitiveExpression
public java.lang.Void visitPrimitiveExpression(PrimitiveExpression node, java.lang.Void ignored)
- Specified by:
visitPrimitiveExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
writePrimitiveValue
void writePrimitiveValue(java.lang.Object val)
-
currentCompilerTarget
private CompilerTarget currentCompilerTarget()
-
canWriteTextBlock
private boolean canWriteTextBlock(java.lang.String s)
-
countLines
private static int countLines(java.lang.String s, int stopAfter)
-
countLines
private static int countLines(java.lang.String s, int from, int end, int stopAfter)
-
visitCastExpression
public java.lang.Void visitCastExpression(CastExpression node, java.lang.Void ignored)
- Specified by:
visitCastExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitBinaryOperatorExpression
public java.lang.Void visitBinaryOperatorExpression(BinaryOperatorExpression node, java.lang.Void ignored)
- Specified by:
visitBinaryOperatorExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitInstanceOfExpression
public java.lang.Void visitInstanceOfExpression(InstanceOfExpression node, java.lang.Void ignored)
- Specified by:
visitInstanceOfExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitIndexerExpression
public java.lang.Void visitIndexerExpression(IndexerExpression node, java.lang.Void ignored)
- Specified by:
visitIndexerExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitIdentifierExpression
public java.lang.Void visitIdentifierExpression(IdentifierExpression node, java.lang.Void ignored)
- Specified by:
visitIdentifierExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitUnaryOperatorExpression
public java.lang.Void visitUnaryOperatorExpression(UnaryOperatorExpression node, java.lang.Void ignored)
- Specified by:
visitUnaryOperatorExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitConditionalExpression
public java.lang.Void visitConditionalExpression(ConditionalExpression node, java.lang.Void ignored)
- Specified by:
visitConditionalExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitArrayInitializerExpression
public java.lang.Void visitArrayInitializerExpression(ArrayInitializerExpression node, java.lang.Void ignored)
- Specified by:
visitArrayInitializerExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
writeInitializerElements
private void writeInitializerElements(AstNodeCollection<Expression> elements)
-
visitObjectCreationExpression
public java.lang.Void visitObjectCreationExpression(ObjectCreationExpression node, java.lang.Void ignored)
- Specified by:
visitObjectCreationExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitAnonymousObjectCreationExpression
public java.lang.Void visitAnonymousObjectCreationExpression(AnonymousObjectCreationExpression node, java.lang.Void ignored)
- Specified by:
visitAnonymousObjectCreationExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitWildcardType
public java.lang.Void visitWildcardType(WildcardType node, java.lang.Void ignored)
- Specified by:
visitWildcardType
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitMethodGroupExpression
public java.lang.Void visitMethodGroupExpression(MethodGroupExpression node, java.lang.Void ignored)
- Specified by:
visitMethodGroupExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitEnumValueDeclaration
public java.lang.Void visitEnumValueDeclaration(EnumValueDeclaration node, java.lang.Void ignored)
- Specified by:
visitEnumValueDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitAssertStatement
public java.lang.Void visitAssertStatement(AssertStatement node, java.lang.Void ignored)
- Specified by:
visitAssertStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitLambdaExpression
public java.lang.Void visitLambdaExpression(LambdaExpression node, java.lang.Void ignored)
- Specified by:
visitLambdaExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
lambdaNeedsParenthesis
private static boolean lambdaNeedsParenthesis(LambdaExpression lambda)
-
visitArrayCreationExpression
public java.lang.Void visitArrayCreationExpression(ArrayCreationExpression node, java.lang.Void ignored)
- Specified by:
visitArrayCreationExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitAssignmentExpression
public java.lang.Void visitAssignmentExpression(AssignmentExpression node, java.lang.Void ignored)
- Specified by:
visitAssignmentExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitForStatement
public java.lang.Void visitForStatement(ForStatement node, java.lang.Void ignored)
- Specified by:
visitForStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitForEachStatement
public java.lang.Void visitForEachStatement(ForEachStatement node, java.lang.Void ignored)
- Specified by:
visitForEachStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitTryCatchStatement
public java.lang.Void visitTryCatchStatement(TryCatchStatement node, java.lang.Void ignored)
- Specified by:
visitTryCatchStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitGotoStatement
public java.lang.Void visitGotoStatement(GotoStatement node, java.lang.Void ignored)
- Specified by:
visitGotoStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitParenthesizedExpression
public java.lang.Void visitParenthesizedExpression(ParenthesizedExpression node, java.lang.Void ignored)
- Specified by:
visitParenthesizedExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
visitSynchronizedStatement
public java.lang.Void visitSynchronizedStatement(SynchronizedStatement node, java.lang.Void ignored)
- Specified by:
visitSynchronizedStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
-
convertCharacter
public static java.lang.String convertCharacter(char ch)
-
escapeUnicode
public static java.lang.String escapeUnicode(java.lang.String s)
-
isKeyword
public static boolean isKeyword(java.lang.String identifier)
-
isKeyword
public static boolean isKeyword(java.lang.String identifier, AstNode context)
-
-