12.3.3 ソースファイルをわたった影響2項関係
ソースファイルをわたった影響2項関係の説明です。
外部プログラムまたは利用者定義関数の呼び出しの引数と返却値
- 外部プログラム呼び出しまたは利用者定義関数呼び出しの実引数と仮引数の間の影響2項関係
-
対応する実引数と仮引数の組み合わせをすべて見つけて,「12.3.1 明示的影響2項関係」のプログラム呼び出しの引数の影響2項関係に示す影響2項関係を設定します。
- 外部プログラムまたは利用者定義関数の呼び出しの返却項目と返却値の受け取り項目の間の影響2項関係
-
対応する返却項目(プログラムにRETURNING指定がない場合はプログラムのRETURN-CODE特殊レジスタ)と返却値の受け取り項目の組み合わせを見つけて,返却項目から返却値の受け取り項目への影響2項関係を設定します。CALL文にRETURNING指定がない場合の返却値の受け取り項目は,CALL文を含むプログラムのRETURN-CODE特殊レジスタとなります。
外部データ(EXTERNAL)項目の影響2項関係
外部データ(EXTERNAL)項目間の影響2項関係の場合,どのプログラムにも属さない仮想的な外部データ項目を内部的に用意して,すべてのプログラムで同名の外部データ項目との間で,相互影響の影響2項関係を設定します。次に例を示します。仮想的な外部データ項目は表示の対象外です。
この影響2項関係の設定によってプログラムの外部データ項目が影響波及元データ項目になった場合,その外部データ項目の影響元として,ほかのすべてのプログラムにある外部データ項目が表示されるようになります。また,プログラムの外部データ項目が影響波及先データ項目になった場合,その外部データ項目の影響先として,ほかのすべてのプログラムにある外部データ項目が表示されるようになります。
ADDRESSED句指定のデータ項目の影響2項関係
ADDRESSED句指定のデータ項目と,アドレス名にアドレスが格納されたデータ項目の間が影響2項関係である場合,アドレス名に対する影響波及元解析を内部的に実行します。そして,アドレス名にアドレスが格納されるデータ項目をすべて洗い出し,それらのデータ項目とADDRESSED句指定の項目との間で,相互影響の影響2項関係を設定します。
例として,アドレス名PPで影響波及元解析を実行し,FUNCTION ADDR( B )とADDRESS OF Aを検出して,AとX,およびBとXの間に相互影響の影響2項関係の設定を次に示します。
注意
-
FUNCTION ADDR(一意名)やADDRESS OF 一意名の一意名が添字や部分参照子付きの場合,影響2項関係は設定しません。
-
添字付きのポインタ項目(アドレスデータ項目)やポインタ項目(アドレスデータ項目)以外のデータ項目を経由する場合,影響2項関係は設定しません。