Changeset 537 in dev for trunk/ab5.0/abdev/BasicCompiler_Common/src
- Timestamp:
- May 3, 2008, 6:58:38 PM (17 years ago)
- Location:
- trunk/ab5.0/abdev/BasicCompiler_Common/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler_Common/src/Compiler.cpp
r536 r537 222 222 } 223 223 224 void Compiler::SetCompilingUserProc( const UserProc *pUserProc ) 225 { 226 this->pCompilingUserProc = pUserProc; 227 228 this->SetCompilingClass( pUserProc->GetParentClassPtr() ); 229 } 230 231 void Compiler::StartGlobalAreaCompile() 232 { 233 ClearCompilingUserProcAndClass(); 234 } 235 224 236 void Compiler::StartProcedureCompile( const UserProc *pUserProc ) 225 237 { 226 238 //コンパイル中の関数 227 this->pCompilingUserProc = pUserProc; 228 229 //コンパイル中の関数が属するクラス 230 this->SetCompilingClass( pUserProc->GetParentClassPtr() ); 239 this->SetCompilingUserProc( pUserProc ); 231 240 232 241 //コンパイルスタートをクラス管理クラスに追加 233 242 this->GetObjectModule().meta.GetClasses().StartCompile( pUserProc ); 234 243 235 //コンパイル中の関数236 UserProc::CompileStartForUserProc( pUserProc );237 238 244 // コンパイル中の関数が属する名前空間 239 245 this->GetNamespaceSupporter().SetLivingNamespaceScopes( pUserProc->GetNamespaceScopes() ); … … 255 261 return ( pCompilingUserProc == NULL ); 256 262 } 263 bool Compiler::IsLocalAreaCompiling() 264 { 265 return ( pCompilingUserProc != NULL ); 266 } 257 267 const UserProc &Compiler::GetCompilingUserProc() 258 268 { -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Exception.cpp
r524 r537 222 222 223 223 // Catchアドレス 224 const UserProc *pUserProc = & UserProc::CompilingUserProc();225 if( UserProc::IsGlobalAreaCompiling() )224 const UserProc *pUserProc = &compiler.GetCompilingUserProc(); 225 if( compiler.IsGlobalAreaCompiling() ) 226 226 { 227 227 pUserProc = UserProc::pGlobalProc; -
trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalScope.cpp
r485 r537 71 71 CallDestructorsOfScopeEnd(); 72 72 73 Variables *pVars = UserProc::IsGlobalAreaCompiling() ?73 Variables *pVars = compiler.IsGlobalAreaCompiling() ? 74 74 &compiler.GetObjectModule().meta.GetGlobalVars() : 75 & UserProc::CompilingUserProc().GetLocalVars();75 &compiler.GetCompilingUserProc().GetLocalVars(); 76 76 77 77 //使用済みローカル変数の生存チェックを外す … … 98 98 void LexicalScopes::CallDestructorsOfScopeEnd(){ 99 99 100 Variables *pVariabls = UserProc::IsGlobalAreaCompiling() ?100 Variables *pVariabls = compiler.IsGlobalAreaCompiling() ? 101 101 &compiler.GetObjectModule().meta.GetGlobalVars() : 102 & UserProc::CompilingUserProc().GetLocalVars();102 &compiler.GetCompilingUserProc().GetLocalVars(); 103 103 104 104 … … 109 109 Variable *pVar = (*pVariabls)[i3]; 110 110 111 if( UserProc::IsGlobalAreaCompiling() && GetNowLevel() == 0 ){111 if( compiler.IsGlobalAreaCompiling() && GetNowLevel() == 0 ){ 112 112 if( pVar->GetName() == "_System_GC" ){ 113 113 indexSystemGC=i3; … … 152 152 153 153 154 if( UserProc::IsGlobalAreaCompiling() ){154 if( compiler.IsGlobalAreaCompiling() ){ 155 155 //ここには来ないハズ 156 156 compiler.errorMessenger.Output(300,NULL,cp); -
trunk/ab5.0/abdev/BasicCompiler_Common/src/NativeCode.cpp
r465 r537 85 85 if( scheduleType == Schedule::CatchAddress ) 86 86 { 87 const UserProc *pUserProc = & UserProc::CompilingUserProc();88 if( UserProc::IsGlobalAreaCompiling() )87 const UserProc *pUserProc = &compiler.GetCompilingUserProc(); 88 if( compiler.IsGlobalAreaCompiling() ) 89 89 { 90 90 pUserProc = UserProc::pGlobalProc; -
trunk/ab5.0/abdev/BasicCompiler_Common/src/Procedure.cpp
r523 r537 483 483 } 484 484 485 const UserProc *UserProc::pCompilingUserProc = NULL;486 485 const UserProc *UserProc::pGlobalProc = NULL; 487 486
Note:
See TracChangeset
for help on using the changeset viewer.