Class UnnecessarySemicolonInTryWithResourcesCheck
java.lang.Object
com.puppycrawl.tools.checkstyle.api.AutomaticBean
com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
com.puppycrawl.tools.checkstyle.api.AbstractCheck
com.puppycrawl.tools.checkstyle.checks.coding.UnnecessarySemicolonInTryWithResourcesCheck
- All Implemented Interfaces:
Configurable, Contextualizable
Checks if unnecessary semicolon is used in last resource declaration.
-
Property
allowWhenNoBraceAfterSemicolon- Allow unnecessary semicolon if closing paren is not on the same line. Type isboolean. Default value istrue.
To configure the check:
<module name="UnnecessarySemicolonInTryWithResources"/>
Example of violations
class A {
void method() throws IOException {
try(Reader r1 = new PipedReader();){} // violation
try(Reader r4 = new PipedReader();Reader r5 = new PipedReader()
;){} // violation
try(Reader r6 = new PipedReader();
Reader r7
= new PipedReader();
){}
}
}
To configure the check to detect unnecessary semicolon if closing paren is not on same line
<module name="UnnecessarySemicolonInTryWithResources"> <property name="allowWhenNoBraceAfterSemicolon" value="false"/> </module>
Example of exclusion
class A {
void method() throws IOException {
try(Reader r1 = new PipedReader();){} // violation
try(Reader r6 = new PipedReader();
Reader r7 = new PipedReader(); // violation
){}
}
}
Parent is com.puppycrawl.tools.checkstyle.TreeWalker
Violation Message Keys:
-
unnecessary.semicolon
- Since:
- 8.22
-
Nested Class Summary
Nested classes/interfaces inherited from class AutomaticBean
AutomaticBean.OutputStreamOptions -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanAllow unnecessary semicolon if closing paren is not on the same line.static final StringA key is pointing to the warning message text in "messages.properties" file. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint[]The configurable token set.int[]Returns the default token a check is interested in.int[]The tokens that this check must be registered for.voidsetAllowWhenNoBraceAfterSemicolon(boolean allowWhenNoBraceAfterSemicolon) Setter to allow unnecessary semicolon if closing paren is not on the same line.voidvisitToken(DetailAST ast) Called to process a token.Methods inherited from class AbstractCheck
beginTree, clearViolations, destroy, finishTree, getFileContents, getLine, getLineCodePoints, getLines, getTabWidth, getTokenNames, getViolations, init, isCommentNodesRequired, leaveToken, log, log, log, setFileContents, setTabWidth, setTokensMethods inherited from class AbstractViolationReporter
finishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverityMethods inherited from class AutomaticBean
configure, contextualize, getConfiguration, setupChild
-
Field Details
-
MSG_SEMI
A key is pointing to the warning message text in "messages.properties" file.- See Also:
-
allowWhenNoBraceAfterSemicolon
private boolean allowWhenNoBraceAfterSemicolonAllow unnecessary semicolon if closing paren is not on the same line.
-
-
Constructor Details
-
UnnecessarySemicolonInTryWithResourcesCheck
public UnnecessarySemicolonInTryWithResourcesCheck()
-
-
Method Details
-
getDefaultTokens
public int[] getDefaultTokens()Description copied from class:AbstractCheckReturns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.- Specified by:
getDefaultTokensin classAbstractCheck- Returns:
- the default tokens
- See Also:
-
getAcceptableTokens
public int[] getAcceptableTokens()Description copied from class:AbstractCheckThe configurable token set. Used to protect Checks against malicious users who specify an unacceptable token set in the configuration file. The default implementation returns the check's default tokens.- Specified by:
getAcceptableTokensin classAbstractCheck- Returns:
- the token set this check is designed for.
- See Also:
-
getRequiredTokens
public int[] getRequiredTokens()Description copied from class:AbstractCheckThe tokens that this check must be registered for.- Specified by:
getRequiredTokensin classAbstractCheck- Returns:
- the token set this must be registered for.
- See Also:
-
setAllowWhenNoBraceAfterSemicolon
public void setAllowWhenNoBraceAfterSemicolon(boolean allowWhenNoBraceAfterSemicolon) Setter to allow unnecessary semicolon if closing paren is not on the same line.- Parameters:
allowWhenNoBraceAfterSemicolon- a value to set.
-
visitToken
Description copied from class:AbstractCheckCalled to process a token.- Overrides:
visitTokenin classAbstractCheck- Parameters:
ast- the token to process
-