diff --git a/README.md b/README.md index 8b2c3e4..3c6d2b8 100644 --- a/README.md +++ b/README.md @@ -274,6 +274,7 @@ Rule|Level|Source|Enabled|Suppressible [UniformEnumConstantName](#uniformenumconstantname)|naming|sevntu|Yes| [UniqueProperties](#uniqueproperties)|javadoc|checkstyle|Yes| [UnnecessaryParentheses](#unnecessaryparentheses)|layout|checkstyle|Yes| +[UnnecessarySemicolonAfterOuterTypeDeclaration](#unnecessarysemicolonafteroutertypedeclaration)|layout|checkstyle|Yes| [UnusedImports](#unusedimports)|layout|checkstyle|Yes| [UpperEll](#upperell)|layout|checkstyle|Yes| [UselessSingleCatch](#uselesssinglecatch)|tweaks|sevntu|Yes| @@ -2134,6 +2135,55 @@ Invalid: ```` if ((a < 1)) {} ```` +#### [UnnecessarySemicolonAfterOuterTypeDeclaration](https://checkstyle.sourceforge.io/config_coding.html#UnnecessarySemicolonAfterOuterTypeDeclaration) + +Checks if unnecessary semicolon is used after type declaration. + +Valid: +````java +class A { + + class Nested { + + }; // OK, nested type declarations are ignored + +} + +interface B { + +} + +enum C { + +} + +@interface D { + +} +```` + +Invalid: +````java +class A { + + class Nested { + + }; // OK, nested type declarations are ignored + +}; // violation + +interface B { + +}; // violation + +enum C { + +}; // violation + +@interface D { + +}; // violation +```` #### [UnusedImports](http://checkstyle.sourceforge.net/config_imports.html#UnusedImports) Checks for unused imports. Does not inspect wildcard imports, which should be blocked by [AvoidStarImport](#avoidstarimport) anyway. diff --git a/builder/src/main/resources/application.yml b/builder/src/main/resources/application.yml index b225b0b..c9ce6aa 100644 --- a/builder/src/main/resources/application.yml +++ b/builder/src/main/resources/application.yml @@ -1573,3 +1573,10 @@ rules: enabled: true source: CHECKSTYLE uri: https://checkstyle.sourceforge.io/config_javadoc.html#JavadocMissingWhitespaceAfterAsterisk + - + name: UnnecessarySemicolonAfterOuterTypeDeclaration + parent: TREEWALKER + level: LAYOUT + enabled: true + source: CHECKSTYLE + uri: https://checkstyle.sourceforge.io/config_coding.html#UnnecessarySemicolonAfterOuterTypeDeclaration diff --git a/builder/src/main/resources/rules/UnnecessarySemicolonAfterOuterTypeDeclaration.md b/builder/src/main/resources/rules/UnnecessarySemicolonAfterOuterTypeDeclaration.md new file mode 100644 index 0000000..8569da5 --- /dev/null +++ b/builder/src/main/resources/rules/UnnecessarySemicolonAfterOuterTypeDeclaration.md @@ -0,0 +1,48 @@ + +Checks if unnecessary semicolon is used after type declaration. + +Valid: +````java +class A { + + class Nested { + + }; // OK, nested type declarations are ignored + +} + +interface B { + +} + +enum C { + +} + +@interface D { + +} +```` + +Invalid: +````java +class A { + + class Nested { + + }; // OK, nested type declarations are ignored + +}; // violation + +interface B { + +}; // violation + +enum C { + +}; // violation + +@interface D { + +}; // violation +```` diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-1-layout.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-1-layout.xml index 09a1c27..effd1e8 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-1-layout.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-1-layout.xml @@ -56,6 +56,7 @@ + diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-2-naming.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-2-naming.xml index 82c363e..fc62f88 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-2-naming.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-2-naming.xml @@ -83,6 +83,7 @@ + diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-3-javadoc.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-3-javadoc.xml index 8e6a90d..d219bfa 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-3-javadoc.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-3-javadoc.xml @@ -102,6 +102,7 @@ + diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-4-tweaks.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-4-tweaks.xml index ffa8529..2dcdf67 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-4-tweaks.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-4-tweaks.xml @@ -145,6 +145,7 @@ + diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-5-complexity.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-5-complexity.xml index d5f5904..0ed63b5 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-5-complexity.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-5-complexity.xml @@ -192,6 +192,7 @@ +