Changeset 299 in dev for trunk/abdev/BasicCompiler_Common/src/Compiler.cpp
- Timestamp:
- Aug 23, 2007, 6:17:00 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/src/Compiler.cpp
r290 r299 34 34 35 35 // ジェネリクスクラスを取得 36 const CClass *pGenericClass = compiler.GetObjectModule().meta.GetClasses().Find( className );36 const CClass *pGenericClass = this->GetObjectModule().meta.GetClasses().Find( className ); 37 37 38 38 // 型パラメータの型情報を取得 … … 62 62 //関数ポインタ(*Function) 63 63 type.SetBasicType( DEF_PTR_PROC ); 64 type.SetIndex( compiler.GetObjectModule().meta.GetProcPointers().Add( typeName ) );64 type.SetIndex( this->GetObjectModule().meta.GetProcPointers().Add( typeName ) ); 65 65 return true; 66 66 } … … 88 88 // Object型だったとき 89 89 if( typeName == "Object" ){ 90 type.SetType( DEF_OBJECT, compiler.GetObjectModule().meta.GetClasses().GetObjectClassPtr() );90 type.SetType( DEF_OBJECT, this->GetObjectModule().meta.GetClasses().GetObjectClassPtr() ); 91 91 return true; 92 92 } … … 94 94 // String型だったとき 95 95 if( typeName == "String" ){ 96 type.SetType( DEF_OBJECT, compiler.GetObjectModule().meta.GetClasses().GetStringClassPtr() );96 type.SetType( DEF_OBJECT, this->GetObjectModule().meta.GetClasses().GetStringClassPtr() ); 97 97 return true; 98 98 } … … 102 102 // TypeDefされた型 103 103 //////////////////// 104 int i= compiler.GetObjectModule().meta.GetTypeDefs().GetIndex( typeName );104 int i=this->GetObjectModule().meta.GetTypeDefs().GetIndex( typeName ); 105 105 if(i!=-1){ 106 type = compiler.GetObjectModule().meta.GetTypeDefs()[i].GetBaseType();106 type = this->GetObjectModule().meta.GetTypeDefs()[i].GetBaseType(); 107 107 return true; 108 108 } 109 109 110 110 //クラス 111 const CClass *pobj_c = compiler.GetObjectModule().meta.GetClasses().Find( typeName );111 const CClass *pobj_c = this->GetObjectModule().meta.GetClasses().Find( typeName ); 112 112 if(pobj_c){ 113 113 if( pobj_c->IsStructure() ){ … … 126 126 127 127 // 型パラメータ 128 if( compiler.pCompilingClass )128 if( this->pCompilingClass ) 129 129 { 130 130 // クラスに属するメソッドをコンパイルしているとき 131 if( compiler.pCompilingClass->IsExistFormalGenericTypeParameter( typeName ) ) 131 int formalTypeIndex = this->pCompilingClass->GetFormalGenericTypeParameterIndex( typeName ); 132 if( formalTypeIndex != -1 ) 132 133 { 133 134 // コンパイル中クラスにおけるジェネリクス用の型パラメータのとき 134 135 type.SetBasicType( DEF_TYPE_PARAMETER ); 135 type.SetClassPtr( compiler.GetObjectModule().meta.GetClasses().GetObjectClassPtr() ); 136 type.SetClassPtr( this->GetObjectModule().meta.GetClasses().GetObjectClassPtr() ); 137 type.SetFormalTypeName( typeName ); 138 type.SetFormalTypeIndex( formalTypeIndex ); 136 139 return true; 137 140 } … … 169 172 } 170 173 else{ 171 if( compiler.GetObjectModule().meta.GetProcPointers()[type.GetIndex()]->ReturnType().IsNull() ){174 if( this->GetObjectModule().meta.GetProcPointers()[type.GetIndex()]->ReturnType().IsNull() ){ 172 175 return "*Sub"; 173 176 }
Note:
See TracChangeset
for help on using the changeset viewer.