C and C++


LANG.STRUCT.MULTISTMT : 一行に複数の命令文

要旨

一行に二つ以上の命令文が含まれています。

プロパティ

クラス名 Multiple Statements On Line
日本語クラス名 一行に複数の命令文
クラス分類 スタイル (style)
ニーモニック LANG.STRUCT.MULTISTMT
カテゴリー
CWE CWE:1078 Inappropriate Source Code Style or Formatting
JSF++ JSF++:42 Each expression-statement will be on a separate line.
JPL JPL:24 Place no more than one statement or declaration per line of text.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっており、プロジェクトには非正規の C向けAST が必要になります。有効にするにはプロジェクト設定ファイル (configuration file) に以下の WARNING_FILTER ルールと RETAIN_UNNORMALIZED_C_AST 設定を追加してください。
RETAIN_UNNORMALIZED_C_AST = Yes
WARNING_FILTER += allow class="Multiple Statements On Line"
注:非正規化された AST を継続して使用した場合、使用ディスク容量が増加し解析時間が長くなる可能性があります。

int lang_struct_multistmt(int a, int b){
    int i = a;
    int j = b;
    i++; j++;   /* 'Multiple Statements On Line' warning issued here */
    return i+j;
}

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。