AnnotationOnSameLine
検証環境
Checkstyleバージョン:10.3.3
Javaバージョン:17
チェック概要
チェック追加バージョン |
---|
Checkstyle 8.2 |
アノテーションと対象要素が同じ行にあることをチェックする。
プロパティ
プロパティ | 型 | デフォルト値 | 説明 | 追加 バージョン |
---|---|---|---|---|
tokens | トークンの サブセット | CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF, RECORD_DEF, COMPACT_CTOR_DEF |
チェック対象のトークン | 8.2 |
〇 トークンのサブセットには以下の値が設定可能
値 | 説明 |
---|---|
ANNOTATION_DEF | アノテーション宣言 |
ANNOTATION_FIELD_DEF | アノテーションフィールドの宣言 |
CLASS_DEF | クラス宣言 |
COMPACT_CTOR_DEF | 引数なしコンストラクタ宣言 |
CTOR_DEF | コンストラクター宣言 |
DOT | . |
ENUM_DEF | enum宣言 |
IMPLEMENTS_CLAUSE | implements 句 |
INTERFACE_DEF | インターフェイス宣言 |
LITERAL_NEW | new 句 |
LITERAL_THROWS | throws 句 |
METHOD_DEF | メソッド宣言 |
PARAMETER_DEF | パラメータ宣言 |
RECORD_DEF | レコード宣言 |
TYPECAST | 型キャスト |
TYPE_ARGUMENT | 型参照またはメソッド/コンストラクタ呼び出しの型パラメータ |
VARIABLE_DEF | フィールドまたはローカル変数の宣言 |
設定+チェック実行結果
プロパティ設定なし
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="AnnotationOnSameLine"/> </module> </module>
チェック実行例
public class MyClass { // OK @Deprecated public void bar() { } // OK @Before @Override public void bar() { } // NG アノテーションは対象要素と同行に記述する @Override public void bar() { } // NG アノテーションは対象要素と同行に記述する @SuppressWarnings("deprecation") @Before public void bar() { } }
プロパティ設定あり
tokens
チェック対象のトークンをコンマ区切りで記述する。
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name = "AnnotationOnSameLine"> <property name = "tokens" value = "CLASS_DEF" /> </module> </module> </module>
チェック実行例
public class MyClass { // OK メソッド宣言はチェック対象外 @Deprecated public void bar() { } // OK メソッド宣言はチェック対象外 @Before @Override public void bar() { } // OK メソッド宣言はチェック対象外 @Override public void bar() { } // OK メソッド宣言はチェック対象外 @SuppressWarnings("deprecation") @Before public void bar() { } }