Class AbstractMustBeClosedChecker
- java.lang.Object
-
- com.google.errorprone.bugpatterns.BugChecker
-
- com.google.errorprone.bugpatterns.AbstractMustBeClosedChecker
-
- All Implemented Interfaces:
Suppressible
,Serializable
- Direct Known Subclasses:
MustBeClosedChecker
,StreamResourceLeak
public abstract class AbstractMustBeClosedChecker extends BugChecker
An abstract check for resources that must be closed; used byStreamResourceLeak
andMustBeClosedChecker
.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
AbstractMustBeClosedChecker.FixAggregator
A strategy for handling and potentially combining multiple fixes.-
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
-
-
Field Summary
Fields Modifier and Type Field Description protected static Matcher<com.sun.source.tree.Tree>
HAS_MUST_BE_CLOSED_ANNOTATION
Matches trees annotated withMustBeClosed
.
-
Constructor Summary
Constructors Constructor Description AbstractMustBeClosedChecker()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addFix(Description.Builder description, com.sun.source.tree.ExpressionTree tree, VisitorState state, AbstractMustBeClosedChecker.FixAggregator aggregator)
protected AbstractMustBeClosedChecker.FixAggregator
findingPerMethod()
A FixAggregator that saves up all its findings from within a single method to emit at once.protected AbstractMustBeClosedChecker.FixAggregator
findingPerSite()
A FixAggregator that emits a separate fix for each method usage.protected Description
matchNewClassOrMethodInvocation(com.sun.source.tree.ExpressionTree tree, VisitorState state, AbstractMustBeClosedChecker.FixAggregator aggregator)
Check that the expressiontree
occurs within the resource variable initializer of a try-with-resources statement.protected Description
scanEntireMethodFor(Matcher<? super com.sun.source.tree.MethodInvocationTree> m, com.sun.source.tree.MethodTree tree, VisitorState state)
Scans a method body for invocations matchingm
, and emitting them as a single fix.-
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
-
-
-
-
Field Detail
-
HAS_MUST_BE_CLOSED_ANNOTATION
protected static final Matcher<com.sun.source.tree.Tree> HAS_MUST_BE_CLOSED_ANNOTATION
Matches trees annotated withMustBeClosed
.
-
-
Method Detail
-
scanEntireMethodFor
protected Description scanEntireMethodFor(Matcher<? super com.sun.source.tree.MethodInvocationTree> m, com.sun.source.tree.MethodTree tree, VisitorState state)
Scans a method body for invocations matchingm
, and emitting them as a single fix.
-
matchNewClassOrMethodInvocation
protected Description matchNewClassOrMethodInvocation(com.sun.source.tree.ExpressionTree tree, VisitorState state, AbstractMustBeClosedChecker.FixAggregator aggregator)
Check that the expressiontree
occurs within the resource variable initializer of a try-with-resources statement.
-
addFix
protected void addFix(Description.Builder description, com.sun.source.tree.ExpressionTree tree, VisitorState state, AbstractMustBeClosedChecker.FixAggregator aggregator)
-
findingPerMethod
protected AbstractMustBeClosedChecker.FixAggregator findingPerMethod()
A FixAggregator that saves up all its findings from within a single method to emit at once.
-
findingPerSite
protected AbstractMustBeClosedChecker.FixAggregator findingPerSite()
A FixAggregator that emits a separate fix for each method usage.
-
-