Package org.sonar.plugins.java.api
Class IssuableSubscriptionVisitor
java.lang.Object
org.sonar.java.ast.visitors.SubscriptionVisitor
org.sonar.plugins.java.api.IssuableSubscriptionVisitor
- All Implemented Interfaces:
JavaCheck
,JavaFileScanner
Subscription visitor providing an API to report issues.
-
Field Summary
Fields inherited from class org.sonar.java.ast.visitors.SubscriptionVisitor
context
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Report an issue on a specific line.void
addIssueOnFile
(String message) Report an issue at file level.void
leaveFile
(JavaFileScannerContext context) Override this method only if you need to execute some instructions after the end of the analysis of a file.void
reportIssue
(Tree tree, String message) Report an issue.void
reportIssue
(Tree tree, String message, List<JavaFileScannerContext.Location> flow, Integer cost) Report an issue.void
reportIssue
(Tree startTree, Tree endTree, String message) Report an issue.void
reportIssue
(Tree startTree, Tree endTree, String message, List<JavaFileScannerContext.Location> flow, Integer cost) Report an issue.final void
scanFile
(JavaFileScannerContext context) Deprecated.protected final void
Deprecated.UseleaveFile(JavaFileScannerContext)
orsetContext(JavaFileScannerContext)
instead.void
setContext
(JavaFileScannerContext context) Override this method only if you need to execute some instructions prior to start the analysis of a file.Methods inherited from class org.sonar.java.ast.visitors.SubscriptionVisitor
leaveNode, nodesToVisit, visitNode, visitToken, visitTrivia
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.sonar.plugins.java.api.JavaFileScanner
scanWithoutParsing
-
Constructor Details
-
IssuableSubscriptionVisitor
public IssuableSubscriptionVisitor()
-
-
Method Details
-
setContext
Override this method only if you need to execute some instructions prior to start the analysis of a file. Don't forget to callsuper.setContext()`
.- Overrides:
setContext
in classSubscriptionVisitor
- Parameters:
context
- the analysis context.
-
scanTree
Deprecated.UseleaveFile(JavaFileScannerContext)
orsetContext(JavaFileScannerContext)
instead.This method is never called and should not be called. It is inherited from theSubscriptionVisitor
. Implementations ofIssuableSubscriptionVisitor
are not able to pilot the exploration of the AST.- Overrides:
scanTree
in classSubscriptionVisitor
-
scanFile
@Deprecated(since="7.31", forRemoval=false) public final void scanFile(JavaFileScannerContext context) Deprecated.UseleaveFile(JavaFileScannerContext)
orsetContext(JavaFileScannerContext)
instead.This method is never called and should not be called. It is inherited from theSubscriptionVisitor
. Implementations ofIssuableSubscriptionVisitor
are not able to impact visit of a file.- Specified by:
scanFile
in interfaceJavaFileScanner
- Overrides:
scanFile
in classSubscriptionVisitor
- Parameters:
context
- Context of analysis containing the parsed tree.
-
leaveFile
Override this method only if you need to execute some instructions after the end of the analysis of a file.- Overrides:
leaveFile
in classSubscriptionVisitor
- Parameters:
context
- the analysis context.
-
addIssue
Report an issue on a specific line.- Parameters:
line
- line on which to report the issuemessage
- Message to display to the user
-
addIssueOnFile
Report an issue at file level.- Parameters:
message
- Message to display to the user
-
reportIssue
-
reportIssue
public void reportIssue(Tree tree, String message, List<JavaFileScannerContext.Location> flow, @Nullable Integer cost) Report an issue.- Parameters:
tree
- syntax node on which to raise the issue.message
- Message to display to the user.flow
- List ofJavaFileScannerContext.Location
to display secondary locations describing the flow leading to the issue. Empty list if the issue does not requires secondary location.cost
- computed remediation cost if applicable, null if not.
-
reportIssue
-
reportIssue
public void reportIssue(Tree startTree, Tree endTree, String message, List<JavaFileScannerContext.Location> flow, @Nullable Integer cost) Report an issue.- Parameters:
startTree
- syntax node on which to start the highlighting of the issue.endTree
- syntax node on which to end the highlighting of the issue.message
- Message to display to the user.flow
- List ofJavaFileScannerContext.Location
to display secondary locations describing the flow leading to the issue. Empty list if the issue does not requires secondary location.cost
- computed remediation cost if applicable, null if not.
-
leaveFile(JavaFileScannerContext)
orsetContext(JavaFileScannerContext)
instead.