Class ControlFlowVisitor
java.lang.Object
com.sun.source.util.SimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
com.google.errorprone.refaster.ControlFlowVisitor
- All Implemented Interfaces:
TreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
public class ControlFlowVisitor
extends SimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
Analyzes a series of statements to determine whether they don't, sometimes, or never return.
- Author:
- lowasser@google.com (Louis Wasserman)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumThe state of whether a sequence of statements may return, break out of the visited statements, or neither. -
Field Summary
FieldsFields inherited from class SimpleTreeVisitor
DEFAULT_VALUE -
Method Summary
Modifier and TypeMethodDescriptionprotected ControlFlowVisitor.ResultdefaultAction(Tree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitBlock(BlockTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitBreak(BreakTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitCatch(CatchTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitContinue(ContinueTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitDoWhileLoop(DoWhileLoopTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitEnhancedForLoop(EnhancedForLoopTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitExpressionStatement(ExpressionStatementTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitForLoop(ForLoopTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitLabeledStatement(LabeledStatementTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitReturn(ReturnTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitStatement(StatementTree node) visitStatements(Iterable<? extends StatementTree> nodes) visitSwitch(SwitchTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitSynchronized(SynchronizedTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitThrow(ThrowTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) visitWhileLoop(WhileLoopTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) Methods inherited from class SimpleTreeVisitor
visit, visit, visitAnnotatedType, visitAnnotation, visitAnyPattern, visitArrayAccess, visitArrayType, visitAssert, visitAssignment, visitBinary, visitBindingPattern, visitClass, visitCompilationUnit, visitCompoundAssignment, visitConditionalExpression, visitConstantCaseLabel, visitDeconstructionPattern, visitDefaultCaseLabel, visitEmptyStatement, visitErroneous, visitExports, visitIdentifier, visitImport, visitInstanceOf, visitIntersectionType, visitLambdaExpression, visitLiteral, visitMemberReference, visitMemberSelect, visitMethod, visitMethodInvocation, visitModifiers, visitModule, visitNewArray, visitNewClass, visitOpens, visitOther, visitPackage, visitParameterizedType, visitParenthesized, visitPatternCaseLabel, visitPrimitiveType, visitProvides, visitRequires, visitSwitchExpression, visitTypeCast, visitTypeParameter, visitUnary, visitUnionType, visitUses, visitVariable, visitWildcard, visitYield
-
Field Details
-
INSTANCE
-
-
Method Details
-
visitStatement
-
visitStatements
-
defaultAction
protected ControlFlowVisitor.Result defaultAction(Tree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Overrides:
defaultActionin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitBlock
public ControlFlowVisitor.Result visitBlock(BlockTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitBlockin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitBlockin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitDoWhileLoop
public ControlFlowVisitor.Result visitDoWhileLoop(DoWhileLoopTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitDoWhileLoopin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitDoWhileLoopin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitWhileLoop
public ControlFlowVisitor.Result visitWhileLoop(WhileLoopTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitWhileLoopin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitWhileLoopin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitForLoop
public ControlFlowVisitor.Result visitForLoop(ForLoopTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitForLoopin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitForLoopin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitEnhancedForLoop
public ControlFlowVisitor.Result visitEnhancedForLoop(EnhancedForLoopTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitEnhancedForLoopin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitEnhancedForLoopin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitSwitch
public ControlFlowVisitor.Result visitSwitch(SwitchTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitSwitchin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitSwitchin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitCase
public ControlFlowVisitor.Result visitCase(CaseTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitCasein interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitCasein classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitSynchronized
public ControlFlowVisitor.Result visitSynchronized(SynchronizedTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitSynchronizedin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitSynchronizedin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitTry
public ControlFlowVisitor.Result visitTry(TryTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitTryin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitTryin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitCatch
public ControlFlowVisitor.Result visitCatch(CatchTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitCatchin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitCatchin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitIf
public ControlFlowVisitor.Result visitIf(IfTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitIfin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitIfin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitExpressionStatement
public ControlFlowVisitor.Result visitExpressionStatement(ExpressionStatementTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitExpressionStatementin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitExpressionStatementin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitLabeledStatement
public ControlFlowVisitor.Result visitLabeledStatement(LabeledStatementTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitLabeledStatementin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitLabeledStatementin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitBreak
public ControlFlowVisitor.Result visitBreak(BreakTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitBreakin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitBreakin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitContinue
public ControlFlowVisitor.Result visitContinue(ContinueTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitContinuein interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitContinuein classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitReturn
public ControlFlowVisitor.Result visitReturn(ReturnTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitReturnin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitReturnin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-
visitThrow
public ControlFlowVisitor.Result visitThrow(ThrowTree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Specified by:
visitThrowin interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>- Overrides:
visitThrowin classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-