Class DeclareVariablesTransform.IsSingleAssignmentVisitor
- java.lang.Object
-
- com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
- com.strobel.decompiler.languages.java.ast.transforms.DeclareVariablesTransform.IsSingleAssignmentVisitor
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Boolean>
- Enclosing class:
- DeclareVariablesTransform
private static final class DeclareVariablesTransform.IsSingleAssignmentVisitor extends DepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
-
Field Summary
Fields Modifier and Type Field Description private boolean_abortprivate int_assignmentCountprivate int_loopOrTryDepthprivate AssignmentExpression_replacedAssignmentprivate java.lang.String_variableName
-
Constructor Summary
Constructors Constructor Description IsSingleAssignmentVisitor(java.lang.String variableName, AssignmentExpression replacedAssignment)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) booleanisAssigned()(package private) booleanisSingleAssignment()java.lang.BooleanvisitAssignmentExpression(AssignmentExpression node, java.lang.Void p)protected java.lang.BooleanvisitChildren(AstNode node, java.lang.Void data)private java.lang.BooleanvisitCondition(AstNode condition, AstNode ifTrue, AstNode ifFalse)java.lang.BooleanvisitConditionalExpression(ConditionalExpression node, java.lang.Void data)java.lang.BooleanvisitDoWhileStatement(DoWhileStatement node, java.lang.Void p)java.lang.BooleanvisitForEachStatement(ForEachStatement node, java.lang.Void p)java.lang.BooleanvisitForStatement(ForStatement node, java.lang.Void p)java.lang.BooleanvisitIfElseStatement(IfElseStatement node, java.lang.Void data)java.lang.BooleanvisitTryCatchStatement(TryCatchStatement node, java.lang.Void data)java.lang.BooleanvisitTypeDeclaration(TypeDeclaration node, java.lang.Void data)java.lang.BooleanvisitUnaryOperatorExpression(UnaryOperatorExpression node, java.lang.Void p)java.lang.BooleanvisitWhileStatement(WhileStatement node, java.lang.Void p)-
Methods inherited from class com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor
shouldContinue, visitAnnotation, visitAnonymousObjectCreationExpression, visitArrayCreationExpression, visitArrayInitializerExpression, visitArraySpecifier, visitAssertStatement, visitBinaryOperatorExpression, visitBlockStatement, visitBreakStatement, visitBytecodeConstant, visitCaseLabel, visitCastExpression, visitCatchClause, visitClassOfExpression, visitComment, visitCompilationUnit, visitComposedType, visitConstructorDeclaration, visitContinueStatement, visitEmptyStatement, visitEnumValueDeclaration, visitExpressionStatement, visitFieldDeclaration, visitGotoStatement, visitIdentifier, visitIdentifierExpression, visitImportDeclaration, visitIndexerExpression, visitInitializerBlock, visitInlinedBytecode, visitInstanceOfExpression, visitIntersectionType, visitInvocationExpression, visitJavaTokenNode, visitLabeledStatement, visitLabelStatement, visitLambdaExpression, visitLocalTypeDeclarationStatement, visitMemberReferenceExpression, visitMethodDeclaration, visitMethodGroupExpression, visitModuleDeclaration, visitNewLine, visitNullReferenceExpression, visitObjectCreationExpression, visitPackageDeclaration, visitParameterDeclaration, visitParenthesizedExpression, visitPatternPlaceholder, visitPrimitiveExpression, visitReturnStatement, visitSimpleType, visitSuperReferenceExpression, visitSwitchExpression, visitSwitchExpressionArm, visitSwitchSection, visitSwitchStatement, visitSynchronizedStatement, visitText, visitThisReferenceExpression, visitThrowStatement, visitTypeParameterDeclaration, visitTypeReference, visitUnionType, visitVariableDeclaration, visitVariableInitializer, visitWildcardType
-
-
-
-
Field Detail
-
_variableName
private final java.lang.String _variableName
-
_replacedAssignment
private final AssignmentExpression _replacedAssignment
-
_abort
private boolean _abort
-
_loopOrTryDepth
private int _loopOrTryDepth
-
_assignmentCount
private int _assignmentCount
-
-
Constructor Detail
-
IsSingleAssignmentVisitor
IsSingleAssignmentVisitor(java.lang.String variableName, AssignmentExpression replacedAssignment)
-
-
Method Detail
-
isAssigned
final boolean isAssigned()
-
isSingleAssignment
final boolean isSingleAssignment()
-
visitChildren
protected java.lang.Boolean visitChildren(AstNode node, java.lang.Void data)
- Overrides:
visitChildrenin classDepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
visitForStatement
public java.lang.Boolean visitForStatement(ForStatement node, java.lang.Void p)
- Specified by:
visitForStatementin interfaceIAstVisitor<java.lang.Void,java.lang.Boolean>- Overrides:
visitForStatementin classDepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
visitIfElseStatement
public java.lang.Boolean visitIfElseStatement(IfElseStatement node, java.lang.Void data)
- Specified by:
visitIfElseStatementin interfaceIAstVisitor<java.lang.Void,java.lang.Boolean>- Overrides:
visitIfElseStatementin classDepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
visitConditionalExpression
public java.lang.Boolean visitConditionalExpression(ConditionalExpression node, java.lang.Void data)
- Specified by:
visitConditionalExpressionin interfaceIAstVisitor<java.lang.Void,java.lang.Boolean>- Overrides:
visitConditionalExpressionin classDepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
visitCondition
private java.lang.Boolean visitCondition(AstNode condition, AstNode ifTrue, AstNode ifFalse)
-
visitForEachStatement
public java.lang.Boolean visitForEachStatement(ForEachStatement node, java.lang.Void p)
- Specified by:
visitForEachStatementin interfaceIAstVisitor<java.lang.Void,java.lang.Boolean>- Overrides:
visitForEachStatementin classDepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
visitDoWhileStatement
public java.lang.Boolean visitDoWhileStatement(DoWhileStatement node, java.lang.Void p)
- Specified by:
visitDoWhileStatementin interfaceIAstVisitor<java.lang.Void,java.lang.Boolean>- Overrides:
visitDoWhileStatementin classDepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
visitWhileStatement
public java.lang.Boolean visitWhileStatement(WhileStatement node, java.lang.Void p)
- Specified by:
visitWhileStatementin interfaceIAstVisitor<java.lang.Void,java.lang.Boolean>- Overrides:
visitWhileStatementin classDepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
visitTryCatchStatement
public java.lang.Boolean visitTryCatchStatement(TryCatchStatement node, java.lang.Void data)
- Specified by:
visitTryCatchStatementin interfaceIAstVisitor<java.lang.Void,java.lang.Boolean>- Overrides:
visitTryCatchStatementin classDepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
visitAssignmentExpression
public java.lang.Boolean visitAssignmentExpression(AssignmentExpression node, java.lang.Void p)
- Specified by:
visitAssignmentExpressionin interfaceIAstVisitor<java.lang.Void,java.lang.Boolean>- Overrides:
visitAssignmentExpressionin classDepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
visitTypeDeclaration
public java.lang.Boolean visitTypeDeclaration(TypeDeclaration node, java.lang.Void data)
- Specified by:
visitTypeDeclarationin interfaceIAstVisitor<java.lang.Void,java.lang.Boolean>- Overrides:
visitTypeDeclarationin classDepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
visitUnaryOperatorExpression
public java.lang.Boolean visitUnaryOperatorExpression(UnaryOperatorExpression node, java.lang.Void p)
- Specified by:
visitUnaryOperatorExpressionin interfaceIAstVisitor<java.lang.Void,java.lang.Boolean>- Overrides:
visitUnaryOperatorExpressionin classDepthFirstAstVisitor<java.lang.Void,java.lang.Boolean>
-
-