Class AddReferenceQualifiersTransform
- 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.AddReferenceQualifiersTransform
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>
,IAstTransform
public class AddReferenceQualifiersTransform extends ContextTrackingVisitor<java.lang.Void>
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<AstNode>
_addQualifierCandidates
private java.util.Set<AstNode>
_removeQualifierCandidates
private boolean
_simplifyMemberReferences
-
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
-
Constructor Summary
Constructors Constructor Description AddReferenceQualifiersTransform(DecompilerContext context)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addQualifiersWhereNecessary()
private static NameResolveMode
modeForType(AstNode type)
private java.lang.String
qualifyReference(AstNode node, TypeReference type)
private void
removeQualifiersWherePossible()
protected java.lang.Object
resolveName(AstNode location, java.lang.String name, NameResolveMode mode)
void
run(AstNode compilationUnit)
java.lang.Void
visitCompilationUnit(CompilationUnit node, java.lang.Void data)
java.lang.Void
visitMemberReferenceExpression(MemberReferenceExpression node, java.lang.Void data)
java.lang.Void
visitSimpleType(SimpleType node, java.lang.Void data)
-
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, visitAnonymousObjectCreationExpression, visitArrayCreationExpression, visitArrayInitializerExpression, visitArraySpecifier, visitAssertStatement, visitAssignmentExpression, visitBinaryOperatorExpression, visitBlockStatement, visitBreakStatement, visitBytecodeConstant, visitCaseLabel, visitCastExpression, visitCatchClause, visitChildren, visitClassOfExpression, visitComment, 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, visitMethodGroupExpression, visitModuleDeclaration, visitNewLine, visitNullReferenceExpression, visitObjectCreationExpression, visitPackageDeclaration, visitParameterDeclaration, visitParenthesizedExpression, visitPatternPlaceholder, visitPrimitiveExpression, visitReturnStatement, visitSuperReferenceExpression, visitSwitchExpression, visitSwitchExpressionArm, visitSwitchSection, visitSwitchStatement, visitSynchronizedStatement, visitText, visitThisReferenceExpression, visitThrowStatement, visitTryCatchStatement, visitTypeParameterDeclaration, visitTypeReference, visitUnaryOperatorExpression, visitUnionType, visitVariableDeclaration, visitVariableInitializer, visitWhileStatement, visitWildcardType
-
-
-
-
Constructor Detail
-
AddReferenceQualifiersTransform
public AddReferenceQualifiersTransform(DecompilerContext context)
-
-
Method Detail
-
run
public void run(AstNode compilationUnit)
- Specified by:
run
in interfaceIAstTransform
- Overrides:
run
in classContextTrackingVisitor<java.lang.Void>
-
addQualifiersWhereNecessary
private void addQualifiersWhereNecessary()
-
removeQualifiersWherePossible
private void removeQualifiersWherePossible()
-
modeForType
private static NameResolveMode modeForType(AstNode type)
-
qualifyReference
private java.lang.String qualifyReference(AstNode node, TypeReference type)
-
visitSimpleType
public java.lang.Void visitSimpleType(SimpleType node, java.lang.Void data)
- Specified by:
visitSimpleType
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitSimpleType
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitCompilationUnit
public java.lang.Void visitCompilationUnit(CompilationUnit node, java.lang.Void data)
- Specified by:
visitCompilationUnit
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitCompilationUnit
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitMemberReferenceExpression
public java.lang.Void visitMemberReferenceExpression(MemberReferenceExpression node, java.lang.Void data)
- Specified by:
visitMemberReferenceExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitMemberReferenceExpression
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
resolveName
protected java.lang.Object resolveName(AstNode location, java.lang.String name, NameResolveMode mode)
-
-