Class RewriteLocalClassesTransform
- 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.RewriteLocalClassesTransform
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>,IAstTransform
public class RewriteLocalClassesTransform extends ContextTrackingVisitor<java.lang.Void>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classRewriteLocalClassesTransform.PhaseOneVisitor
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<TypeReference,java.util.List<ObjectCreationExpression>>_instantiationsprivate java.util.Map<TypeReference,TypeDeclaration>_localTypes-
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
-
Constructor Summary
Constructors Constructor Description RewriteLocalClassesTransform(DecompilerContext context)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static booleanisLocalOrAnonymous(TypeDefinition type)voidrun(AstNode compilationUnit)java.lang.VoidvisitAnonymousObjectCreationExpression(AnonymousObjectCreationExpression node, java.lang.Void p)java.lang.VoidvisitObjectCreationExpression(ObjectCreationExpression node, java.lang.Void p)-
Methods inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, visitConstructorDeclaration, visitMethodDeclaration, visitMethodDeclarationOverride, visitTypeDeclaration, visitTypeDeclarationOverride
-
Methods inherited from class com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor
shouldContinue, visitAnnotation, visitArrayCreationExpression, visitArrayInitializerExpression, visitArraySpecifier, visitAssertStatement, visitAssignmentExpression, 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, visitPackageDeclaration, visitParameterDeclaration, visitParenthesizedExpression, visitPatternPlaceholder, visitPrimitiveExpression, visitReturnStatement, visitSimpleType, visitSuperReferenceExpression, visitSwitchExpression, visitSwitchExpressionArm, visitSwitchSection, visitSwitchStatement, visitSynchronizedStatement, visitText, visitThisReferenceExpression, visitThrowStatement, visitTryCatchStatement, visitTypeParameterDeclaration, visitTypeReference, visitUnaryOperatorExpression, visitUnionType, visitVariableDeclaration, visitVariableInitializer, visitWhileStatement, visitWildcardType
-
-
-
-
Field Detail
-
_localTypes
private final java.util.Map<TypeReference,TypeDeclaration> _localTypes
-
_instantiations
private final java.util.Map<TypeReference,java.util.List<ObjectCreationExpression>> _instantiations
-
-
Constructor Detail
-
RewriteLocalClassesTransform
public RewriteLocalClassesTransform(DecompilerContext context)
-
-
Method Detail
-
run
public void run(AstNode compilationUnit)
- Specified by:
runin interfaceIAstTransform- Overrides:
runin classContextTrackingVisitor<java.lang.Void>
-
visitObjectCreationExpression
public java.lang.Void visitObjectCreationExpression(ObjectCreationExpression node, java.lang.Void p)
- Specified by:
visitObjectCreationExpressionin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitObjectCreationExpressionin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
isLocalOrAnonymous
private static boolean isLocalOrAnonymous(TypeDefinition type)
-
visitAnonymousObjectCreationExpression
public java.lang.Void visitAnonymousObjectCreationExpression(AnonymousObjectCreationExpression node, java.lang.Void p)
- Specified by:
visitAnonymousObjectCreationExpressionin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitAnonymousObjectCreationExpressionin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
-