16.4 IRの構造の理解

IR内のオブジェクトは階層構造になっており,その階層は,IDL指定でインタフェースが定義されている方法に対応しています。IDLモジュール定義が幾つかのインタフェース定義を含むことがあるのと同様に,IR内の一部のオブジェクトがほかのオブジェクトを含むことがあります。IDLサンプル16-1に示すIDLファイルが,IR内でどのようにしてオブジェクトの階層に変換されるのかを図16-1に示します。

IDLサンプル16-1 Bank.idlファイル

// Bank.idl
module Bank {
  interface Account {
     float balance();
  };
  interface AccountManager {
     Account open(in string name);
  };
};

図16-1 Bank.idlのIRオブジェクト階層

[図データ]

OperationDefオブジェクトには,パラメタとリターンタイプを保持する追加データ構造体(インタフェースではない)のリファレンスが入っています。

<この節の構成>
16.4.1 IR内のオブジェクトの識別
16.4.2 IRに格納できるオブジェクトの型
16.4.3 継承されるインタフェース