Ignore:
Timestamp:
Aug 17, 2007, 7:36:51 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/LexicalScope.cpp

    r276 r288  
    7171    CallDestructorsOfScopeEnd();
    7272
    73     Variables &vars = UserProc::IsGlobalAreaCompiling() ?
    74         compiler.GetObjectModule().meta.GetGlobalVars() :
    75         UserProc::CompilingUserProc().GetLocalVars();
     73    Variables *pVars = UserProc::IsGlobalAreaCompiling() ?
     74        &compiler.GetObjectModule().meta.GetGlobalVars() :
     75        &UserProc::CompilingUserProc().GetLocalVars();
    7676
    7777    //使用済みローカル変数の生存チェックを外す
    78     BOOST_FOREACH( Variable *pVar, vars ){
     78    BOOST_FOREACH( Variable *pVar, (*pVars) ){
    7979        if(pVar->bLiving&&pVar->GetScopeLevel()==level){
    8080            pVar->bLiving=0;
     
    9696void LexicalScopes::CallDestructorsOfScopeEnd(){
    9797
    98     Variables &vars = UserProc::IsGlobalAreaCompiling() ?
    99         compiler.GetObjectModule().meta.GetGlobalVars() :
    100         UserProc::CompilingUserProc().GetLocalVars();
     98    Variables *pVariabls = UserProc::IsGlobalAreaCompiling() ?
     99        &compiler.GetObjectModule().meta.GetGlobalVars() :
     100        &UserProc::CompilingUserProc().GetLocalVars();
    101101
    102102
    103103    int i3;
    104104    int indexSystemGC=-1;
    105     for( i3 = (int)vars.size() - 1; i3 >= 0; i3-- ){        //確保したのと逆順序で解放するため、バックサーチにする
     105    for( i3 = (int)pVariabls->size() - 1; i3 >= 0; i3-- ){      //確保したのと逆順序で解放するため、バックサーチにする
    106106
    107         Variable *pVar = vars[i3];
     107        Variable *pVar = (*pVariabls)[i3];
    108108
    109109        if( UserProc::IsGlobalAreaCompiling() && GetNowLevel() == 0 ){
     
    159159    if(indexSystemGC!=-1){
    160160        //_System_GCオブジェクトのデストラクタの呼び出し処理
    161         const CMethod *method = vars[indexSystemGC]->GetType().GetClass().GetDestructorMethod();
     161        const CMethod *method = (*pVariabls)[indexSystemGC]->GetType().GetClass().GetDestructorMethod();
    162162        if( method ){
    163             Opcode_CallProc("",&method->GetUserProc(),0,vars[indexSystemGC]->GetName().c_str(),DEF_OBJECT);
     163            Opcode_CallProc("",&method->GetUserProc(),0,(*pVariabls)[indexSystemGC]->GetName().c_str(),DEF_OBJECT);
    164164        }
    165165    }
Note: See TracChangeset for help on using the changeset viewer.