private void Dispose(bool disposing) { if (disposing) { // Make sure the initialization task has finished EnsureInitializeCompleted(); Contract.Assert(m_initializationTask == null, "EnsureInitializeCompleted sets m_initializationTask to null"); CompleteWritingFile(); if (m_logFileCombinerStatistics) { switch (m_usage) { case FileCombinerUsage.SpecFileCache: Tracing.Logger.Log.SpecCache(m_loggingContext, m_stats); break; default: Contract.Assume(m_usage == FileCombinerUsage.IncrementalScriptFrontEnd, "Unexpected FileCombinerUsage"); Tracing.Logger.Log.IncrementalFrontendCache(m_loggingContext, m_stats); break; } } m_reader?.Dispose(); m_writer?.Dispose(); m_file?.Dispose(); m_content = null; } }
/// <nodoc /> public void Dispose() { m_bxlReader.Dispose(); }