Ignore:
Timestamp:
Aug 29, 2007, 9:05:22 AM (17 years ago)
Author:
dai_9181
Message:

静的リンクライブラリにより、複数のグローバル領域が存在することになったのでそれぞれを関数ベースに分けた

File:
1 edited

Legend:

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

    r266 r308  
    112112    else if( resultType.IsWhole() || resultType.IsObject()){
    113113        //整数型
    114         SetReg_WholeVariable(resultType.GetBasicType(),&relativeVar,UseReg);
     114        SetReg_WholeVariable(resultType,&relativeVar,UseReg);
    115115    }
    116116    else if( resultType.IsStruct() ){
     
    132132    return true;
    133133}
    134 bool TermMemberOpe( const CClass &objClass, const Type &baseType, Type &resultType, const char *termFull, const char *termLeft, const char *member ){
     134bool TermMemberOpe( const Type &leftType, const Type &baseType, Type &resultType, const char *termFull, const char *termLeft, const char *member )
     135{
     136    const CClass &objClass = leftType.GetClass();
    135137
    136138    int UseReg=pobj_reg->GetNextReg();
     
    138140
    139141
    140     if( GetMemberType( objClass, member, resultType, 0, false ) ){
     142    if( GetMemberType( leftType, member, resultType, 0, false ) ){
    141143        // メンバが見つかったとき
    142144
     
    192194                pobj_sf->push( UseReg );
    193195
    194                 if( !Opcode_CallProc(parameter,pUserProc,PROCFLAG_NEW,termLeft,0 ) ){
     196                if( !Opcode_CallProc(parameter,pUserProc,PROCFLAG_NEW,termLeft ) ){
    195197                    //レジスタ資源を復元
    196198                    RESTORE_REGISTER_RESOURCE
     
    284286        }
    285287
    286         return TermMemberOpe( leftType.GetClass(), baseType, resultType, termFull, termLeft, member );
     288        return TermMemberOpe( leftType, baseType, resultType, termFull, termLeft, member );
    287289    }
    288290globalArea:
     
    463465    ////////////////////////////////
    464466
    465     if( Compiler::StringToType( termFull, resultType ) ){
     467    if( compiler.StringToType( termFull, resultType ) ){
    466468        resultType.SetBasicType( resultType.GetBasicType() | FLAG_CAST );
    467469        return true;
     
    767769                    // As演算子の右辺値
    768770                    //型名
    769                     if( Compiler::StringToType( term, resultType ) ){
     771                    if( compiler.StringToType( term, resultType ) ){
    770772                        resultType.SetBasicType( resultType.GetBasicType() | FLAG_CAST );
    771773                    }
Note: See TracChangeset for help on using the changeset viewer.