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 classIntroduceInitializersTransform.FieldGatherer
-
Field Summary
Fields Modifier and Type Field Description private MethodDefinition_currentConstructorprivate MethodDefinition_currentInitializerMethodprivate java.util.Map<java.lang.String,FieldDeclaration>_fieldDeclarationsprivate java.util.Map<java.lang.String,AssignmentExpression>_initializersprivate static INodeFIELD_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 voidinlineInitializers()voidrun(AstNode compilationUnit)java.lang.VoidvisitAnonymousObjectCreationExpression(AnonymousObjectCreationExpression node, java.lang.Void data)java.lang.VoidvisitAssignmentExpression(AssignmentExpression node, java.lang.Void data)protected java.lang.VoidvisitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)java.lang.VoidvisitSuperReferenceExpression(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:
runin interfaceIAstTransform- Overrides:
runin classContextTrackingVisitor<java.lang.Void>
-
inlineInitializers
private void inlineInitializers()
-
visitAnonymousObjectCreationExpression
public java.lang.Void visitAnonymousObjectCreationExpression(AnonymousObjectCreationExpression node, java.lang.Void data)
- Specified by:
visitAnonymousObjectCreationExpressionin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitAnonymousObjectCreationExpressionin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitMethodDeclarationOverride
protected java.lang.Void visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
- Overrides:
visitMethodDeclarationOverridein classContextTrackingVisitor<java.lang.Void>
-
visitAssignmentExpression
public java.lang.Void visitAssignmentExpression(AssignmentExpression node, java.lang.Void data)
- Specified by:
visitAssignmentExpressionin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitAssignmentExpressionin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitSuperReferenceExpression
public java.lang.Void visitSuperReferenceExpression(SuperReferenceExpression node, java.lang.Void p)
- Specified by:
visitSuperReferenceExpressionin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitSuperReferenceExpressionin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
-