16.4.2 IRに格納できるオブジェクトの型
IRに入れることができるオブジェクトを表16-5に示します。これらのオブジェクトのほとんどはIDL構文要素に対応しています。例えば,StructDefにはIDLのstruct宣言と同じ情報が入っており,InterfaceDefにはIDLのインタフェース宣言と同じ情報が入っています。IDLの基本型(boolean,longなど)宣言と同じ情報が入っているPrimitiveDefに至るまで,すべてこのように対応しています。
表16‒5 IRに格納できるオブジェクト
オブジェクトタイプ
|
説明
|
Repository
|
ほかのすべてのオブジェクトが入っている最上位モジュールを示します。
|
ModuleDef
|
IDLモジュール宣言を示します。この中には,ModuleDef,InterfaceDef,ConstantDef,AliasDef,ExceptionDef,およびIDLモジュールで定義できるそのほかのIDL構成体に相当するIRオブジェクトを入れることができます。
|
InterfaceDef
|
IDLインタフェース宣言を示し,OperationDef,ExceptionDef,AliasDef,ConstantDef,およびAttributeDefが入っています。
|
AttributeDef
|
IDL属性宣言を示します。
|
OperationDef
|
IDLオペレーション(メソッド)宣言を示します。インタフェースのオペレーションを定義します。これには,そのオペレーションに必要なパラメタのリスト,リターン値,そのオペレーションによって発生する可能性がある例外のリスト,およびコンテキストのリストが含まれます。
|
ConstantDef
|
IDL定数宣言を示します。
|
ExceptionDef
|
IDL例外宣言を示します。
|
ValueDef
|
定数,型,値メンバ,例外,オペレーション,および属性のリストが入っているvaluetype定義を示します。
|
ValueBoxDef
|
ほかのIDL型の,ボックスに入った単純なvaluetypeを示します。
|
ValueMemberDef
|
valuetypeのメンバを示します。
|
NativeDef
|
ネイティブ定義を示します。ユーザは独自のネイティブ定義ができます。
|
StructDef
|
IDL構造体宣言を示します。
|
UnionDef
|
IDL union宣言を示します。
|
EnumDef
|
IDL列挙体宣言を示します。
|
AliasDef
|
IDL typedef宣言を示します。IR TypedefDefインタフェースは,StructDef,UnionDef,およびそのほかの共通オペレーションを定義する基本インタフェースであることに注意してください。
|
StringDef
|
IDLバウンデッドstring宣言を示します。
|
SequenceDef
|
IDL sequence宣言を示します。
|
ArrayDef
|
IDL配列宣言を示します。
|
PrimitiveDef
|
IDL基本宣言(null,void,long,ushort,ulong,float,double,boolean,char,octet,any,TypeCode,Principal,string,objref,longlong,ulonglong,longdouble,wchar,およびwstring)を示します。
|
ページの先頭へ