Changeset 27 in dev for BasicCompiler32/Compile_Var.cpp


Ignore:
Timestamp:
Jan 7, 2007, 6:51:20 AM (18 years ago)
Author:
dai_9181
Message:

静的メンバ、静的メソッド周りを修正。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler32/Compile_Var.cpp

    r20 r27  
    498498
    499499
    500     ////////////////////
    501     // グローバル変数
    502     ////////////////////
    503 
    504     for(i=MaxGlobalVarNum-1;i>=0;i--){  //レキシカルスコープを考慮してバックサーチ
    505         if(GlobalVar[i].bLiving){
    506             if(lstrcmp(VarName,GlobalVar[i].name)==0) break;
    507         }
    508     }
    509     if(i>=0){
    510         goto GlobalOk;
    511     }
    512 
    513 
    514500    //////////////////////////
    515501    // クラスの静的メンバ
     
    518504    if(member[0]){
    519505        lstrcpy(temporary,member);
    520         GetVarFormatString(temporary,array,lpPtrOffset,member,&i);
     506        char tempMember[VN_SIZE];
     507        char tempArray[VN_SIZE];
     508        GetVarFormatString(temporary,tempArray,lpPtrOffset,tempMember,&i);
    521509
    522510        char temp2[VN_SIZE];
     
    527515
    528516        if(i!=MaxGlobalVarNum){
     517            lstrcpy(member,tempMember);
     518            lstrcpy(array,tempArray);
    529519            goto GlobalOk;
    530520        }
     
    543533        }
    544534    }
     535
     536
     537    ////////////////////
     538    // グローバル変数
     539    ////////////////////
     540
     541    for(i=MaxGlobalVarNum-1;i>=0;i--){  //レキシカルスコープを考慮してバックサーチ
     542        if(GlobalVar[i].bLiving){
     543            if(lstrcmp(VarName,GlobalVar[i].name)==0) break;
     544        }
     545    }
     546    if(i>=0){
     547        goto GlobalOk;
     548    }
     549
    545550
    546551    if(isErrorEnabled) SetError(3,variable,cp);
Note: See TracChangeset for help on using the changeset viewer.