Class ErrorProneScanner
java.lang.Object
com.sun.source.util.TreeScanner<Void, VisitorState>
com.sun.source.util.TreePathScanner<Void, VisitorState>
com.google.errorprone.scanner.Scanner
com.google.errorprone.scanner.ErrorProneScanner
- All Implemented Interfaces:
 TreeVisitor<Void, VisitorState>
Scans the parsed AST, looking for violations of any of the enabled checks.
- Author:
 - Alex Eagle (alexeagle@google.com)
 
- 
Constructor Summary
ConstructorsConstructorDescriptionErrorProneScanner(BugChecker... checkers) Create an error-prone scanner for the given checkers.ErrorProneScanner(Iterable<BugChecker> checkers) Create an error-prone scanner for a non-hardcoded set of checkers.ErrorProneScanner(Iterable<BugChecker> checkers, Map<String, BugPattern.SeverityLevel> severities) Create an error-prone scanner for a non-hardcoded set of checkers. - 
Method Summary
Modifier and TypeMethodDescriptioncom.google.common.collect.ImmutableSet<BugChecker> protected Set<? extends com.sun.tools.javac.util.Name> Returns a set of all the custom suppression annotation types used by theBugCheckers in thisScanner.protected voidhandleError(Suppressible s, Throwable t) Handles an exception thrown by an individual BugPattern.Returns a mapping between the canonical names of checks and theirBugPattern.SeverityLevel.visitAnnotatedType(AnnotatedTypeTree tree, VisitorState visitorState) visitAnnotation(AnnotationTree tree, VisitorState visitorState) visitArrayAccess(ArrayAccessTree tree, VisitorState visitorState) visitArrayType(ArrayTypeTree tree, VisitorState visitorState) visitAssert(AssertTree tree, VisitorState visitorState) visitAssignment(AssignmentTree tree, VisitorState visitorState) visitBinary(BinaryTree tree, VisitorState visitorState) visitBindingPattern(BindingPatternTree tree, VisitorState visitorState) visitBlock(BlockTree tree, VisitorState visitorState) visitBreak(BreakTree tree, VisitorState visitorState) visitCase(CaseTree tree, VisitorState visitorState) visitCatch(CatchTree tree, VisitorState visitorState) visitClass(ClassTree tree, VisitorState visitorState) visitCompilationUnit(CompilationUnitTree tree, VisitorState visitorState) visitCompoundAssignment(CompoundAssignmentTree tree, VisitorState visitorState) visitConditionalExpression(ConditionalExpressionTree tree, VisitorState visitorState) visitContinue(ContinueTree tree, VisitorState visitorState) visitDoWhileLoop(DoWhileLoopTree tree, VisitorState visitorState) visitEmptyStatement(EmptyStatementTree tree, VisitorState visitorState) visitEnhancedForLoop(EnhancedForLoopTree tree, VisitorState visitorState) visitExports(ExportsTree tree, VisitorState visitorState) visitExpressionStatement(ExpressionStatementTree tree, VisitorState visitorState) visitForLoop(ForLoopTree tree, VisitorState visitorState) visitIdentifier(IdentifierTree tree, VisitorState visitorState) visitIf(IfTree tree, VisitorState visitorState) visitImport(ImportTree tree, VisitorState visitorState) visitInstanceOf(InstanceOfTree tree, VisitorState visitorState) visitIntersectionType(IntersectionTypeTree tree, VisitorState visitorState) visitLabeledStatement(LabeledStatementTree tree, VisitorState visitorState) visitLambdaExpression(LambdaExpressionTree tree, VisitorState visitorState) visitLiteral(LiteralTree tree, VisitorState visitorState) visitMemberReference(MemberReferenceTree tree, VisitorState visitorState) visitMemberSelect(MemberSelectTree tree, VisitorState visitorState) visitMethod(MethodTree tree, VisitorState visitorState) visitMethodInvocation(MethodInvocationTree tree, VisitorState visitorState) visitModifiers(ModifiersTree tree, VisitorState visitorState) visitModule(ModuleTree tree, VisitorState visitorState) visitNewArray(NewArrayTree tree, VisitorState visitorState) visitNewClass(NewClassTree tree, VisitorState visitorState) visitOpens(OpensTree tree, VisitorState visitorState) visitPackage(PackageTree tree, VisitorState visitorState) visitParameterizedType(ParameterizedTypeTree tree, VisitorState visitorState) visitParenthesized(ParenthesizedTree tree, VisitorState visitorState) visitPrimitiveType(PrimitiveTypeTree tree, VisitorState visitorState) visitProvides(ProvidesTree tree, VisitorState visitorState) visitRequires(RequiresTree tree, VisitorState visitorState) visitReturn(ReturnTree tree, VisitorState visitorState) visitSwitch(SwitchTree tree, VisitorState visitorState) visitSwitchExpression(SwitchExpressionTree tree, VisitorState visitorState) visitSynchronized(SynchronizedTree tree, VisitorState visitorState) visitThrow(ThrowTree tree, VisitorState visitorState) visitTry(TryTree tree, VisitorState visitorState) visitTypeCast(TypeCastTree tree, VisitorState visitorState) visitTypeParameter(TypeParameterTree tree, VisitorState visitorState) visitUnary(UnaryTree tree, VisitorState visitorState) visitUnionType(UnionTypeTree tree, VisitorState visitorState) visitUses(UsesTree tree, VisitorState visitorState) visitVariable(VariableTree tree, VisitorState visitorState) visitWhileLoop(WhileLoopTree tree, VisitorState visitorState) visitWildcard(WildcardTree tree, VisitorState visitorState) visitYield(YieldTree tree, VisitorState visitorState) Methods inherited from class Scanner
isSuppressed, reportMatch, scan, scanMethods inherited from class TreePathScanner
getCurrentPathMethods inherited from class TreeScanner
reduce, scan, visitAnyPattern, visitConstantCaseLabel, visitDeconstructionPattern, visitDefaultCaseLabel, visitErroneous, visitOther, visitPatternCaseLabel 
- 
Constructor Details
- 
ErrorProneScanner
Create an error-prone scanner for the given checkers.- Parameters:
 checkers- The checkers that this scanner should use.
 - 
