private CompileResult BuildFull(CompileOptions options) { var result = new CompileResult(); _logger.Info("BuildFull"); _options = options; _referenceFileList = new FileTimeList(); _referenceFileList.Update(options.References); _sourceFileList = new FileTimeList(); _sourceFileList.Update(options.Files); _referenceMap = options.References.ToDictionary( file => file, file => CreateReference(file)); var parseOption = new CSharpParseOptions(LanguageVersion.CSharp6, DocumentationMode.Parse, SourceCodeKind.Regular, options.Defines); _sourceMap = options.Files.ToDictionary( file => file, file => ParseSource(file, parseOption)); _compilation = CSharpCompilation.Create( options.AssemblyName, _sourceMap.Values, _referenceMap.Values, new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); Emit(result); return result; }
public CompilationCache( CSharpCompilation compilation, CompileOptions options, FileTimeList referenceFileList, FileTimeList sourceFileList, Dictionary <string, MetadataReference> referenceMap, Dictionary <string, SyntaxTree> sourceMap, CodeGeneration.GeneratedFilesMapping filesMapping) { _referenceFileList = referenceFileList; _sourceFileList = sourceFileList; _referenceMap = referenceMap; _sourceMap = sourceMap; _filesMapping = filesMapping; _compilation = compilation; _options = options; }
private CompileResult BuildFull(CompileOptions options) { var result = new CompileResult(); _logger.Info("BuildFull"); _options = options; _referenceFileList = new FileTimeList(); _referenceFileList.Update(options.References); _sourceFileList = new FileTimeList(); _sourceFileList.Update(options.Files); _referenceMap = options.References.ToDictionary( file => file, file => CreateReference(file)); var parseOption = new CSharpParseOptions(LanguageVersion.CSharp6, DocumentationMode.Parse, SourceCodeKind.Regular, options.Defines); _sourceMap = options.Files.ToDictionary( file => file, file => ParseSource(file, parseOption)); var specificDiagnosticOptions = options.NoWarnings.ToDictionary(x => x, _ => ReportDiagnostic.Suppress); _compilation = CSharpCompilation.Create( options.AssemblyName, _sourceMap.Values, _referenceMap.Values, new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary) .WithSpecificDiagnosticOptions(specificDiagnosticOptions) .WithAssemblyIdentityComparer(DesktopAssemblyIdentityComparer.Default) .WithAllowUnsafe(options.Options.Contains("-unsafe"))); Emit(result); return(result); }
private CompileResult BuildFull(CompileOptions options) { var result = new CompileResult(); _logger.Info("BuildFull"); _options = options; _referenceFileList = new FileTimeList(); _referenceFileList.Update(options.References); _sourceFileList = new FileTimeList(); _sourceFileList.Update(options.Files); _referenceMap = options.References.ToDictionary( file => file, file => CreateReference(file)); var parseOption = new CSharpParseOptions(LanguageVersion.CSharp6, DocumentationMode.Parse, SourceCodeKind.Regular, options.Defines); _sourceMap = options.Files.ToDictionary( file => file, file => ParseSource(file, parseOption)); var specificDiagnosticOptions = options.NoWarnings.ToDictionary(x => x, _ => ReportDiagnostic.Suppress); _compilation = CSharpCompilation.Create( options.AssemblyName, _sourceMap.Values, _referenceMap.Values, new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary) .WithSpecificDiagnosticOptions(specificDiagnosticOptions) .WithAssemblyIdentityComparer(DesktopAssemblyIdentityComparer.Default) .WithAllowUnsafe(options.Options.Contains("-unsafe"))); Emit(result); return result; }