Contents
- Description
- Nested Class Summary
- Field Summary
- Method Summary
- Field Details
- Method Details
- visitStatement(StatementTree)
- visitStatements(Iterable)
- defaultAction(Tree, ControlFlowVisitor.BreakContext)
- visitBlock(BlockTree, ControlFlowVisitor.BreakContext)
- visitDoWhileLoop(DoWhileLoopTree, ControlFlowVisitor.BreakContext)
- visitWhileLoop(WhileLoopTree, ControlFlowVisitor.BreakContext)
- visitForLoop(ForLoopTree, ControlFlowVisitor.BreakContext)
- visitEnhancedForLoop(EnhancedForLoopTree, ControlFlowVisitor.BreakContext)
- visitSwitch(SwitchTree, ControlFlowVisitor.BreakContext)
- visitCase(CaseTree, ControlFlowVisitor.BreakContext)
- visitSynchronized(SynchronizedTree, ControlFlowVisitor.BreakContext)
- visitTry(TryTree, ControlFlowVisitor.BreakContext)
- visitCatch(CatchTree, ControlFlowVisitor.BreakContext)
- visitIf(IfTree, ControlFlowVisitor.BreakContext)
- visitExpressionStatement(ExpressionStatementTree, ControlFlowVisitor.BreakContext)
- visitLabeledStatement(LabeledStatementTree, ControlFlowVisitor.BreakContext)
- visitBreak(BreakTree, ControlFlowVisitor.BreakContext)
- visitContinue(ContinueTree, ControlFlowVisitor.BreakContext)
- visitReturn(ReturnTree, ControlFlowVisitor.BreakContext)
- visitThrow(ThrowTree, ControlFlowVisitor.BreakContext)
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 enum
The 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.Result
defaultAction
(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
-
Method Details
-
visitStatement
-
visitStatements
-
defaultAction
protected ControlFlowVisitor.Result defaultAction(Tree node, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext cxt) - Overrides:
defaultAction
in 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:
visitBlock
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitBlock
in 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:
visitDoWhileLoop
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitDoWhileLoop
in 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:
visitWhileLoop
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitWhileLoop
in 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:
visitForLoop
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitForLoop
in 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:
visitEnhancedForLoop
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitEnhancedForLoop
in 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:
visitSwitch
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitSwitch
in 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:
visitCase
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitCase
in 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:
visitSynchronized
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitSynchronized
in 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:
visitTry
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitTry
in 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:
visitCatch
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitCatch
in 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:
visitIf
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitIf
in 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:
visitExpressionStatement
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitExpressionStatement
in 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:
visitLabeledStatement
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitLabeledStatement
in 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:
visitBreak
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitBreak
in 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:
visitContinue
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitContinue
in 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:
visitReturn
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitReturn
in 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:
visitThrow
in interfaceTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
- Overrides:
visitThrow
in classSimpleTreeVisitor<ControlFlowVisitor.Result, com.google.errorprone.refaster.ControlFlowVisitor.BreakContext>
-