public void Resolve(CodeGen code_gen) { if (is_resolved) { return; } owner.Resolve(code_gen); if (owner.UseTypeSpec) { PEAPI.Type owner_ref = owner.PeapiType; code_gen.PEFile.AddFieldToTypeSpec(owner_ref, name, type.PeapiType); } else { PEAPI.ClassRef owner_ref; owner_ref = (PEAPI.ClassRef)owner.PeapiType; type.Resolve(code_gen); peapi_field = owner_ref.AddField(name, type.PeapiType); } is_resolved = true; }
public void Resolve(CodeGen code_gen) { if (is_resolved) { return; } type_ref.Resolve(code_gen); type = new PEAPI.GenericTypeInst(type_ref.PeapiType, gen_args.Resolve(code_gen)); is_resolved = true; }
public override void Resolve(CodeGen code_gen) { if (is_resolved) { return; } ExternTypeRef etr = extern_ref as ExternTypeRef; if (etr != null) { //This is a nested class, so resolve parent etr.Resolve(code_gen); } type = extern_ref.GetType(full_name, is_valuetype); type = Modify(code_gen, type); is_resolved = true; }