Class IntroduceInitializersTransform
- java.lang.Object
-
- com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor<java.lang.Void,TResult>
-
- com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor<java.lang.Void>
-
- com.strobel.decompiler.languages.java.ast.transforms.IntroduceInitializersTransform
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>
,IAstTransform
public class IntroduceInitializersTransform extends ContextTrackingVisitor<java.lang.Void>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
IntroduceInitializersTransform.FieldGatherer
-
Field Summary
Fields Modifier and Type Field Description private MethodDefinition
_currentConstructor
private MethodDefinition
_currentInitializerMethod
private java.util.Map<java.lang.String,FieldDeclaration>
_fieldDeclarations
private java.util.Map<java.lang.String,AssignmentExpression>
_initializers
private static INode
FIELD_ASSIGNMENT
-
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
-
Constructor Summary
Constructors Constructor Description IntroduceInitializersTransform(DecompilerContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
inlineInitializers()
void
run(AstNode compilationUnit)
java.lang.Void
visitAnonymousObjectCreationExpression(AnonymousObjectCreationExpression node, java.lang.Void data)
java.lang.Void
visitAssignmentExpression(AssignmentExpression node, java.lang.Void data)
protected java.lang.Void
visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
java.lang.Void
visitSuperReferenceExpression(SuperReferenceExpression node, java.lang.Void p)
-
Methods inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, visitConstructorDeclaration, visitMethodDeclaration, visitTypeDeclaration, visitTypeDeclarationOverride
-
Methods inherited from class com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor
shouldContinue, visitAnnotation, visitArrayCreationExpression, visitArrayInitializerExpression, visitArraySpecifier, visitAssertStatement, visitBinaryOperatorExpression, visitBlockStatement, visitBreakStatement, visitBytecodeConstant, visitCaseLabel, visitCastExpression, visitCatchClause, visitChildren, visitClassOfExpression, visitComment, visitCompilationUnit, visitComposedType, visitConditionalExpression, visitContinueStatement, visitDoWhileStatement, visitEmptyStatement, visitEnumValueDeclaration, visitExpressionStatement, visitFieldDeclaration, visitForEachStatement, visitForStatement, visitGotoStatement, visitIdentifier, visitIdentifierExpression, visitIfElseStatement, visitImportDeclaration, visitIndexerExpression, visitInitializerBlock, visitInlinedBytecode, visitInstanceOfExpression, visitIntersectionType, visitInvocationExpression, visitJavaTokenNode, visitLabeledStatement, visitLabelStatement, visitLambdaExpression, visitLocalTypeDeclarationStatement, visitMemberReferenceExpression, visitMethodGroupExpression, visitModuleDeclaration, visitNewLine, visitNullReferenceExpression, visitObjectCreationExpression, visitPackageDeclaration, visitParameterDeclaration, visitParenthesizedExpression, visitPatternPlaceholder, visitPrimitiveExpression, visitReturnStatement, visitSimpleType, visitSwitchExpression, visitSwitchExpressionArm, visitSwitchSection, visitSwitchStatement, visitSynchronizedStatement, visitText, visitThisReferenceExpression, visitThrowStatement, visitTryCatchStatement, visitTypeParameterDeclaration, visitTypeReference, visitUnaryOperatorExpression, visitUnionType, visitVariableDeclaration, visitVariableInitializer, visitWhileStatement, visitWildcardType
-
-
-
-
Field Detail
-
_fieldDeclarations
private final java.util.Map<java.lang.String,FieldDeclaration> _fieldDeclarations
-
_initializers
private final java.util.Map<java.lang.String,AssignmentExpression> _initializers
-
_currentInitializerMethod
private MethodDefinition _currentInitializerMethod
-
_currentConstructor
private MethodDefinition _currentConstructor
-
FIELD_ASSIGNMENT
private static final INode FIELD_ASSIGNMENT
-
-
Constructor Detail
-
IntroduceInitializersTransform
public IntroduceInitializersTransform(DecompilerContext context)
-
-
Method Detail
-
run
public void run(AstNode compilationUnit)
- Specified by:
run
in interfaceIAstTransform
- Overrides:
run
in classContextTrackingVisitor<java.lang.Void>
-
inlineInitializers
private void inlineInitializers()
-
visitAnonymousObjectCreationExpression
public java.lang.Void visitAnonymousObjectCreationExpression(AnonymousObjectCreationExpression node, java.lang.Void data)
- Specified by:
visitAnonymousObjectCreationExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitAnonymousObjectCreationExpression
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitMethodDeclarationOverride
protected java.lang.Void visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
- Overrides:
visitMethodDeclarationOverride
in classContextTrackingVisitor<java.lang.Void>
-
visitAssignmentExpression
public java.lang.Void visitAssignmentExpression(AssignmentExpression node, java.lang.Void data)
- Specified by:
visitAssignmentExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitAssignmentExpression
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitSuperReferenceExpression
public java.lang.Void visitSuperReferenceExpression(SuperReferenceExpression node, java.lang.Void p)
- Specified by:
visitSuperReferenceExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitSuperReferenceExpression
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
-