2 // Mono.ILASM.ExternFieldRef
5 // Jackson Harper (Jackson@LatitudeGeo.com)
7 // (C) 2003 Jackson Harper, All rights reserved
13 namespace Mono
.ILASM
{
15 public class ExternFieldRef
: IFieldRef
{
17 private ExternTypeRef owner
;
18 private BaseTypeRef type
;
21 private bool is_resolved
;
22 private PEAPI
.FieldRef peapi_field
;
24 public ExternFieldRef (ExternTypeRef owner
, BaseTypeRef type
, string name
)
33 public PEAPI
.Field PeapiField
{
34 get { return peapi_field; }
37 public void Resolve (CodeGen code_gen
)
42 owner
.Resolve (code_gen
);
44 if (owner
.UseTypeSpec
) {
45 PEAPI
.Type owner_ref
= owner
.PeapiType
;
46 code_gen
.PEFile
.AddFieldToTypeSpec (owner_ref
, name
,
49 PEAPI
.ClassRef owner_ref
;
50 owner_ref
= (PEAPI
.ClassRef
) owner
.PeapiType
;
51 type
.Resolve (code_gen
);
52 peapi_field
= owner_ref
.AddField (name
, type
.PeapiType
);