Ignore:
Timestamp:
Jan 2, 2008, 1:21:43 AM (16 years ago)
Author:
dai_9181
Message:

ジェネリクスインターフェイス実装時のオーバーロード解決ロジックを改良。(型パラメータを引数に持つメソッドのオーバーロードをミスしてしまうバグを修正)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/include/Parameter.h

    r325 r383  
    8585    }
    8686
    87     bool Equals( const Parameter &param ) const
    88     {
    89         if( Type::Equals( param ) ){
    90             return true;
    91         }
    92         else{
    93 
    94             if( this->isRef && this->GetBasicType() == DEF_ANY &&
    95                 param.isRef == false && param.IsPointer()
    96                 ||
    97                 this->isRef == false && this->IsPointer() &&
    98                 param.isRef && param.GetBasicType() == DEF_ANY ){
    99                     /* ByRef var As Any
    100                             と
    101                         var As VoidPtr
    102                         は同等
    103                     */
    104                     return true;
    105             }
    106         }
    107 
    108         return false;
    109     }
     87    bool Equals( const Parameter &param ) const;
     88    bool Equals( const Types &actualTypeParametersForThisProc, const Parameter &param ) const;
    11089};
    11190
     
    124103public:
    125104
    126     bool Equals( const Parameters &params ) const
    127     {
    128         if( this->size() != params.size() ){
    129             return false;
    130         }
    131 
    132         int max = (int)this->size();
    133         for( int i=0; i<max; i++ ){
    134             if( !(*this)[i]->Equals( *params[i] ) ){
    135                 return false;
    136             }
    137         }
    138 
    139         return true;
    140     }
     105    bool Equals( const Parameters &params ) const;
     106    bool Equals( const Types &actualTypeParametersForThisProc, const Parameters &params ) const;
    141107
    142108    int GetMemorySize() const
Note: See TracChangeset for help on using the changeset viewer.