containerContextDependent プロパティーは、独立型関数内の参照 (『関数』を参照) を、生成後に関数が置かれるコンテナー (メイン・パーツ) について解決することを指定します。 これは、コンテナーの宣言とインポートが、生成プロセス中に参照を解決するために使用されることを意味します。 独立型関数それ自体は、最上位レベルのパーツではありますが、参照解決に必要なすべてのパッケージを最終コンテナーがそれをインポートする限りはインポートする必要はありません。例えば、このプロパティーを関数が複数のプログラム内で使用されている状況で使用したい場合は、変数名は関数を呼び出すプログラムによってそれぞれ別々に解決されます。
containerContextDependent プロパティーは、独立型関数の場合にのみ使用してください。 VisualAge® Generator (言語によるライブラリーのサポートなし) で作成されたプログラムなど、プログラムとの互換性を求め、EGL では独立型関数をサポートしています。新規コード作成時には、独立型関数や containerContextDependent プロパティーを使用することはできません。
package p;
Program pgm {includeReferencedFunctions = yes}
function main()
standaloneFunc1();
end
function functionInPgm()
end
end
DataItem intInP int end
package p2;
function standaloneFunc1 { containerContextDependent=yes }
// 関数への参照を解決
// containerContextDependent により
functionInPgm();
// パーツへの参照を解決
// containerContextDependent により
myVar intInP;
end
function standaloneFunc2
functionInPgm(); // 参照を解決できません
myVar intInP; // 参照を解決できません
end
function standaloneFunc3
// パーツへの参照を次の理由により解決
// パッケージ名で修飾
myVar p.intInP;
end
| プラットフォーム | 問題 |
|---|---|
| JavaScript 生成 | プロパティー containerContextDependent はサポートされません。 |