デッド・コード分析の制限事項

サポートされる言語

COBOL のみがサポートされます。

マネージ・コードのサポート

デッド・コードの分析は、マネージ・コードをサポートしません。新しい OO COBOL 文はサポートされません。

ソースのフォーマット

「固定長」ソース・フォーマットのみがサポートされます。「可変長」および「自由」のソース・フォーマットはサポートされません。

ソース・フォーマットと方言の設定

デッド・コードの分析で正しいソース・フォーマットと方言が使われるように、それらを IDE 内でプロジェクト、ファイル、またはビルドの構成プロパティから設定する必要があります。詳細については、『プロジェクトとファイルのプロパティおよび構成』を参照してください。

デッド・コードの分析では、$SET 文または指令ファイル (.dir) を使用してソース・コードで設定したソース・フォーマットと方言は無視されます。

条件付きコンパイル

条件付きコンパイルはサポートされません。

単一のソース・ファイルのみ

デッド・コードの分析は、単一のソース・ファイルのみで実行できます。[COBOL Explorer] の [Dead Code] メニュー項目は、単一の COBOL ソース・ファイルを選択した場合のみに利用できます。

リモートCOBOLプロジェクト

デッド・コードの分析は、リモートCOBOLプロジェクトではサポートされません。 Eclipse IDEのローカルな COBOLファイルだけが解析の対象となります。

方言

デッド・コードの分析では、COBOL コンパイラがサポートするすべての方言はサポートされません。サポート対象外の方言を近似の方言にマップします (次の表を参照)。例えば、方言 RM は方言 Micro Focus にマップされます。この場合、最善の結果が返されるとは限りません。

COBOL 方言 デッド・コード分析での対応先
ANS85 COBOL 390
BS2000 Siemens BS2000 COBOL
BS2000-OFFLOAD Siemens BS2000 COBOL
COBOL370 VSC2
COBOL371 VSC2
COBOL372 VSC2
DOSVS VSC2
ENTCOBOL COBOL 390
ISO2002 COBOL 390
MVS COBOL 390
OS390 COBOL 390
RM MF
VSC21 VSC2
VSC22 VSC2
VSC23 VSC2
VSC24 VSC2

変数により定義される 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 文が呼び出し可能であってもデッドとしてマークが付けられます。

ブランチの予測

ブランチの予測は有効に設定されません。例えば、次ではデッド・コードの分析によって到達されないコードとして検出されません。
if 0 equals 1
               display "Unreachable code"
           else
               display "World"
           end-if 

ローカル変数宣言

ローカル変数宣言はサポートされません。

その他

デッド・コードの分析は、ディスク上のファイルのみで機能し、COBOL エディタで表示されるファイルでは機能しません。