internal void SynthesizeInit(Emit.PEModuleBuilder module, DiagnosticBag diagnostics) { if (!IsInterface) { module.EmitBootstrap(this); } // .cctor EmitFieldsCctor(module); // __statics.Init ((SynthesizedStaticFieldsHolder)this.StaticsContainer)?.EmitCtors(module); // IPhpCallable { Invoke, ToPhpValue } EmitPhpCallable(module, diagnostics); // IDisposable { Dispose } EmitDisposable(module, diagnostics); // .ctor EmitPhpCtors(this.InstanceConstructors, module, diagnostics); // System.ToString EmitToString(module); // trait methods EmitTraitImplementations(module); }