Ignore:
Timestamp:
Mar 21, 2008, 7:34:57 PM (17 years ago)
Author:
dai_9181
Message:

・デリゲートの共変戻り値、反変引数に対応した。
・core.libで定義されたデリゲートがアプリケーションプロジェクトで利用できないバグを修正。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/Delegate.cpp

    r422 r448  
    2020        }
    2121    }
     22}
     23
     24bool Delegate::IsSimilar( const Delegate &dgt ) const
     25{
     26    if( this->Params().Equals( dgt.Params(), true ) )           // パラメータが等しい、もしくは反変
     27    {
     28        if( this->returnType.Equals( dgt.returnType ) )
     29        {
     30            // 戻り値が等しい
     31            return true;
     32        }
     33        else if( this->returnType.IsCovariant( dgt.returnType ) )
     34        {
     35            // 戻り値が共変
     36            return true;
     37        }
     38    }
     39    return false;
    2240}
    2341
     
    149167        const Delegate &dg = *this->Iterator_GetNext();
    150168
     169        if( !dg.isTargetObjectModule )
     170        {
     171            // 静的リンクライブラリの場合は飛ばす(既にインスタンスが定義済みであるため)
     172            continue;
     173        }
     174
    151175        std::map<std::string,std::string> values;
    152176
Note: See TracChangeset for help on using the changeset viewer.