コード分析機能には次の制約事項が適用されます。
ブランチの予測
ブランチの予測は有効に設定されません。たとえば、次ではデッド コードの分析によって到達されないコードとして検出されません。
if 0 equals 1
display "Unreachable code"
else
display "World"
end-if
条件付きコンパイル
条件付きコンパイルはサポートされません。
データ フロー分析
次の機能はサポートされません。
- 値渡し
- エントリ ポイント
- 同じプログラム内のエントリ ポイントへの内部呼び出しを介したデータの追跡 (再入)
- JSON 解析構文
- マルチプログラム ソース
- セクションのフォール スルー
- ファイル制御節からのデータ項目の選択
- 修飾された段落名 (段落の OF 節)
- 入れ子プログラム
コード分析ルール
入れ子プログラムはサポートされません。
変数により定義される ENTRY
変数により定義される ENTRY 文はサポートされず、そのような ENTRY 文は呼び出し可能な場合でもデッドとしてマークが付けられます。
working-storage section.
78 entry-name value "my-entry-name".
procedure division.
entry entry-name
display "this is my-entry-name"
goback
.
上記の例では、DISPLAY 文が呼び出し可能であってもデッドとしてマークが付けられます。
IDE メニュー項目
次の Microsoft の Visual Studio 分析コマンドは、Enterprise Developer プロジェクトではサポートされていません。
- 分析 > コード分析の実行 > ソリューション
- 分析 > コード分析の設定 > ソリューション
- 分析 > Windows > コード メトリックスの結果
ローカル変数宣言
ローカル変数宣言はサポートされません。
.NET COBOL サポート
.NET COBOL 構文はサポートされていません。
パラメーター化セクション
パラメーター化セクションを使用する場合、コード分析機能の多くは制限されます。以下はサポート対象外です。
- データ フローおよびデータ フロー グラフ
- プログラム フロー
- ルール
- 以下を含むコード スライス:
- プログラムへのセクション/段落の抽出
- セクション/段落からのプログラムの作成
- 計算からのプログラムの作成
- 条件からのプログラムの作成
プログラム フロー グラフ
次の機能はサポートされません。
- 値渡し
- エントリ ポイント
- JSON 解析構文
- マルチプログラム ソース - マルチプログラム COBOL ファイルについては、最初のプログラムのグラフのみが表示されます。
- セクションのフォール スルー
- 修飾された段落名 (段落の OF 節)
ネットワーク共有に保存されているプロジェクト
- プログラム フロー グラフおよびデータ フロー分析の機能は、ネットワーク共有に保存されているプロジェクトには使用できません。これらの機能を使用するには、プロジェクトをローカル ドライブにコピーする必要があります。
- コード スライスはサポートされません。
サポートされるプログラミング言語
COBOL 言語のみがサポートされます。