Changeset 410 in dev


Ignore:
Timestamp:
Mar 3, 2008, 6:36:30 PM (17 years ago)
Author:
dai_9181
Message:

[409]をマージした。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler64/Compile_Var.cpp

    r402 r410  
    208208    ////////////////////////////
    209209
    210     int memberIndex;
    211     int offset = objClass.GetMemberOffset( VarName, &memberIndex );
    212     if( memberIndex == objClass.GetDynamicMembers().size() ){
     210    const CMember *pMember = objClass.FindDynamicMember( VarName );
     211    if( !pMember )
     212    {
    213213        if(isErrorEnabled) SetError(103,VarName,cp);
    214214        return false;
    215215    }
    216216
    217     CMember *pMember = objClass.GetDynamicMembers()[memberIndex];
     217    int offset = objClass.GetMemberOffset( VarName );
    218218
    219219
     
    491491        }
    492492        else{
    493             //クラス内メンバを参照するとき(通常)
    494 
    495             bool isFound = false;
    496             BOOST_FOREACH( CMember *pMember, compiler.pCompilingClass->GetDynamicMembers() ){
    497                 if( pMember->GetName() == VarName ){
    498                     isFound = true;
    499                     break;
    500                 }
    501             }
    502             if( !isFound ) goto NonClassMember;
     493            //クラス内の動的メンバを参照するとき(通常)
     494
     495            if( !compiler.pCompilingClass->HasDynamicMember( VarName ) )
     496            {
     497                goto NonClassMember;
     498            }
    503499        }
    504500
     
    817813                i=GetOneParameter(InitBuf,i,temporary);
    818814
    819                 i3=objClass.GetMemberOffset( pMember->GetName().c_str(), NULL );
     815                i3=objClass.GetMemberOffset( pMember->GetName().c_str() );
    820816
    821817                if(!SetInitGlobalData(offset+i3,
     
    985981                i=GetOneParameter(InitBuf,i,temporary);
    986982
    987                 i3=objClass.GetMemberOffset( pMember->GetName().c_str(), NULL );
     983                i3=objClass.GetMemberOffset( pMember->GetName().c_str() );
    988984
    989985                if(!InitLocalVar(offset+i3,
Note: See TracChangeset for help on using the changeset viewer.