Changeset 137 in dev for BasicCompiler32


Ignore:
Timestamp:
Jun 8, 2007, 3:11:47 AM (17 years ago)
Author:
dai_9181
Message:

アクセシビリティ周りをリファクタリングした。

Location:
BasicCompiler32
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler32/Compile_CallProc.cpp

    r135 r137  
    170170        // アクセスエラーチェック
    171171        //////////////////////////////
    172         DWORD dwAccess = pMethod->dwAccess;
    173172
    174173        if(ObjectName[0]){
     
    176175            if(pobj_c==pobj_CompilingClass){
    177176                //同一クラスオブジェクトの場合はプライベートアクセスを容認する
    178                 if(dwAccess==ACCESS_NON){
     177                if( pMethod->IsNoneAccess() ){
    179178                    SetError(109,pUserProc->GetName(),cp);
    180179                    return false;
     
    182181            }
    183182            else{
    184                 if(dwAccess==ACCESS_PRIVATE||
    185                     dwAccess==ACCESS_NON){
     183                if( pMethod->IsPrivate()
     184                    || pMethod->IsNoneAccess() ){
    186185                    SetError(109,pUserProc->GetName(),cp);
    187186                    return false;
    188187                }
    189                 if(dwAccess==ACCESS_PROTECTED){
     188                if( pMethod->IsProtected() ){
    190189                    SetError(110,pUserProc->GetName(),cp);
    191190                    return false;
     
    195194        else{
    196195            //クラス内部からの呼び出し(継承によるACCESS_NONのみをエラーとする)
    197             if(dwAccess==ACCESS_NON){
     196            if( pMethod->IsNoneAccess() ){
    198197                SetError(109,pUserProc->GetName(),cp);
    199198                return false;
  • BasicCompiler32/Compile_Var.cpp

    r135 r137  
    190190    if(&objClass==pobj_CompilingClass){
    191191        //同一クラスオブジェクトの場合はプライベートアクセスを容認する
    192         if(pMember->dwAccess==ACCESS_NON){
     192        if(pMember->IsNoneAccess()){
    193193            if(isErrorEnabled) SetError(107,VarName,cp);
    194194            return false;
     
    196196    }
    197197    else{
    198         if((bPrivateAccess==0&&pMember->dwAccess==ACCESS_PRIVATE)||
    199             pMember->dwAccess==ACCESS_NON){
     198        if((bPrivateAccess==0&&pMember->IsPrivate())||
     199            pMember->IsNoneAccess()){
    200200            if(isErrorEnabled) SetError(107,VarName,cp);
    201201            return false;
    202202        }
    203         else if(bPrivateAccess==0&&pMember->dwAccess==ACCESS_PROTECTED){
     203        else if(bPrivateAccess==0&&pMember->IsProtected()){
    204204            if(isErrorEnabled) SetError(108,VarName,cp);
    205205            return false;
     
    217217    }
    218218
    219     resultType = *pMember;
     219    resultType = pMember->GetType();
    220220
    221221    //ポインタ変数の場合
     
    243243    if(array[0]){
    244244        //配列オフセット
    245         if(!GetArrayOffset(pMember->SubScripts,array,*pMember)){
     245        if(!GetArrayOffset(pMember->SubScripts,array,pMember->GetType())){
    246246            if(isErrorEnabled) SetError(14,member,cp);
    247247        }
     
    323323            isErrorEnabled,
    324324            isWriteAccess,
    325             pMember->GetClass(),
     325            pMember->GetType().GetClass(),
    326326            NestMember,
    327327            pRelativeVar,
     
    755755
    756756                if(!SetInitGlobalData(offset+i3,
    757                     *objClass.ppobj_Member[i2],
     757                    objClass.ppobj_Member[i2]->GetType(),
    758758                    objClass.ppobj_Member[i2]->SubScripts,
    759759                    temporary)) return false;
     
    891891
    892892                if(!InitLocalVar(offset+i3,
    893                     *objClass.ppobj_Member[i2],
     893                    objClass.ppobj_Member[i2]->GetType(),
    894894                    objClass.ppobj_Member[i2]->SubScripts,
    895895                    temporary)) return false;
Note: See TracChangeset for help on using the changeset viewer.