Class JavaOutputVisitor
java.lang.Object
com.strobel.decompiler.languages.java.JavaOutputVisitor
- All Implemented Interfaces:
IAstVisitor<Void,Void>
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate TypeDefinition(package private) final TextOutputFormatterprivate static final String[]private JavaOutputVisitor.LastWrittenprivate static final int(package private) final ITextOutput(package private) final JavaFormattingOptions(package private) final DecompilerSettings -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean(package private) voidcloseBrace(BraceStyle style) (package private) void(package private) voidstatic StringconvertCharacter(char ch) private static intcountLines(String s, int stopAfter) private static intcountLines(String s, int from, int end, int stopAfter) private CompilerTarget(package private) voidstatic Stringprivate booleanisBitwiseContext(AstNode parent, AstNode node) static booleanstatic booleanprivate static boolean(package private) void(package private) voidnewLine()(package private) voidopenBrace(BraceStyle style) (package private) voidprivate void(package private) void(package private) void(package private) voidspace()(package private) voidspace(boolean addSpace) (package private) voidvisitAnnotation(Annotation node, Void ignored) private voidvisitAnyNode(AnyNode anyNode) visitArrayCreationExpression(ArrayCreationExpression node, Void ignored) visitArrayInitializerExpression(ArrayInitializerExpression node, Void ignored) visitArraySpecifier(ArraySpecifier node, Void ignored) visitAssertStatement(AssertStatement node, Void ignored) visitAssignmentExpression(AssignmentExpression node, Void ignored) private voidvisitAstTypeMatch(AstTypeMatch repeat) private voidvisitBackReference(BackReference backReference) visitBinaryOperatorExpression(BinaryOperatorExpression node, Void ignored) visitBlockStatement(BlockStatement node, Void ignored) visitBreakStatement(BreakStatement node, Void ignored) visitBytecodeConstant(BytecodeConstant node, Void data) visitCaseLabel(CaseLabel node, Void ignored) visitCastExpression(CastExpression node, Void ignored) visitCatchClause(CatchClause node, Void ignored) private voidvisitChoice(Choice choice) visitClassOfExpression(ClassOfExpression node, Void ignored) visitComment(Comment comment, Void ignored) visitCompilationUnit(CompilationUnit node, Void ignored) visitComposedType(ComposedType node, Void ignored) visitConditionalExpression(ConditionalExpression node, Void ignored) visitConstructorDeclaration(ConstructorDeclaration node, Void ignored) visitContinueStatement(ContinueStatement node, Void ignored) visitDoWhileStatement(DoWhileStatement node, Void ignored) visitEmptyStatement(EmptyStatement node, Void ignored) visitEnumValueDeclaration(EnumValueDeclaration node, Void ignored) visitExpressionStatement(ExpressionStatement node, Void ignored) visitFieldDeclaration(FieldDeclaration node, Void ignored) visitForEachStatement(ForEachStatement node, Void ignored) visitForStatement(ForStatement node, Void ignored) visitGotoStatement(GotoStatement node, Void ignored) visitIdentifier(Identifier node, Void ignored) visitIdentifierExpression(IdentifierExpression node, Void ignored) private voidvisitIfElseStatement(IfElseStatement node, Void ignored) visitImportDeclaration(ImportDeclaration node, Void ignored) visitIndexerExpression(IndexerExpression node, Void ignored) visitInitializerBlock(InstanceInitializer node, Void ignored) visitInlinedBytecode(InlinedBytecodeExpression node, Void data) visitInstanceOfExpression(InstanceOfExpression node, Void ignored) visitIntersectionType(IntersectionType node, Void data) visitInvocationExpression(InvocationExpression node, Void ignored) visitJavaTokenNode(JavaTokenNode node, Void ignored) visitLabeledStatement(LabeledStatement node, Void ignored) visitLabelStatement(LabelStatement node, Void ignored) visitLambdaExpression(LambdaExpression node, Void ignored) visitMemberReferenceExpression(MemberReferenceExpression node, Void ignored) private voidvisitMethodDeclaration(MethodDeclaration node, Void ignored) visitMethodGroupExpression(MethodGroupExpression node, Void ignored) visitModuleDeclaration(ModuleDeclaration node, Void ignored) private voidvisitNamedNode(NamedNode namedNode) visitNewLine(NewLineNode node, Void ignored) (package private) voidvisitNodeInPattern(INode childNode) visitNullReferenceExpression(NullReferenceExpression node, Void ignored) visitObjectCreationExpression(ObjectCreationExpression node, Void ignored) private voidvisitOptionalNode(OptionalNode optionalNode) visitPackageDeclaration(PackageDeclaration node, Void ignored) visitParameterDeclaration(ParameterDeclaration node, Void ignored) private voidvisitParenthesizedExpression(ParenthesizedExpression node, Void ignored) visitPatternPlaceholder(AstNode node, Pattern pattern, Void ignored) visitPrimitiveExpression(PrimitiveExpression node, Void ignored) private voidvisitRepeat(Repeat repeat) visitReturnStatement(ReturnStatement node, Void ignored) visitSimpleType(SimpleType node, Void ignored) visitSuperReferenceExpression(SuperReferenceExpression node, Void ignored) visitSwitchExpression(SwitchExpression node, Void ignored) visitSwitchExpressionArm(SwitchExpressionArm node, Void ignored) visitSwitchSection(SwitchSection node, Void ignored) visitSwitchStatement(SwitchStatement node, Void ignored) visitSynchronizedStatement(SynchronizedStatement node, Void ignored) visitThisReferenceExpression(ThisReferenceExpression node, Void ignored) visitThrowStatement(ThrowStatement node, Void ignored) visitTryCatchStatement(TryCatchStatement node, Void ignored) visitTypeDeclaration(TypeDeclaration node, Void ignored) private voidvisitTypedNode(TypedNode node) visitTypeParameterDeclaration(TypeParameterDeclaration node, Void ignored) visitTypeReference(TypeReferenceExpression node, Void ignored) visitUnaryOperatorExpression(UnaryOperatorExpression node, Void ignored) visitUnionType(UnionType node, Void data) visitVariableDeclaration(VariableDeclarationStatement node, Void ignored) visitVariableInitializer(VariableInitializer node, Void ignored) visitWhileStatement(WhileStatement node, Void ignored) visitWildcardType(WildcardType node, Void ignored) (package private) voidwriteAnnotations(Iterable<Annotation> annotations, boolean newLineAfter) private voidwriteCommaSeparatedList(Iterable<? extends AstNode> list) private voidwriteCommaSeparatedListInParenthesis(Iterable<? extends AstNode> list, boolean spaceWithin) (package private) voidwriteEmbeddedStatement(Statement embeddedStatement) (package private) voidwriteIdentifier(Identifier identifier, String text) (package private) booleanwriteIdentifier(String identifier) (package private) booleanwriteIdentifier(String identifier, Role<Identifier> identifierRole) private voidwriteInitializerElements(AstNodeCollection<Expression> elements) (package private) voidwriteKeyword(TokenRole tokenRole) (package private) voidwriteKeyword(String token) (package private) voidwriteKeyword(String token, Role<?> tokenRole) private voidwriteMembers(AstNodeCollection<EntityDeclaration> members) (package private) voidwriteMethodBody(AstNodeCollection<TypeDeclaration> declaredTypes, BlockStatement body) private voidwriteModifiers(Iterable<JavaModifierToken> modifierTokens) private voidwritePipeSeparatedList(Iterable<? extends AstNode> list) (package private) void(package private) voidwritePrivateImplementationType(AstType privateImplementationType) private voidwriteQualifiedIdentifier(Iterable<Identifier> identifiers) private voidwriteSpecials(AstNode start, AstNode end) private voidwriteSpecialsUpToNode(AstNode node) private voidwriteSpecialsUpToRole(Role<?> role) private voidwriteSpecialsUpToRole(Role<?> role, AstNode nextNode) private voidwriteSwitchSectionStatements(AstNodeCollection<Statement> statements, boolean forceBraces) (package private) voidwriteToken(TokenRole tokenRole) (package private) voidwriteToken(String token, Role<?> role) private voidwriteTypeArguments(Iterable<AstType> typeArguments) voidwriteTypeParameters(Iterable<TypeParameterDeclaration> typeParameters) private VoidwriteVariableDeclaration(VariableDeclarationStatement node, boolean semicolon)
-
Field Details
-
MAX_SWITCH_EXPRESSION_ARM_VALUES_LENGTH
private static final int MAX_SWITCH_EXPRESSION_ARM_VALUES_LENGTH- See Also:
-
formatter
-
settings
-
policy
-
containerStack
-
positionStack
-
output
-
currentType
-
lastWritten
-
KEYWORDS
-
-
Constructor Details
-
JavaOutputVisitor
-
-
Method Details
-
getLineNumberPositions
-
startNode
-
endNode
-
writeSpecials
-
writeSpecialsUpToRole
-
writeSpecialsUpToRole
-
writeSpecialsUpToNode
-
leftParenthesis
void leftParenthesis() -
rightParenthesis
void rightParenthesis() -
space
void space() -
space
void space(boolean addSpace) -
newLine
void newLine() -
openBrace
-
closeBrace
-
writeIdentifier
-
writeIdentifier
-
writeIdentifier
-
writeToken
-
writeToken
-
comma
-
comma
-
optionalComma
void optionalComma() -
semicolon
void semicolon() -
optionalSemicolon
private void optionalSemicolon() -
writeCommaSeparatedList
-
writePipeSeparatedList
-
writeCommaSeparatedListInParenthesis
-
writeTypeArguments
-
writeTypeParameters
-
writeModifiers
-
writeQualifiedIdentifier
-
writeEmbeddedStatement
-
writeMethodBody
-
writeAnnotations
-
writePrivateImplementationType
-
writeKeyword
-
writeKeyword
-
writeKeyword
-
visitNodeInPattern
-
visitTypedNode
-
visitParameterReferenceNode
-
visitIdentifierExpressionBackReference
-
visitChoice
-
visitMemberReferenceTypeNode
-
visitAnyNode
-
visitBackReference
-
visitNamedNode
-
visitOptionalNode
-
visitRepeat
-
visitAstTypeMatch
-
visitComment
- Specified by:
visitCommentin interfaceIAstVisitor<Void,Void>
-
visitPatternPlaceholder
- Specified by:
visitPatternPlaceholderin interfaceIAstVisitor<Void,Void>
-
visitInvocationExpression
- Specified by:
visitInvocationExpressionin interfaceIAstVisitor<Void,Void>
-
visitTypeReference
- Specified by:
visitTypeReferencein interfaceIAstVisitor<Void,Void>
-
visitJavaTokenNode
- Specified by:
visitJavaTokenNodein interfaceIAstVisitor<Void,Void>
-
visitMemberReferenceExpression
- Specified by:
visitMemberReferenceExpressionin interfaceIAstVisitor<Void,Void>
-
visitIdentifier
- Specified by:
visitIdentifierin interfaceIAstVisitor<Void,Void>
-
visitNullReferenceExpression
- Specified by:
visitNullReferenceExpressionin interfaceIAstVisitor<Void,Void>
-
visitThisReferenceExpression
- Specified by:
visitThisReferenceExpressionin interfaceIAstVisitor<Void,Void>
-
visitSuperReferenceExpression
- Specified by:
visitSuperReferenceExpressionin interfaceIAstVisitor<Void,Void>
-
visitClassOfExpression
- Specified by:
visitClassOfExpressionin interfaceIAstVisitor<Void,Void>
-
visitBlockStatement
- Specified by:
visitBlockStatementin interfaceIAstVisitor<Void,Void>
-
visitExpressionStatement
- Specified by:
visitExpressionStatementin interfaceIAstVisitor<Void,Void>
-
visitBreakStatement
- Specified by:
visitBreakStatementin interfaceIAstVisitor<Void,Void>
-
visitContinueStatement
- Specified by:
visitContinueStatementin interfaceIAstVisitor<Void,Void>
-
visitDoWhileStatement
- Specified by:
visitDoWhileStatementin interfaceIAstVisitor<Void,Void>
-
visitEmptyStatement
- Specified by:
visitEmptyStatementin interfaceIAstVisitor<Void,Void>
-
visitIfElseStatement
- Specified by:
visitIfElseStatementin interfaceIAstVisitor<Void,Void>
-
visitLabelStatement
- Specified by:
visitLabelStatementin interfaceIAstVisitor<Void,Void>
-
visitLabeledStatement
- Specified by:
visitLabeledStatementin interfaceIAstVisitor<Void,Void>
-
visitReturnStatement
- Specified by:
visitReturnStatementin interfaceIAstVisitor<Void,Void>
-
visitSwitchStatement
- Specified by:
visitSwitchStatementin interfaceIAstVisitor<Void,Void>
-
visitSwitchSection
- Specified by:
visitSwitchSectionin interfaceIAstVisitor<Void,Void>
-
visitSwitchExpression
- Specified by:
visitSwitchExpressionin interfaceIAstVisitor<Void,Void>
-
visitSwitchExpressionArm
- Specified by:
visitSwitchExpressionArmin interfaceIAstVisitor<Void,Void>
-
writeSwitchSectionStatements
private void writeSwitchSectionStatements(AstNodeCollection<Statement> statements, boolean forceBraces) -
visitCaseLabel
- Specified by:
visitCaseLabelin interfaceIAstVisitor<Void,Void>
-
visitThrowStatement
- Specified by:
visitThrowStatementin interfaceIAstVisitor<Void,Void>
-
visitCatchClause
- Specified by:
visitCatchClausein interfaceIAstVisitor<Void,Void>
-
visitAnnotation
- Specified by:
visitAnnotationin interfaceIAstVisitor<Void,Void>
-
visitNewLine
- Specified by:
visitNewLinein interfaceIAstVisitor<Void,Void>
-
visitVariableDeclaration
- Specified by:
visitVariableDeclarationin interfaceIAstVisitor<Void,Void>
-
writeVariableDeclaration
-
visitVariableInitializer
- Specified by:
visitVariableInitializerin interfaceIAstVisitor<Void,Void>
-
visitText
-
visitImportDeclaration
- Specified by:
visitImportDeclarationin interfaceIAstVisitor<Void,Void>
-
visitSimpleType
- Specified by:
visitSimpleTypein interfaceIAstVisitor<Void,Void>
-
visitMethodDeclaration
- Specified by:
visitMethodDeclarationin interfaceIAstVisitor<Void,Void>
-
visitInitializerBlock
- Specified by:
visitInitializerBlockin interfaceIAstVisitor<Void,Void>
-
visitConstructorDeclaration
- Specified by:
visitConstructorDeclarationin interfaceIAstVisitor<Void,Void>
-
visitTypeParameterDeclaration
- Specified by:
visitTypeParameterDeclarationin interfaceIAstVisitor<Void,Void>
-
visitParameterDeclaration
- Specified by:
visitParameterDeclarationin interfaceIAstVisitor<Void,Void>
-
visitFieldDeclaration
- Specified by:
visitFieldDeclarationin interfaceIAstVisitor<Void,Void>
-
visitLocalTypeDeclarationStatement
- Specified by:
visitLocalTypeDeclarationStatementin interfaceIAstVisitor<Void,Void>
-
visitInlinedBytecode
- Specified by:
visitInlinedBytecodein interfaceIAstVisitor<Void,Void>
-
visitBytecodeConstant
- Specified by:
visitBytecodeConstantin interfaceIAstVisitor<Void,Void>
-
visitTypeDeclaration
- Specified by:
visitTypeDeclarationin interfaceIAstVisitor<Void,Void>
-
writeMembers
-
visitModuleDeclaration
- Specified by:
visitModuleDeclarationin interfaceIAstVisitor<Void,Void>
-
visitCompilationUnit
- Specified by:
visitCompilationUnitin interfaceIAstVisitor<Void,Void>
-
visitPackageDeclaration
- Specified by:
visitPackageDeclarationin interfaceIAstVisitor<Void,Void>
-
visitArraySpecifier
- Specified by:
visitArraySpecifierin interfaceIAstVisitor<Void,Void>
-
visitComposedType
- Specified by:
visitComposedTypein interfaceIAstVisitor<Void,Void>
-
visitIntersectionType
- Specified by:
visitIntersectionTypein interfaceIAstVisitor<Void,Void>
-
visitUnionType
- Specified by:
visitUnionTypein interfaceIAstVisitor<Void,Void>
-
visitWhileStatement
- Specified by:
visitWhileStatementin interfaceIAstVisitor<Void,Void>
-
visitPrimitiveExpression
- Specified by:
visitPrimitiveExpressionin interfaceIAstVisitor<Void,Void>
-
isBitwiseContext
-
writePrimitiveValue
-
currentCompilerTarget
-
canWriteTextBlock
-
countLines
-
countLines
-
visitCastExpression
- Specified by:
visitCastExpressionin interfaceIAstVisitor<Void,Void>
-
visitBinaryOperatorExpression
- Specified by:
visitBinaryOperatorExpressionin interfaceIAstVisitor<Void,Void>
-
visitInstanceOfExpression
- Specified by:
visitInstanceOfExpressionin interfaceIAstVisitor<Void,Void>
-
visitIndexerExpression
- Specified by:
visitIndexerExpressionin interfaceIAstVisitor<Void,Void>
-
visitIdentifierExpression
- Specified by:
visitIdentifierExpressionin interfaceIAstVisitor<Void,Void>
-
visitUnaryOperatorExpression
- Specified by:
visitUnaryOperatorExpressionin interfaceIAstVisitor<Void,Void>
-
visitConditionalExpression
- Specified by:
visitConditionalExpressionin interfaceIAstVisitor<Void,Void>
-
visitArrayInitializerExpression
- Specified by:
visitArrayInitializerExpressionin interfaceIAstVisitor<Void,Void>
-
writeInitializerElements
-
visitObjectCreationExpression
- Specified by:
visitObjectCreationExpressionin interfaceIAstVisitor<Void,Void>
-
visitAnonymousObjectCreationExpression
public Void visitAnonymousObjectCreationExpression(AnonymousObjectCreationExpression node, Void ignored) - Specified by:
visitAnonymousObjectCreationExpressionin interfaceIAstVisitor<Void,Void>
-
visitWildcardType
- Specified by:
visitWildcardTypein interfaceIAstVisitor<Void,Void>
-
visitMethodGroupExpression
- Specified by:
visitMethodGroupExpressionin interfaceIAstVisitor<Void,Void>
-
visitEnumValueDeclaration
- Specified by:
visitEnumValueDeclarationin interfaceIAstVisitor<Void,Void>
-
visitAssertStatement
- Specified by:
visitAssertStatementin interfaceIAstVisitor<Void,Void>
-
visitLambdaExpression
- Specified by:
visitLambdaExpressionin interfaceIAstVisitor<Void,Void>
-
lambdaNeedsParenthesis
-
visitArrayCreationExpression
- Specified by:
visitArrayCreationExpressionin interfaceIAstVisitor<Void,Void>
-
visitAssignmentExpression
- Specified by:
visitAssignmentExpressionin interfaceIAstVisitor<Void,Void>
-
visitForStatement
- Specified by:
visitForStatementin interfaceIAstVisitor<Void,Void>
-
visitForEachStatement
- Specified by:
visitForEachStatementin interfaceIAstVisitor<Void,Void>
-
visitTryCatchStatement
- Specified by:
visitTryCatchStatementin interfaceIAstVisitor<Void,Void>
-
visitGotoStatement
- Specified by:
visitGotoStatementin interfaceIAstVisitor<Void,Void>
-
visitParenthesizedExpression
- Specified by:
visitParenthesizedExpressionin interfaceIAstVisitor<Void,Void>
-
visitSynchronizedStatement
- Specified by:
visitSynchronizedStatementin interfaceIAstVisitor<Void,Void>
-
convertCharacter
-
escapeUnicode
-
isKeyword
-
isKeyword
-