ErrorProneScanner
Create an error-prone scanner for a non-hardcoded set of checkers.- Parameters:
 checkers- The checkers that this scanner should use.
 - 
ErrorProneScanner
public ErrorProneScanner(Iterable<BugChecker> checkers, Map<String, BugPattern.SeverityLevel> severities) Create an error-prone scanner for a non-hardcoded set of checkers.- Parameters:
 checkers- The checkers that this scanner should use.severities- The default check severities.
 
 - 
 - 
Method Details
- 
getCustomSuppressionAnnotations
protected Set<? extends com.sun.tools.javac.util.Name> getCustomSuppressionAnnotations(VisitorState state) Description copied from class:ScannerReturns a set of all the custom suppression annotation types used by theBugCheckers in thisScanner.- Overrides:
 getCustomSuppressionAnnotationsin classScanner
 - 
visitAnnotation
- Specified by:
 visitAnnotationin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitAnnotationin classTreeScanner<Void, VisitorState>
 - 
visitAnnotatedType
- Specified by:
 visitAnnotatedTypein interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitAnnotatedTypein classTreeScanner<Void, VisitorState>
 - 
visitArrayAccess
- Specified by:
 visitArrayAccessin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitArrayAccessin classTreeScanner<Void, VisitorState>
 - 
visitArrayType
- Specified by:
 visitArrayTypein interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitArrayTypein classTreeScanner<Void, VisitorState>
 - 
visitAssert
- Specified by:
 visitAssertin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitAssertin classTreeScanner<Void, VisitorState>
 - 
visitAssignment
- Specified by:
 visitAssignmentin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitAssignmentin classTreeScanner<Void, VisitorState>
 - 
