C#: Dispose IDisposables

This commit is contained in:
Tamas Vajk
2020-10-02 11:36:42 +02:00
parent e208f3d21d
commit 71faa51270
4 changed files with 8 additions and 6 deletions

View File

@@ -54,7 +54,7 @@ namespace Semmle.Extraction.CSharp.Standalone
{
var options = Options.Create(args);
// options.CIL = true; // To do: Enable this
var output = new ConsoleLogger(options.Verbosity);
using var output = new ConsoleLogger(options.Verbosity);
if (options.Help)
{
@@ -79,13 +79,15 @@ namespace Semmle.Extraction.CSharp.Standalone
if (!options.SkipExtraction)
{
using var fileLogger = new FileLogger(options.Verbosity, Extractor.GetCSharpLogPath());
output.Log(Severity.Info, "");
output.Log(Severity.Info, "Extracting...");
Extractor.ExtractStandalone(
a.Extraction.Sources,
a.References,
new ExtractionProgress(output),
new FileLogger(options.Verbosity, Extractor.GetCSharpLogPath()),
fileLogger,
options);
output.Log(Severity.Info, $"Extraction completed in {DateTime.Now - start}");
}

View File

@@ -66,7 +66,7 @@ namespace Semmle.Extraction.CSharp
stopwatch.Start();
var commandLineArguments = Options.CreateWithEnvironment(args);
var fileLogger = new FileLogger(commandLineArguments.Verbosity, GetCSharpLogPath());
var logger = commandLineArguments.Console
using var logger = commandLineArguments.Console
? new CombinedLogger(new ConsoleLogger(commandLineArguments.Verbosity), fileLogger)
: (ILogger)fileLogger;

View File

@@ -25,7 +25,7 @@ namespace Semmle.Extraction.Tests
root3 = "/";
}
var logger = new LoggerMock();
using var logger = new LoggerMock();
Assert.Equal($@"C:\Temp\source_archive\def.cs", TrapWriter.NestPaths(logger, @"C:\Temp\source_archive", "def.cs").Replace('/', '\\'));

View File

@@ -69,8 +69,8 @@ namespace Semmle.Util.Logging
string? dir = Path.GetDirectoryName(outputFile);
if (!string.IsNullOrEmpty(dir) && !System.IO.Directory.Exists(dir))
Directory.CreateDirectory(dir);
writer = new PidStreamWriter(new FileStream(outputFile, FileMode.Append, FileAccess.Write,
FileShare.ReadWrite, 8192));
writer = new PidStreamWriter(
new FileStream(outputFile, FileMode.Append, FileAccess.Write, FileShare.ReadWrite, 8192));
}
catch (Exception ex) // lgtm[cs/catch-of-all-exceptions]
{