public PEAPI.Property Resolve (CodeGen code_gen, PEAPI.ClassDef classdef) { if (is_resolved) return prop_def; PEAPI.Type[] type_list = new PEAPI.Type[arg_list.Count]; for (int i=0; i<type_list.Length; i++) { BaseTypeRef arg_type = (BaseTypeRef) arg_list[i]; arg_type.Resolve (code_gen); type_list[i] = arg_type.PeapiType; } type.Resolve (code_gen); prop_def = classdef.AddProperty (name, type.PeapiType, type_list); if ((attr & FeatureAttr.Rtspecialname) != 0) prop_def.SetRTSpecialName (); if ((attr & FeatureAttr.Specialname) != 0) prop_def.SetSpecialName (); prop_def.SetInstance ((attr & FeatureAttr.Instance) != 0); if (customattr_list != null) foreach (CustomAttr customattr in customattr_list) customattr.AddTo (code_gen, prop_def); is_resolved = true; return prop_def; }