Class BreakTargetRelocation
java.lang.Object
com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor<Void,Void>
com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor<Void>
com.strobel.decompiler.languages.java.ast.transforms.BreakTargetRelocation
- All Implemented Interfaces:
IAstVisitor<Void,Void>, IAstTransform
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classprivate static final class -
Field Summary
Fields inherited from class ContextTrackingVisitor
context -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionassessForLoop(AstNode commonAncestor, List<Stack<AstNode>> paths, LabelStatement label, List<GotoStatement> statements) private booleanconvertToContinue(BlockStatement parent, BreakTargetRelocation.LabelInfo labelInfo, List<Stack<AstNode>> paths) private StatementfindLowestCommonAncestor(List<Stack<AstNode>> paths) private BlockStatementfindLowestCommonAncestorBlock(List<Stack<AstNode>> paths) private static booleanprivate static booleanlookBehind(AstNode start, Set<AstNode> targets) private voidrebuildPaths(List<Stack<AstNode>> paths, BreakTargetRelocation.LabelInfo labelInfo) private voidrun(BreakTargetRelocation.LabelInfo labelInfo) private voidrunForMethod(AstNode node) protected VoidMethods inherited from class ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, run, visitMethodDeclaration, visitTypeDeclaration, visitTypeDeclarationOverrideMethods inherited from class 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
-
Constructor Details
-
BreakTargetRelocation
-
-
Method Details
-
visitMethodDeclarationOverride
- Overrides:
visitMethodDeclarationOverridein classContextTrackingVisitor<Void>
-
visitConstructorDeclaration
- Specified by:
visitConstructorDeclarationin interfaceIAstVisitor<Void,Void> - Overrides:
visitConstructorDeclarationin classContextTrackingVisitor<Void>
-
runForMethod
-
run
-
rebuildPaths
-
convertToContinue
private boolean convertToContinue(BlockStatement parent, BreakTargetRelocation.LabelInfo labelInfo, List<Stack<AstNode>> paths) -
assessForLoop
private BreakTargetRelocation.AssessForLoopResult assessForLoop(AstNode commonAncestor, List<Stack<AstNode>> paths, LabelStatement label, List<GotoStatement> statements) -
lookAhead
-
lookBehind
-
findLowestCommonAncestorBlock
-
findLowestCommonAncestor
-
buildPath
-