visitBinary
- Specified by:
 visitBinaryin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitBinaryin classTreeScanner<Void, VisitorState>
 - 
visitBindingPattern
- Specified by:
 visitBindingPatternin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitBindingPatternin classTreeScanner<Void, VisitorState>
 - 
visitBlock
- Specified by:
 visitBlockin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitBlockin classTreeScanner<Void, VisitorState>
 - 
visitBreak
- Specified by:
 visitBreakin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitBreakin classTreeScanner<Void, VisitorState>
 - 
visitCase
- Specified by:
 visitCasein interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitCasein classTreeScanner<Void, VisitorState>
 - 
visitCatch
- Specified by:
 visitCatchin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitCatchin classTreeScanner<Void, VisitorState>
 - 
visitClass
- Specified by:
 visitClassin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitClassin classTreeScanner<Void, VisitorState>
 - 
visitCompilationUnit
- Specified by:
 visitCompilationUnitin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitCompilationUnitin classTreeScanner<Void, VisitorState>
 - 
visitCompoundAssignment
- Specified by:
 visitCompoundAssignmentin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitCompoundAssignmentin classTreeScanner<Void, VisitorState>
 - 
visitConditionalExpression
- Specified by:
 visitConditionalExpressionin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitConditionalExpressionin classTreeScanner<Void, VisitorState>
 - 
visitContinue
- Specified by:
 visitContinuein interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitContinuein classTreeScanner<Void, VisitorState>
 - 
visitDoWhileLoop
- Specified by:
 visitDoWhileLoopin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitDoWhileLoopin classTreeScanner<Void, VisitorState>
 - 
visitEmptyStatement
- Specified by:
 visitEmptyStatementin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitEmptyStatementin classTreeScanner<Void, VisitorState>
 - 
visitEnhancedForLoop
- Specified by:
 visitEnhancedForLoopin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitEnhancedForLoopin classTreeScanner<Void, VisitorState>
 - 
visitExports
- Specified by:
 visitExportsin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitExportsin classTreeScanner<Void, VisitorState>
 - 
visitExpressionStatement
- Specified by:
 visitExpressionStatementin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitExpressionStatementin classTreeScanner<Void, VisitorState>
 - 
visitForLoop
- Specified by:
 visitForLoopin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitForLoopin classTreeScanner<Void, VisitorState>
 - 
visitIdentifier
- Specified by:
 visitIdentifierin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitIdentifierin classTreeScanner<Void, VisitorState>
 - 
visitIf
- Specified by:
 visitIfin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitIfin classTreeScanner<Void, VisitorState>
 - 
visitImport
- Specified by:
 visitImportin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitImportin classTreeScanner<Void, VisitorState>
 - 
visitInstanceOf
- Specified by:
 visitInstanceOfin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitInstanceOfin classTreeScanner<Void, VisitorState>
 - 
visitIntersectionType
- Specified by:
 visitIntersectionTypein interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitIntersectionTypein classTreeScanner<Void, VisitorState>
 - 
visitLabeledStatement
- Specified by:
 visitLabeledStatementin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitLabeledStatementin classTreeScanner<Void, VisitorState>
 - 
visitLambdaExpression
- Specified by:
 visitLambdaExpressionin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitLambdaExpressionin classTreeScanner<Void, VisitorState>
 - 
visitLiteral
- Specified by:
 visitLiteralin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitLiteralin classTreeScanner<Void, VisitorState>
 - 
visitMemberReference
- Specified by:
 visitMemberReferencein interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitMemberReferencein classTreeScanner<Void, VisitorState>
 - 
visitMemberSelect
- Specified by:
 visitMemberSelectin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitMemberSelectin classTreeScanner<Void, VisitorState>
 - 
visitMethod
- Specified by:
 visitMethodin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitMethodin classTreeScanner<Void, VisitorState>
 - 
visitMethodInvocation
- Specified by:
 visitMethodInvocationin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitMethodInvocationin classTreeScanner<Void, VisitorState>
 - 
