merge -r 61110:61111
[mono.git] / mcs / ilasm / codegen / GlobalFieldRef.cs
1 //
2 // Mono.ILASM.GlobalFieldRef
3 //
4 // Author(s):
5 //  Jackson Harper (Jackson@LatitudeGeo.com)
6 //
7 // (C) 2003 Jackson Harper, All rights reserved
8 //
9
10
11 using System;
12
13 namespace Mono.ILASM {
14
15
16         public class GlobalFieldRef : IFieldRef {
17
18                 private BaseTypeRef ret_type;
19                 private string name;
20
21                 private PEAPI.Field peapi_field;
22                 private bool is_resolved;
23
24                 public GlobalFieldRef (BaseTypeRef ret_type, string name)
25                 {
26                         this.ret_type = ret_type;
27                         this.name = name;
28
29                         is_resolved = false;
30                 }
31
32                 public PEAPI.Field PeapiField {
33                         get { return peapi_field; }
34                 }
35
36                 public void Resolve (CodeGen code_gen)
37                 {
38                         if (is_resolved)
39                                 return;
40
41                         peapi_field = code_gen.ResolveField (name, ret_type.FullName);
42
43                         is_resolved = true;
44                 }
45         }
46 }
47