Changeset 536 in dev for trunk/ab5.0/abdev/BasicCompiler_Common/src/Compiler.cpp
- Timestamp:
- May 3, 2008, 6:32:50 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler_Common/src/Compiler.cpp
r533 r536 145 145 146 146 // 型パラメータ 147 if( this-> pCompilingClass)147 if( this->IsCompilingClass() ) 148 148 { 149 149 // クラスに属するメソッドをコンパイルしているとき 150 int formalTypeIndex = this-> pCompilingClass->GetFormalGenericTypeParameterIndex( typeName );150 int formalTypeIndex = this->GetCompilingClass().GetFormalGenericTypeParameterIndex( typeName ); 151 151 if( formalTypeIndex != -1 ) 152 152 { 153 153 // コンパイル中クラスにおけるジェネリクス用の型パラメータのとき 154 154 type.SetBasicType( DEF_TYPE_PARAMETER ); 155 type.SetClassPtr( &this-> pCompilingClass->GetFormalGenericTypes()[formalTypeIndex].GetType().GetClass() );155 type.SetClassPtr( &this->GetCompilingClass().GetFormalGenericTypes()[formalTypeIndex].GetType().GetClass() ); 156 156 type.SetFormalTypeName( typeName ); 157 157 type.SetFormalTypeIndex( formalTypeIndex ); … … 211 211 } 212 212 213 void Compiler::ClearCompilingUserProcAndClass() 214 { 215 this->pCompilingUserProc = NULL; 216 this->pCompilingClass = NULL; 217 } 218 219 void Compiler::SetCompilingClass( const CClass *pClass ) 220 { 221 this->pCompilingClass = pClass; 222 } 223 213 224 void Compiler::StartProcedureCompile( const UserProc *pUserProc ) 214 225 { 226 //コンパイル中の関数 227 this->pCompilingUserProc = pUserProc; 228 215 229 //コンパイル中の関数が属するクラス 216 this-> pCompilingClass = pUserProc->GetParentClassPtr();230 this->SetCompilingClass( pUserProc->GetParentClassPtr() ); 217 231 218 232 //コンパイルスタートをクラス管理クラスに追加 … … 233 247 void Compiler::FinishProcedureCompile() 234 248 { 235 } 249 this->pCompilingUserProc = NULL; 250 this->pCompilingClass = NULL; 251 } 252 253 bool Compiler::IsGlobalAreaCompiling() 254 { 255 return ( pCompilingUserProc == NULL ); 256 } 257 const UserProc &Compiler::GetCompilingUserProc() 258 { 259 if( !this->IsGlobalAreaCompiling() ) 260 { 261 return *pCompilingUserProc; 262 } 263 264 throw; 265 } 266 267 bool Compiler::IsCompilingClass() 268 { 269 return ( pCompilingClass != NULL ); 270 } 271 const CClass &Compiler::GetCompilingClass() 272 { 273 if( this->IsCompilingClass() ) 274 { 275 return *pCompilingClass; 276 } 277 278 throw; 279 }
Note:
See TracChangeset
for help on using the changeset viewer.