public virtual void EmitType () { if (OptAttributes != null) OptAttributes.Emit (); Emit (); EmitConstructors (); if (constants != null) foreach (Const con in constants) con.Emit (); if (default_static_constructor != null) default_static_constructor.Emit (); if (operators != null) foreach (Operator o in operators) o.Emit (); if (properties != null) foreach (Property p in properties) p.Emit (); if (indexers != null) { foreach (Indexer indx in indexers) indx.Emit (); EmitIndexerName (); } if (events != null){ foreach (Event e in Events) e.Emit (); } if (methods != null) { for (int i = 0; i < methods.Count; ++i) ((MethodOrOperator) methods [i]).Emit (); } if (fields != null) foreach (FieldBase f in fields) f.Emit (); if (types != null) { foreach (TypeContainer t in types) t.EmitType (); } if (pending != null) pending.VerifyPendingMethods (Report); if (Report.Errors > 0) return; if (compiler_generated != null) { for (int i = 0; i < compiler_generated.Count; ++i) compiler_generated [i].EmitType (); } }