Changeset 392 in dev for trunk/abdev/BasicCompiler_Common/src
- Timestamp:
- Feb 20, 2008, 7:44:27 PM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler_Common/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/src/LexicalScope.cpp
r290 r392 76 76 77 77 //使用済みローカル変数の生存チェックを外す 78 BOOST_FOREACH( Variable *pVar, (*pVars) ){ 79 if(pVar->bLiving&&pVar->GetScopeLevel()==level){ 80 pVar->bLiving=0; 78 BOOST_FOREACH( Variable *pVar, (*pVars) ) 79 { 80 if( pVar->isLiving && pVar->GetScopeLevel() == level ) 81 { 82 pVar->isLiving = false; 81 83 pVar->SetScopeEndAddress( compiler.codeGenerator.GetNativeCodeSize() ); 82 84 } … … 115 117 116 118 //同一レベルのレキシカルスコープのみを検知 117 if( !pVar->bLiving) continue;119 if( !pVar->isLiving ) continue; 118 120 if( pVar->GetScopeLevel() != GetNowLevel() ) continue; 119 121 -
trunk/abdev/BasicCompiler_Common/src/Meta.cpp
r288 r392 88 88 if( pVar->GetScopeLevel() == 0 ) 89 89 { 90 pVar-> bLiving = TRUE;90 pVar->isLiving = true; 91 91 } 92 92 -
trunk/abdev/BasicCompiler_Common/src/Variable.cpp
r288 r392 34 34 for( int i=(int)this->size()-1; i>=0 ; i-- ){ 35 35 const Variable *pVar = (*this)[i]; 36 if( pVar-> bLiving //現在のスコープで有効なもの36 if( pVar->isLiving //現在のスコープで有効なもの 37 37 && pVar->GetScopeLevel() == compiler.codeGenerator.lexicalScopes.GetNowLevel() //現在のスコープと同一レベル 38 38 ) … … 51 51 for( int i=(int)this->size()-1; i>=0 ; i-- ){ 52 52 const Variable *pVar = (*this)[i]; 53 if( pVar-> bLiving //現在のスコープで有効なもの53 if( pVar->isLiving //現在のスコープで有効なもの 54 54 && pVar->GetScopeLevel() <= compiler.codeGenerator.lexicalScopes.GetNowLevel() //現在のスコープレベルを超さないもの(Returnによる解放処理中を考慮) 55 55 ){
Note:
See TracChangeset
for help on using the changeset viewer.