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 DecompilerContextcontext
-
Constructor Summary
Constructors Modifier Constructor Description protectedContextTrackingVisitor(DecompilerContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleaninConstructor()protected booleaninMethod()protected booleaninStaticInitializer()protected AstTypemakeType(TypeReference reference)protected AstTypemakeType(java.lang.String descriptor)protected IMetadataResolverresolver()voidrun(AstNode compilationUnit)TResultvisitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void p)TResultvisitMethodDeclaration(MethodDeclaration node, java.lang.Void p)protected TResultvisitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)TResultvisitTypeDeclaration(TypeDeclaration typeDeclaration, java.lang.Void p)protected TResultvisitTypeDeclarationOverride(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:
visitTypeDeclarationin interfaceIAstVisitor<java.lang.Void,TResult>- Overrides:
visitTypeDeclarationin 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:
visitMethodDeclarationin interfaceIAstVisitor<java.lang.Void,TResult>- Overrides:
visitMethodDeclarationin 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:
visitConstructorDeclarationin interfaceIAstVisitor<java.lang.Void,TResult>- Overrides:
visitConstructorDeclarationin classDepthFirstAstVisitor<java.lang.Void,TResult>
-
run
public void run(AstNode compilationUnit)
- Specified by:
runin interfaceIAstTransform
-
resolver
protected IMetadataResolver resolver()
-
makeType
protected AstType makeType(TypeReference reference)
-
makeType
protected AstType makeType(java.lang.String descriptor)
-
-