Class ContextTrackingVisitor<TResult>
- java.lang.Object
-
- com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor<java.lang.Void,TResult>
-
- com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor<TResult>
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,TResult>
,IAstTransform
- Direct Known Subclasses:
AbstractHelperClassTransform
,AddReferenceQualifiersTransform
,AddStandardAnnotationsTransform
,AssertStatementTransform
,BreakTargetRelocation
,ConvertLoopsTransform
,EclipseEnumSwitchRewriterTransform.Visitor
,EclipseStringSwitchRewriterTransform
,EliminateSyntheticAccessorsTransform
,EliminateSyntheticAccessorsTransform.PhaseOneVisitor
,EliminateSyntheticAccessorsTransform.ReplaceSuperReferencesVisitor
,EnumRewriterTransform.Visitor
,EnumSwitchRewriterTransform.Visitor
,FlattenElseIfStatementsTransform
,FlattenSwitchBlocksTransform
,InlineEscapingAssignmentsTransform
,InliningHelper.InliningVisitor
,InsertConstantReferencesTransform
,InsertNecessaryConversionsTransform
,IntroduceInitializersTransform
,IntroduceInitializersTransform.FieldGatherer
,IntroduceOuterClassReferencesTransform
,IntroduceOuterClassReferencesTransform.PhaseOneVisitor
,IntroducePatternMatchingTransform
,IntroduceStringConcatenationTransform
,JavaResolver.ResolveVisitor
,LabelCleanupTransform
,LambdaTransform
,LocalClassHelper.ClosureRewriterPhaseOneVisitor
,LocalClassHelper.ClosureRewriterPhaseTwoVisitor
,LocalClassHelper.IntroduceInitializersVisitor
,LocalClassHelper.ThisReferenceReplacingVisitor
,MarkReferencedSyntheticsTransform
,MergeResourceTryStatementsVisitor
,NewTryWithResourcesTransform
,NewTryWithResourcesTransform.EmptyTryWithResourcesRewriter
,RemoveHiddenMembersTransform
,RemoveImplicitBoxingTransform
,RemoveRedundantCastsTransform
,RemoveRedundantInitializersTransform
,RewriteBoxingCastsTransform
,RewriteInnerClassConstructorCalls
,RewriteLegacyClassConstantsTransform.ClassMethodLocator
,RewriteLegacyClassConstantsTransform.Rewriter
,RewriteLocalClassesTransform
,RewriteLocalClassesTransform.PhaseOneVisitor
,RewriteNewArrayLambdas
,RewriteRecordClassesTransform
,RewriteSwitchExpressionsTransform
,RewriteSwitchExpressionsTransform.SwitchExpressionInlining
,SimplifyArithmeticExpressionsTransform
,SimplifyAssignmentsTransform
,StringSwitchRewriterTransform
,TryWithResourcesTransform
,VarArgsTransform
public abstract class ContextTrackingVisitor<TResult> extends DepthFirstAstVisitor<java.lang.Void,TResult> implements IAstTransform
-
-
Field Summary
Fields Modifier and Type Field Description protected DecompilerContext
context
-
Constructor Summary
Constructors Modifier Constructor Description protected
ContextTrackingVisitor(DecompilerContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
inConstructor()
protected boolean
inMethod()
protected boolean
inStaticInitializer()
protected AstType
makeType(TypeReference reference)
protected AstType
makeType(java.lang.String descriptor)
protected IMetadataResolver
resolver()
void
run(AstNode compilationUnit)
TResult
visitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void p)
TResult
visitMethodDeclaration(MethodDeclaration node, java.lang.Void p)
protected TResult
visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
TResult
visitTypeDeclaration(TypeDeclaration typeDeclaration, java.lang.Void p)
protected TResult
visitTypeDeclarationOverride(TypeDeclaration typeDeclaration, java.lang.Void p)
-
Methods inherited from class com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor
shouldContinue, visitAnnotation, visitAnonymousObjectCreationExpression, 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, visitObjectCreationExpression, 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
-
context
protected final DecompilerContext context
-
-
Constructor Detail
-
ContextTrackingVisitor
protected ContextTrackingVisitor(DecompilerContext context)
-
-
Method Detail
-
inConstructor
protected final boolean inConstructor()
-
inStaticInitializer
protected final boolean inStaticInitializer()
-
inMethod
protected final boolean inMethod()
-
visitTypeDeclaration
public final TResult visitTypeDeclaration(TypeDeclaration typeDeclaration, java.lang.Void p)
- Specified by:
visitTypeDeclaration
in interfaceIAstVisitor<java.lang.Void,TResult>
- Overrides:
visitTypeDeclaration
in classDepthFirstAstVisitor<java.lang.Void,TResult>
-
visitTypeDeclarationOverride
protected TResult visitTypeDeclarationOverride(TypeDeclaration typeDeclaration, java.lang.Void p)
-
visitMethodDeclaration
public TResult visitMethodDeclaration(MethodDeclaration node, java.lang.Void p)
- Specified by:
visitMethodDeclaration
in interfaceIAstVisitor<java.lang.Void,TResult>
- Overrides:
visitMethodDeclaration
in classDepthFirstAstVisitor<java.lang.Void,TResult>
-
visitMethodDeclarationOverride
protected TResult visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
-
visitConstructorDeclaration
public TResult visitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void p)
- Specified by:
visitConstructorDeclaration
in interfaceIAstVisitor<java.lang.Void,TResult>
- Overrides:
visitConstructorDeclaration
in classDepthFirstAstVisitor<java.lang.Void,TResult>
-
run
public void run(AstNode compilationUnit)
- Specified by:
run
in interfaceIAstTransform
-
resolver
protected IMetadataResolver resolver()
-
makeType
protected AstType makeType(TypeReference reference)
-
makeType
protected AstType makeType(java.lang.String descriptor)
-
-