BlackLinks.Templates.CSharpTemplateCompiler.OnCompile C# (CSharp) Метод

OnCompile() защищенный Метод

protected OnCompile ( ) : TemplatesCompilationResult
Результат TemplatesCompilationResult
		protected override TemplatesCompilationResult OnCompile ()
		{
			TemplatesCompilationResult result = new TemplatesCompilationResult ();
			foreach (var source in this.Sources)
			{
				using (StreamReader reader = new StreamReader (source.SourceStream))
				{
					InternalCSharpTemplateCompiler compiler = new InternalCSharpTemplateCompiler (reader, ns,source.ReferenceFilePath);
					compiler.generate ();
					generatedResourcesClassNames.Add(new GeneratedResourceClass
						{
						ClassName =
						compiler.className,
							DiscoveryPath = source.DiscoveryPath
					});
				}
			}
			generateDiscoveryClass();
			#if DEBUG
			using (FileStream fs = new FileStream ("/home/thepumpkin/template.cs", FileMode.Create, FileAccess.Write)) {
				using (StreamWriter writer = new StreamWriter (fs)) {
					csharp.GenerateCodeFromCompileUnit (this.codeCompilerUnit, writer, null);
				}
			}
			#endif
			string[] assemblies = new string[] { "BlackLinks" };
			
			CompilerParameters prms = new CompilerParameters (assemblies);
			if (!string.IsNullOrEmpty (this.OutputAssemblyPath)) {
				prms.OutputAssembly = this.OutputAssemblyPath;
			}
			CompilerResults results = this.csharp.CompileAssemblyFromDom (prms, new CodeCompileUnit[] { this.codeCompilerUnit });
			
			Console.WriteLine ("Errors Count= {0}", results.Errors.Count);
			if(results.CompiledAssembly != null)
			{
				result.Assemblies.Add(results.CompiledAssembly);
			}
			#if DEBUG
			foreach (CompilerError error in results.Errors) {

				Console.Error.WriteLine ("\t{0} at file {1}#{2}", error.ErrorText, error.FileName, error.Line);

				
				result.CompilationErrors.Add(error);
			}
			#endif
			return result;
		}