Changeset 137 in dev for BasicCompiler64


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

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

Location:
BasicCompiler64
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler64/BasicCompiler.vcproj

    r135 r137  
    480480                    >
    481481                    <File
    482                         RelativePath="..\BasicCompiler_Common\include\Member.h"
    483                         >
    484                     </File>
    485                     <File
    486                         RelativePath="..\BasicCompiler_Common\include\Method.h"
    487                         >
    488                     </File>
    489                     <File
    490482                        RelativePath="..\BasicCompiler_Common\include\Namespace.h"
    491483                        >
     
    500492                    </File>
    501493                    <File
    502                         RelativePath="..\BasicCompiler_Common\include\Prototype.h"
    503                         >
    504                     </File>
    505                     <File
    506494                        RelativePath="..\BasicCompiler_Common\Type.h"
    507495                        >
     
    515503                        >
    516504                    </File>
     505                    <Filter
     506                        Name="Prototype"
     507                        >
     508                        <File
     509                            RelativePath="..\BasicCompiler_Common\include\Member.h"
     510                            >
     511                        </File>
     512                        <File
     513                            RelativePath="..\BasicCompiler_Common\include\Method.h"
     514                            >
     515                        </File>
     516                        <File
     517                            RelativePath="..\BasicCompiler_Common\include\Prototype.h"
     518                            >
     519                        </File>
     520                    </Filter>
    517521                </Filter>
    518522                <Filter
  • BasicCompiler64/Compile_CallProc.cpp

    r135 r137  
    175175        // アクセスエラーチェック
    176176        //////////////////////////////
    177         DWORD dwAccess = pMethod->dwAccess;
    178177
    179178        if(ObjectName[0]){
     
    181180            if(pobj_c==pobj_CompilingClass){
    182181                //同一クラスオブジェクトの場合はプライベートアクセスを容認する
    183                 if(dwAccess==ACCESS_NON){
     182                if( pMethod->IsNoneAccess() ){
    184183                    SetError(109,pUserProc->GetName(),cp);
    185184                    return false;
     
    187186            }
    188187            else{
    189                 if(dwAccess==ACCESS_PRIVATE||
    190                     dwAccess==ACCESS_NON){
     188                if( pMethod->IsPrivate()
     189                    || pMethod->IsNoneAccess() ){
    191190                    SetError(109,pUserProc->GetName(),cp);
    192191                    return false;
    193192                }
    194                 if(dwAccess==ACCESS_PROTECTED){
     193                if( pMethod->IsProtected() ){
    195194                    SetError(110,pUserProc->GetName(),cp);
    196195                    return false;
     
    200199        else{
    201200            //クラス内部からの呼び出し(継承によるACCESS_NONのみをエラーとする)
    202             if(dwAccess==ACCESS_NON){
     201            if( pMethod->IsNoneAccess() ){
    203202                SetError(109,pUserProc->GetName(),cp);
    204203                return false;
  • BasicCompiler64/Compile_Var.cpp

    r135 r137  
    219219    if(&objClass==pobj_CompilingClass){
    220220        //同一クラスオブジェクトの場合はプライベートアクセスを容認する
    221         if(pMember->dwAccess==ACCESS_NON){
     221        if(pMember->IsNoneAccess()){
    222222            if(isErrorEnabled) SetError(107,VarName,cp);
    223223            return false;
     
    225225    }
    226226    else{
    227         if((bPrivateAccess==0&&pMember->dwAccess==ACCESS_PRIVATE)||
    228             pMember->dwAccess==ACCESS_NON){
     227        if((bPrivateAccess==0&&pMember->IsPrivate())||
     228            pMember->IsNoneAccess()){
    229229            if(isErrorEnabled) SetError(107,VarName,cp);
    230230            return false;
    231231        }
    232         else if(bPrivateAccess==0&&pMember->dwAccess==ACCESS_PROTECTED){
     232        else if(bPrivateAccess==0&&pMember->IsProtected()){
    233233            if(isErrorEnabled) SetError(108,VarName,cp);
    234234            return false;
     
    246246    }
    247247
    248     resultType = *pMember;
     248    resultType = pMember->GetType();
    249249
    250250    //ポインタ変数の場合
     
    273273    if(array[0]){
    274274        //配列オフセット
    275         if(!GetArrayOffset(pMember->SubScripts,array,*pMember)){
     275        if(!GetArrayOffset(pMember->SubScripts,array,pMember->GetType())){
    276276            if(isErrorEnabled) SetError(14,member,cp);
    277277        }
     
    352352            isErrorEnabled,
    353353            isWriteAccess,
    354             pMember->GetClass(),
     354            pMember->GetType().GetClass(),
    355355            NestMember,
    356356            pRelativeVar,
     
    777777
    778778                if(!SetInitGlobalData(offset+i3,
    779                     *objClass.ppobj_Member[i2],
     779                    objClass.ppobj_Member[i2]->GetType(),
    780780                    objClass.ppobj_Member[i2]->SubScripts,
    781781                    temporary)) return false;
     
    913913
    914914                if(!InitLocalVar(offset+i3,
    915                     *objClass.ppobj_Member[i2],
     915                    objClass.ppobj_Member[i2]->GetType(),
    916916                    objClass.ppobj_Member[i2]->SubScripts,
    917917                    temporary)) return false;
Note: See TracChangeset for help on using the changeset viewer.