visitModifiers
- Specified by:
 visitModifiersin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitModifiersin classTreeScanner<Void, VisitorState>
 - 
visitModule
- Specified by:
 visitModulein interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitModulein classTreeScanner<Void, VisitorState>
 - 
visitNewArray
- Specified by:
 visitNewArrayin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitNewArrayin classTreeScanner<Void, VisitorState>
 - 
visitNewClass
- Specified by:
 visitNewClassin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitNewClassin classTreeScanner<Void, VisitorState>
 - 
visitOpens
- Specified by:
 visitOpensin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitOpensin classTreeScanner<Void, VisitorState>
 - 
visitPackage
- Specified by:
 visitPackagein interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitPackagein classTreeScanner<Void, VisitorState>
 - 
visitParameterizedType
- Specified by:
 visitParameterizedTypein interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitParameterizedTypein classTreeScanner<Void, VisitorState>
 - 
visitParenthesized
- Specified by:
 visitParenthesizedin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitParenthesizedin classTreeScanner<Void, VisitorState>
 - 
visitPrimitiveType
- Specified by:
 visitPrimitiveTypein interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitPrimitiveTypein classTreeScanner<Void, VisitorState>
 - 
visitProvides
- Specified by:
 visitProvidesin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitProvidesin classTreeScanner<Void, VisitorState>
 - 
visitRequires
- Specified by:
 visitRequiresin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitRequiresin classTreeScanner<Void, VisitorState>
 - 
visitReturn
- Specified by:
 visitReturnin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitReturnin classTreeScanner<Void, VisitorState>
 - 
visitSwitchExpression
- Specified by:
 visitSwitchExpressionin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitSwitchExpressionin classTreeScanner<Void, VisitorState>
 - 
visitSwitch
- Specified by:
 visitSwitchin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitSwitchin classTreeScanner<Void, VisitorState>
 - 
visitSynchronized
- Specified by:
 visitSynchronizedin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitSynchronizedin classTreeScanner<Void, VisitorState>
 - 
visitThrow
- Specified by:
 visitThrowin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitThrowin classTreeScanner<Void, VisitorState>
 - 
visitTry
- Specified by:
 visitTryin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitTryin classTreeScanner<Void, VisitorState>
 - 
visitTypeCast
- Specified by:
 visitTypeCastin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitTypeCastin classTreeScanner<Void, VisitorState>
 - 
visitTypeParameter
- Specified by:
 visitTypeParameterin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitTypeParameterin classTreeScanner<Void, VisitorState>
 - 
visitUnary
- Specified by:
 visitUnaryin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitUnaryin classTreeScanner<Void, VisitorState>
 - 
visitUnionType
- Specified by:
 visitUnionTypein interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitUnionTypein classTreeScanner<Void, VisitorState>
 - 
visitUses
- Specified by:
 visitUsesin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitUsesin classTreeScanner<Void, VisitorState>
 - 
visitVariable
- Specified by:
 visitVariablein interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitVariablein classTreeScanner<Void, VisitorState>
 - 
visitWhileLoop
- Specified by:
 visitWhileLoopin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitWhileLoopin classTreeScanner<Void, VisitorState>
 - 
visitWildcard
- Specified by:
 visitWildcardin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitWildcardin classTreeScanner<Void, VisitorState>
 - 
visitYield
- Specified by:
 visitYieldin interfaceTreeVisitor<Void, VisitorState>- Overrides:
 visitYieldin classTreeScanner<Void, VisitorState>
 - 
handleError
Handles an exception thrown by an individual BugPattern. By default, wraps the exception in anErrorProneErrorand rethrows. May be overridden by subclasses, for example to log the error and continue.- Overrides:
 handleErrorin classScanner
 - 
severityMap
Description copied from class:ScannerReturns a mapping between the canonical names of checks and theirBugPattern.SeverityLevel.- Overrides:
 severityMapin classScanner
 - 
getBugCheckers
 
 -