Ignore:
Timestamp:
Jul 26, 2008, 7:27:20 AM (16 years ago)
Author:
dai_9181
Message:
  • #184への対応。ByRef引数を持つデリゲートを宣言するとコンパイルできないバグを修正。
  • オーバーロード用のパラメータ比較にByRef/ByValの相違を考慮するようにした。
File:
1 edited

Legend:

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

    r692 r708  
    201201        }
    202202
    203         values.insert( std::map<std::string,std::string>::value_type( "#params#", dg.GetParamStr() ) );
     203        // 呼び出し側の実引数文字列を作成
     204        Jenga::Common::Strings paramVarNames;
     205        LexicalAnalyzer::ExtractParameterVarNames( dg.GetParamStr().c_str(), paramVarNames, dg.GetSourceIndex() );
     206        std::string tempParamStrForCall;
     207        BOOST_FOREACH( const std::string &varName, paramVarNames )
     208        {
     209            if( !tempParamStrForCall.empty() )
     210            {
     211                tempParamStrForCall += ",";
     212            }
     213            tempParamStrForCall += varName;
     214        }
     215        values.insert( std::map<std::string,std::string>::value_type( "#params#", tempParamStrForCall ) );
    204216
    205217        destSource += sourceTemplate.GetResult( values );
Note: See TracChangeset for help on using the changeset viewer.