Since Checkstyle 8.24
Checks if unnecessary semicolon is used after type member declaration.
This check is not applicable to empty statements (unnecessary semicolons inside methods or init blocks), EmptyStatement is responsible for it.
name | description | type | default value | since |
---|---|---|---|---|
tokens | tokens to check | subset of tokens CLASS_DEF , INTERFACE_DEF , ENUM_DEF , ANNOTATION_DEF , VARIABLE_DEF , ANNOTATION_FIELD_DEF , STATIC_INIT , INSTANCE_INIT , CTOR_DEF , METHOD_DEF , ENUM_CONSTANT_DEF , COMPACT_CTOR_DEF , RECORD_DEF . | CLASS_DEF , INTERFACE_DEF , ENUM_DEF , ANNOTATION_DEF , VARIABLE_DEF , ANNOTATION_FIELD_DEF , STATIC_INIT , INSTANCE_INIT , CTOR_DEF , METHOD_DEF , ENUM_CONSTANT_DEF , COMPACT_CTOR_DEF , RECORD_DEF . | 8.24 |
To configure the check:
<module name="Checker"> <module name="TreeWalker"> <module name="UnnecessarySemicolonAfterTypeMemberDeclaration"/> </module> </module>
Results in following:
class A { ; // violation, standalone semicolon {}; // violation, extra semicolon after init block static {}; // violation, extra semicolon after static init block A(){}; // violation, extra semicolon after constructor definition void method() {}; // violation, extra semicolon after method definition int field = 10;; // violation, extra semicolon after field declaration { ; // no violation, it is empty statement inside init block } static { ; // no violation, it is empty statement inside static init block } void anotherMethod() { ; // no violation, it is empty statement if(true); // no violation, it is empty statement } }
All messages can be customized if the default message doesn't suit you. Please see the documentation to learn how to.
com.puppycrawl.tools.checkstyle.checks.coding