Class Finally
- java.lang.Object
-
- com.google.errorprone.bugpatterns.BugChecker
-
- com.google.errorprone.bugpatterns.Finally
-
- All Implemented Interfaces:
BugChecker.BreakTreeMatcher
,BugChecker.ContinueTreeMatcher
,BugChecker.ReturnTreeMatcher
,BugChecker.ThrowTreeMatcher
,Suppressible
,Serializable
public class Finally extends BugChecker implements BugChecker.ContinueTreeMatcher, BugChecker.ThrowTreeMatcher, BugChecker.BreakTreeMatcher, BugChecker.ReturnTreeMatcher
Matches the behaviour of javac's finally Xlint warning.1) Any return statement in a finally block is an error 2) An uncaught throw statement in a finally block is an error. We can't always know whether a specific exception will be caught, so we report errors for throw statements that are not contained in a try with at least one catch block. 3) A continue statement in a finally block is an error if it breaks out of a (possibly labeled) loop that is outside the enclosing finally. 4) A break statement in a finally block is an error if it breaks out of a (possibly labeled) loop or a switch statement that is outside the enclosing finally.
- Author:
- [email protected] (Eddie Aftandilian), [email protected] (Liam Miller-Cushon)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.errorprone.bugpatterns.BugChecker
BugChecker.AnnotatedTypeTreeMatcher, BugChecker.AnnotationTreeMatcher, BugChecker.ArrayAccessTreeMatcher, BugChecker.ArrayTypeTreeMatcher, BugChecker.AssertTreeMatcher, BugChecker.AssignmentTreeMatcher, BugChecker.BinaryTreeMatcher, BugChecker.BlockTreeMatcher, BugChecker.BreakTreeMatcher, BugChecker.CaseTreeMatcher, BugChecker.CatchTreeMatcher, BugChecker.ClassTreeMatcher, BugChecker.CompilationUnitTreeMatcher, BugChecker.CompoundAssignmentTreeMatcher, BugChecker.ConditionalExpressionTreeMatcher, BugChecker.ContinueTreeMatcher, BugChecker.DoWhileLoopTreeMatcher, BugChecker.EmptyStatementTreeMatcher, BugChecker.EnhancedForLoopTreeMatcher, BugChecker.ExpressionStatementTreeMatcher, BugChecker.ForLoopTreeMatcher, BugChecker.IdentifierTreeMatcher, BugChecker.IfTreeMatcher, BugChecker.ImportTreeMatcher, BugChecker.InstanceOfTreeMatcher, BugChecker.IntersectionTypeTreeMatcher, BugChecker.LabeledStatementTreeMatcher, BugChecker.LambdaExpressionTreeMatcher, BugChecker.LiteralTreeMatcher, BugChecker.MemberReferenceTreeMatcher, BugChecker.MemberSelectTreeMatcher, BugChecker.MethodInvocationTreeMatcher, BugChecker.MethodTreeMatcher, BugChecker.ModifiersTreeMatcher, BugChecker.NewArrayTreeMatcher, BugChecker.NewClassTreeMatcher, BugChecker.ParameterizedTypeTreeMatcher, BugChecker.ParenthesizedTreeMatcher, BugChecker.PrimitiveTypeTreeMatcher, BugChecker.ReturnTreeMatcher, BugChecker.SuppressibleTreePathScanner<A extends Object,B extends Object>, BugChecker.SwitchTreeMatcher, BugChecker.SynchronizedTreeMatcher, BugChecker.ThrowTreeMatcher, BugChecker.TryTreeMatcher, BugChecker.TypeCastTreeMatcher, BugChecker.TypeParameterTreeMatcher, BugChecker.UnaryTreeMatcher, BugChecker.UnionTypeTreeMatcher, BugChecker.VariableTreeMatcher, BugChecker.WhileLoopTreeMatcher, BugChecker.WildcardTreeMatcher
-
-
Constructor Summary
Constructors Constructor Description Finally()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Description
matchBreak(com.sun.source.tree.BreakTree tree, VisitorState state)
Description
matchContinue(com.sun.source.tree.ContinueTree tree, VisitorState state)
Description
matchReturn(com.sun.source.tree.ReturnTree tree, VisitorState state)
Description
matchThrow(com.sun.source.tree.ThrowTree tree, VisitorState state)
-
Methods inherited from class com.google.errorprone.bugpatterns.BugChecker
allNames, buildDescription, buildDescription, buildDescription, canonicalName, customSuppressionAnnotations, defaultSeverity, describeMatch, describeMatch, describeMatch, describeMatch, describeMatch, describeMatch, disableable, equals, hashCode, isSuppressed, isSuppressed, isSuppressed, isSuppressed, linkUrl, message, supportsSuppressWarnings, suppressedByAnyOf, suppressedRegions
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.google.errorprone.matchers.Suppressible
allNames, canonicalName, customSuppressionAnnotations, supportsSuppressWarnings, suppressedByAnyOf
-
-
-
-
Method Detail
-
matchContinue
public Description matchContinue(com.sun.source.tree.ContinueTree tree, VisitorState state)
- Specified by:
matchContinue
in interfaceBugChecker.ContinueTreeMatcher
-
matchBreak
public Description matchBreak(com.sun.source.tree.BreakTree tree, VisitorState state)
- Specified by:
matchBreak
in interfaceBugChecker.BreakTreeMatcher
-
matchThrow
public Description matchThrow(com.sun.source.tree.ThrowTree tree, VisitorState state)
- Specified by:
matchThrow
in interfaceBugChecker.ThrowTreeMatcher
-
matchReturn
public Description matchReturn(com.sun.source.tree.ReturnTree tree, VisitorState state)
- Specified by:
matchReturn
in interfaceBugChecker.ReturnTreeMatcher
-
-