From 48be6267f32d10a796e0f99705b380d52ed9d183 Mon Sep 17 00:00:00 2001 From: dymanoid <9433345+dymanoid@users.noreply.github.com> Date: Fri, 5 Jun 2020 21:08:43 +0200 Subject: [PATCH] Replace tuples with value tuples --- .../CSharp/WholeProjectDecompiler.cs | 24 +++++++++---------- ILSpy/Languages/CSharpLanguage.cs | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/ICSharpCode.Decompiler/CSharp/WholeProjectDecompiler.cs b/ICSharpCode.Decompiler/CSharp/WholeProjectDecompiler.cs index 785841255..5bae9c990 100644 --- a/ICSharpCode.Decompiler/CSharp/WholeProjectDecompiler.cs +++ b/ICSharpCode.Decompiler/CSharp/WholeProjectDecompiler.cs @@ -128,7 +128,7 @@ namespace ICSharpCode.Decompiler.CSharp } #region WriteProjectFile - ProjectId WriteProjectFile(TextWriter writer, IEnumerable> files, Metadata.PEFile module) + ProjectId WriteProjectFile(TextWriter writer, IEnumerable<(string itemType, string fileName)> files, Metadata.PEFile module) { const string ns = "http://schemas.microsoft.com/developer/msbuild/2003"; string platformName = GetPlatformName(module); @@ -238,7 +238,7 @@ namespace ICSharpCode.Decompiler.CSharp } w.WriteEndElement(); // (References) - foreach (IGrouping gr in (from f in files group f.Item2 by f.Item1 into g orderby g.Key select g)) { + foreach (IGrouping gr in (from f in files group f.fileName by f.itemType into g orderby g.Key select g)) { w.WriteStartElement("ItemGroup"); foreach (string file in gr.OrderBy(f => f, StringComparer.OrdinalIgnoreCase)) { w.WriteStartElement(gr.Key); @@ -340,7 +340,7 @@ namespace ICSharpCode.Decompiler.CSharp return decompiler; } - IEnumerable> WriteAssemblyInfo(DecompilerTypeSystem ts, CancellationToken cancellationToken) + IEnumerable<(string itemType, string fileName)> WriteAssemblyInfo(DecompilerTypeSystem ts, CancellationToken cancellationToken) { var decompiler = CreateDecompiler(ts); decompiler.CancellationToken = cancellationToken; @@ -354,10 +354,10 @@ namespace ICSharpCode.Decompiler.CSharp using (StreamWriter w = new StreamWriter(Path.Combine(targetDirectory, assemblyInfo))) { syntaxTree.AcceptVisitor(new CSharpOutputVisitor(w, settings.CSharpFormattingOptions)); } - return new Tuple[] { Tuple.Create("Compile", assemblyInfo) }; + return new[] { ("Compile", assemblyInfo) }; } - IEnumerable> WriteCodeFilesInProject(Metadata.PEFile module, CancellationToken cancellationToken) + IEnumerable<(string itemType, string fileName)> WriteCodeFilesInProject(Metadata.PEFile module, CancellationToken cancellationToken) { var metadata = module.Metadata; var files = module.Metadata.GetTopLevelTypeDefinitions().Where(td => IncludeTypeWhenDecompilingProject(module, td)).GroupBy( @@ -395,12 +395,12 @@ namespace ICSharpCode.Decompiler.CSharp } progress?.Report(new DecompilationProgress(total, file.Key)); }); - return files.Select(f => Tuple.Create("Compile", f.Key)).Concat(WriteAssemblyInfo(ts, cancellationToken)); + return files.Select(f => ("Compile", f.Key)).Concat(WriteAssemblyInfo(ts, cancellationToken)); } #endregion #region WriteResourceFilesInProject - protected virtual IEnumerable> WriteResourceFilesInProject(Metadata.PEFile module) + protected virtual IEnumerable<(string itemType, string fileName)> WriteResourceFilesInProject(Metadata.PEFile module) { foreach (var r in module.Resources.Where(r => r.ResourceType == Metadata.ResourceType.Embedded)) { Stream stream = r.TryOpenStream(); @@ -408,7 +408,7 @@ namespace ICSharpCode.Decompiler.CSharp if (r.Name.EndsWith(".resources", StringComparison.OrdinalIgnoreCase)) { bool decodedIntoIndividualFiles; - var individualResources = new List>(); + var individualResources = new List<(string itemType, string fileName)>(); try { var resourcesFile = new ResourcesFile(stream); if (resourcesFile.AllEntriesAreStreams()) { @@ -449,12 +449,12 @@ namespace ICSharpCode.Decompiler.CSharp stream.Position = 0; stream.CopyTo(fs); } - yield return Tuple.Create("EmbeddedResource", fileName); + yield return ("EmbeddedResource", fileName); } } } - protected virtual IEnumerable> WriteResourceToFile(string fileName, string resourceName, Stream entryStream) + protected virtual IEnumerable<(string itemType, string fileName)> WriteResourceToFile(string fileName, string resourceName, Stream entryStream) { if (fileName.EndsWith(".resources", StringComparison.OrdinalIgnoreCase)) { string resx = Path.ChangeExtension(fileName, ".resx"); @@ -465,7 +465,7 @@ namespace ICSharpCode.Decompiler.CSharp writer.AddResource(entry.Key, entry.Value); } } - return new[] { Tuple.Create("EmbeddedResource", resx) }; + return new[] { ("EmbeddedResource", resx) }; } catch (BadImageFormatException) { // if the .resources can't be decoded, just save them as-is } catch (EndOfStreamException) { @@ -475,7 +475,7 @@ namespace ICSharpCode.Decompiler.CSharp using (FileStream fs = new FileStream(Path.Combine(targetDirectory, fileName), FileMode.Create, FileAccess.Write)) { entryStream.CopyTo(fs); } - return new[] { Tuple.Create("EmbeddedResource", fileName) }; + return new[] { ("EmbeddedResource", fileName) }; } string GetFileNameForResource(string fullName) diff --git a/ILSpy/Languages/CSharpLanguage.cs b/ILSpy/Languages/CSharpLanguage.cs index 4f40c308d..14343eaa4 100644 --- a/ILSpy/Languages/CSharpLanguage.cs +++ b/ILSpy/Languages/CSharpLanguage.cs @@ -445,13 +445,13 @@ namespace ICSharpCode.ILSpy base.DebugInfoProvider = assembly.GetDebugInfoOrNull(); } - protected override IEnumerable> WriteResourceToFile(string fileName, string resourceName, Stream entryStream) + protected override IEnumerable<(string itemType, string fileName)> WriteResourceToFile(string fileName, string resourceName, Stream entryStream) { foreach (var handler in App.ExportProvider.GetExportedValues()) { if (handler.CanHandle(fileName, options)) { entryStream.Position = 0; fileName = handler.WriteResourceToFile(assembly, fileName, entryStream, options); - return new[] { Tuple.Create(handler.EntryType, fileName) }; + return new[] { (handler.EntryType, fileName) }; } } return base.WriteResourceToFile(fileName, resourceName, entryStream);