tag a couple of obsolete members
[mcs.git] / ilasm / codegen / TypeSpecMethodRef.cs
blobee9cb144e41af242c6e5eaabc42449d76373e41b
1 //
2 // Mono.ILASM.TypeSpecMethodRef
3 //
4 // Author(s):
5 // Jackson Harper (Jackson@LatitudeGeo.com)
6 //
7 // (C) 2003 Jackson Harper, All rights reserved
8 //
11 using System;
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)
27 if (is_resolved)
28 return;
30 PEAPI.Type[] param_list = new PEAPI.Type[param.Length];
31 string write_name;
33 ret_type.Resolve (code_gen);
35 int count = 0;
36 foreach (BaseTypeRef typeref in param) {
37 typeref.Resolve (code_gen);
38 param_list[count++] = typeref.PeapiType;
41 if (name == "<init>")
42 write_name = ".ctor";
43 else
44 write_name = name;
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);
52 is_resolved = true;