public static void CompileSources( PhpCompilation compilation, PEModuleBuilder moduleBuilder, bool emittingPdb, bool hasDeclarationErrors, DiagnosticBag diagnostics, CancellationToken cancellationToken) { Debug.Assert(moduleBuilder != null); // ensure flow analysis var analysisdiagnostics = compilation.BindAndAnalyseTask().Result; diagnostics.AddRange(analysisdiagnostics); // var compiler = new SourceCompiler(compilation, moduleBuilder, emittingPdb, diagnostics, cancellationToken); // Emit method bodies // a. declared routines // b. synthesized symbols compiler.EmitMethodBodies(); compiler.EmitSynthesized(); compiler.CompileReflectionEnumerators(); // Entry Point (.exe) compiler.CompileEntryPoint(); }