Ignore:
Timestamp:
May 10, 2008, 12:19:15 PM (16 years ago)
Author:
dai_9181
Message:

[530][583]を64bit版にマージ。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/compiler_x64/Compile_CallProc.cpp

    r514 r584  
    121121            {
    122122                //クラスメンバ関数内から基底クラスの呼び出し
    123                 pobj_c=&compiler.pCompilingClass->GetSuperClass();
     123                pobj_c=&compiler.GetCompilingClass().GetSuperClass();
    124124
    125125                isFixedClass = true;
     
    140140                if( !pobj_c )
    141141                {
    142                     pobj_c=compiler.GetObjectModule().meta.GetClasses().Find(ObjectName);
     142                    pobj_c = compiler.GetObjectModule().meta.FindClassSupportedTypeDef( ObjectName );
    143143                    if( pobj_c ){
    144144                        isStatic = true;
     
    155155
    156156                //New演算子によるコンストラクタ呼び出し
    157                 pobj_c=pUserProc->GetParentClassPtr();
     157                pobj_c = pUserProc->GetParentClassPtr();
    158158            }
    159159            else{
    160160                //クラスメンバ関数内から同一クラスのメンバ関数の呼び出し
    161                 pobj_c=compiler.pCompilingClass;
     161                pobj_c = &compiler.GetCompilingClass();
    162162            }
    163163        }
     
    188188        if(ObjectName[0]){
    189189            //外部からの呼び出し
    190             if(pobj_c==compiler.pCompilingClass){
     190            if( compiler.IsCompilingClass() && pobj_c == &compiler.GetCompilingClass() )
     191            {
    191192                //同一クラスオブジェクトの場合はプライベートアクセスを容認する
    192                 if( pMethod->IsNoneAccess() ){
     193                if( pMethod->IsNoneAccess() )
     194                {
    193195                    compiler.errorMessenger.Output(109,pUserProc->GetName(),cp);
    194196                    return false;
    195197                }
    196198            }
    197             else{
     199            else
     200            {
    198201                if( pMethod->IsPrivate()
    199                     || pMethod->IsNoneAccess() ){
     202                    || pMethod->IsNoneAccess() )
     203                {
    200204                    compiler.errorMessenger.Output(109,pUserProc->GetName(),cp);
    201205                    return false;
    202206                }
    203                 if( !pMethod->GetUserProc().GetParentClass().IsEqualsOrSubClass( pobj_c ) && pMethod->IsProtected() ){
     207                if( !pMethod->GetUserProc().GetParentClass().IsEqualsOrSubClass( pobj_c ) && pMethod->IsProtected() )
     208                {
    204209                    compiler.errorMessenger.Output(110,pUserProc->GetName(),cp);
    205210                    return false;
Note: See TracChangeset for help on using the changeset viewer.