Skip to content

Commit 809da54

Browse files
committed
Revert unneeded changes and simplify code
1 parent 24a7a76 commit 809da54

File tree

5 files changed

+13
-77
lines changed

5 files changed

+13
-77
lines changed

csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyManager.cs

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ private HashSet<string> AddFrameworkDlls(HashSet<string> dllPaths)
157157
return frameworkLocations;
158158
}
159159

160-
private void RestoreNugetPackages(List<FileInfo> allNonBinaryFiles, List<string> allProjects, List<string> allSolutions, HashSet<string> dllPaths)
160+
private void RestoreNugetPackages(List<FileInfo> allNonBinaryFiles, IEnumerable<string> allProjects, IEnumerable<string> allSolutions, HashSet<string> dllPaths)
161161
{
162162
try
163163
{
@@ -719,7 +719,7 @@ private void AnalyseProject(FileInfo project)
719719
/// Returns a list of projects that are up to date with respect to restore.
720720
/// </summary>
721721
/// <param name="solutions">A list of paths to solution files.</param>
722-
private IEnumerable<string> RestoreSolutions(List<string> solutions, out IEnumerable<string> assets)
722+
private IEnumerable<string> RestoreSolutions(IEnumerable<string> solutions, out IEnumerable<string> assets)
723723
{
724724
var successCount = 0;
725725
var assetFiles = new List<string>();
@@ -841,21 +841,13 @@ private void DownloadMissingPackages(List<FileInfo> allFiles, ISet<string> dllPa
841841
if (!res.Success)
842842
{
843843
logger.LogInfo($"Failed to restore nuget package {package}");
844-
}
845-
else
846-
{
847-
lock (sync)
848-
{
849-
successCount++;
850-
}
844+
return;
851845
}
852846
}
853-
else
847+
848+
lock (sync)
854849
{
855-
lock (sync)
856-
{
857-
successCount++;
858-
}
850+
successCount++;
859851
}
860852
});
861853

csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackages.cs

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ private string DownloadNugetExe(string sourceDir)
107107
/// Restore all files in a specified package.
108108
/// </summary>
109109
/// <param name="package">The package file.</param>
110-
private bool RestoreNugetPackage(string package)
110+
private bool TryRestoreNugetPackage(string package)
111111
{
112112
logger.LogInfo($"Restoring file {package}...");
113113

@@ -157,17 +157,7 @@ private bool RestoreNugetPackage(string package)
157157
/// </summary>
158158
public int InstallPackages()
159159
{
160-
var success = 0;
161-
foreach (var package in packageFiles)
162-
{
163-
var result = RestoreNugetPackage(package.FullName);
164-
if (result)
165-
{
166-
success++;
167-
}
168-
}
169-
170-
return success;
160+
return packageFiles.Count(package => TryRestoreNugetPackage(package.FullName));
171161
}
172162
}
173163
}

csharp/extractor/Semmle.Extraction.CSharp.Standalone/Extractor.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
using System.Linq;
66
using Microsoft.CodeAnalysis;
77
using Microsoft.CodeAnalysis.CSharp;
8+
using Semmle.Extraction.CSharp.DependencyFetching;
89
using Semmle.Util;
910
using Semmle.Util.Logging;
1011

1112
namespace Semmle.Extraction.CSharp.Standalone
1213
{
1314
public static class Extractor
1415
{
15-
1616
private static IEnumerable<Action> GetResolvedReferencesStandalone(IEnumerable<string> referencePaths, BlockingCollection<MetadataReference> references)
1717
{
1818
return referencePaths.Select<string, Action>(path => () =>
@@ -138,10 +138,9 @@ public static ExitCode Run(Options options)
138138

139139
using var logger = new ConsoleLogger(options.Verbosity, logThreadId: true);
140140
logger.Log(Severity.Info, "Extracting C# in buildless mode");
141-
using var a = new Analysis(logger, options);
142-
var sourceFileCount = a.Extraction.Sources.Count;
141+
using var dependencyManager = new DependencyManager(options.SrcDir, options.Dependencies, logger);
143142

144-
if (sourceFileCount == 0)
143+
if (!dependencyManager.AllSourceFiles.Any())
145144
{
146145
logger.Log(Severity.Error, "No source files found");
147146
return ExitCode.Errors;
@@ -152,7 +151,7 @@ public static ExitCode Run(Options options)
152151
logger.Log(Severity.Info, "");
153152
logger.Log(Severity.Info, "Extracting...");
154153
ExtractStandalone(
155-
new ExtractionInput(a.Extraction.Sources, a.References, a.CompilationInfos),
154+
new ExtractionInput(dependencyManager.AllSourceFiles, dependencyManager.ReferenceFiles, dependencyManager.CompilationInfos),
156155
new ExtractionProgress(logger),
157156
fileLogger,
158157
options);

csharp/extractor/Semmle.Extraction.CSharp.Standalone/Program.cs

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5,51 +5,6 @@
55

66
namespace Semmle.Extraction.CSharp.Standalone
77
{
8-
/// <summary>
9-
/// One independent run of the extractor.
10-
/// </summary>
11-
internal class Extraction
12-
{
13-
public Extraction(string directory)
14-
{
15-
Directory = directory;
16-
}
17-
18-
public string Directory { get; }
19-
public List<string> Sources { get; } = new List<string>();
20-
};
21-
22-
/// <summary>
23-
/// Searches for source/references and creates separate extractions.
24-
/// </summary>
25-
internal sealed class Analysis : IDisposable
26-
{
27-
public Analysis(ILogger logger, Options options)
28-
{
29-
dependencyManager = new DependencyManager(options.SrcDir, options.Dependencies, logger);
30-
References = dependencyManager.ReferenceFiles;
31-
Extraction = new Extraction(options.SrcDir);
32-
Extraction.Sources.AddRange(dependencyManager.AllSourceFiles);
33-
CompilationInfos = dependencyManager.CompilationInfos;
34-
}
35-
36-
public IEnumerable<string> References { get; }
37-
38-
/// <summary>
39-
/// The extraction configuration.
40-
/// </summary>
41-
public Extraction Extraction { get; }
42-
43-
public IEnumerable<(string, string)> CompilationInfos { get; }
44-
45-
private readonly DependencyManager dependencyManager;
46-
47-
public void Dispose()
48-
{
49-
dependencyManager.Dispose();
50-
}
51-
};
52-
538
public class Program
549
{
5510
public static int Main(string[] args)

csharp/extractor/Semmle.Extraction.CSharp/Extractor/Analyser.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class Analyser : IDisposable
2121
protected CSharpCompilation? compilation;
2222
protected CommonOptions? options;
2323
private protected Entities.Compilation? compilationEntity;
24-
private TrapWriter? compilationTrapFile;
24+
private IDisposable? compilationTrapFile;
2525

2626
private readonly object progressMutex = new object();
2727

0 commit comments

Comments
 (0)