public AdditionalTextFile(CommandLineSourceFile sourceFile, CommonCompiler compiler) { if (compiler == null) { throw new ArgumentNullException(nameof(compiler)); } _sourceFile = sourceFile; _compiler = compiler; _diagnostics = new List <DiagnosticInfo>(); }
/// <summary> /// Reads content of a source file. /// </summary> /// <param name="file">Source file information.</param> /// <param name="diagnostics">Storage for diagnostics.</param> /// <param name="normalizedFilePath">If given <paramref name="file"/> opens successfully, set to normalized absolute path of the file, null otherwise.</param> /// <returns>File content or null on failure.</returns> public SourceText TryReadFileContent(CommandLineSourceFile file, IList <DiagnosticInfo> diagnostics, out string normalizedFilePath) { var filePath = file.Path; try { using (var data = OpenFileForReadWithSmallBufferOptimization(filePath)) { normalizedFilePath = data.Name; return(EncodedStringText.Create(data, Arguments.Encoding)); } } catch (Exception e) { diagnostics.Add(ToFileReadDiagnostics(this.MessageProvider, e, filePath)); normalizedFilePath = null; return(null); } }
/// <summary> /// Reads content of a source file. /// </summary> /// <param name="file">Source file information.</param> /// <param name="diagnostics">Storage for diagnostics.</param> /// <returns>File content or null on failure.</returns> public SourceText TryReadFileContent(CommandLineSourceFile file, IList <DiagnosticInfo> diagnostics) { string discarded; return(TryReadFileContent(file, diagnostics, out discarded)); }