2 // Mono.ILASM.TypeSpecMethodRef
5 // Jackson Harper (Jackson@LatitudeGeo.com)
7 // (C) 2003 Jackson Harper, All rights reserved
14 namespace Mono.ILASM {
16 public class TypeSpecMethodRef : BaseMethodRef {
18 public TypeSpecMethodRef (BaseTypeRef owner,
19 PEAPI.CallConv call_conv, BaseTypeRef ret_type,
20 string name, BaseTypeRef[] param, int gen_param_count)
21 : base (owner, call_conv, ret_type, name, param, gen_param_count)
25 public override void Resolve (CodeGen code_gen)
30 PEAPI.Type[] param_list = new PEAPI.Type[param.Length];
33 ret_type.Resolve (code_gen);
36 foreach (BaseTypeRef typeref in param) {
37 typeref.Resolve (code_gen);
38 param_list[count++] = typeref.PeapiType;
46 owner.Resolve (code_gen);
47 peapi_method = code_gen.PEFile.AddMethodToTypeSpec (owner.PeapiType, write_name,
48 ret_type.PeapiType, param_list, gen_param_count);
50 peapi_method.AddCallConv (call_conv);