diff --git a/Aaru.Archives/Stfs/Info.cs b/Aaru.Archives/Stfs/Info.cs index 96a78e816..49088c8ed 100644 --- a/Aaru.Archives/Stfs/Info.cs +++ b/Aaru.Archives/Stfs/Info.cs @@ -12,6 +12,11 @@ namespace Aaru.Archives; public sealed partial class Stfs { + static void ReverseShorts(byte[] shorts, int start, int count) + { + for(int i = start; i < start + count; i += 2) (shorts[i], shorts[i + 1]) = (shorts[i + 1], shorts[i]); + } + #region IArchive Members /// @@ -22,7 +27,7 @@ public sealed partial class Stfs Stream stream = filter.GetDataForkStream(); stream.Position = 0; - byte[] hdr = new byte[Marshal.SizeOf()]; + var hdr = new byte[Marshal.SizeOf()]; stream.ReadExactly(hdr, 0, hdr.Length); @@ -44,7 +49,7 @@ public sealed partial class Stfs Stream stream = filter.GetDataForkStream(); stream.Position = 0; - byte[] hdr = new byte[Marshal.SizeOf()]; + var hdr = new byte[Marshal.SizeOf()]; stream.ReadExactly(hdr, 0, hdr.Length); @@ -133,35 +138,36 @@ public sealed partial class Stfs sb.AppendFormat(Localization.Descriptor_type_0, header.Metadata.DescriptorType).AppendLine(); foreach(LocalizedString displayName in - header.Metadata.DisplayName.Where(displayName => displayName.Name is not "")) + header.Metadata.DisplayName.Where(static displayName => displayName.Name is not "")) sb.AppendFormat(Localization.Display_name_0, Markup.Escape(displayName.Name)).AppendLine(); foreach(LocalizedString description in - header.Metadata.DisplayDescription.Where(description => description.Name is not "")) + header.Metadata.DisplayDescription.Where(static description => description.Name is not "")) sb.AppendFormat(Localization.Display_description_0, Markup.Escape(description.Name)).AppendLine(); - if(header.Metadata.DeviceId.Any(c => c != 0x00)) + if(header.Metadata.DeviceId.Any(static c => c != 0x00)) + { sb.AppendFormat(Localization.Device_ID_0, StringHandlers.CToString(header.Metadata.DeviceId, Encoding.ASCII).Trim()) .AppendLine(); + } - if(header.Metadata.ConsoleId.Any(c => c != 0x00)) + if(header.Metadata.ConsoleId.Any(static c => c != 0x00)) + { sb.AppendFormat(Localization.Console_ID_0, BitConverter.ToString(header.Metadata.ConsoleId).Replace("-", "")) .AppendLine(); + } - if(header.Metadata.ProfileId.Any(c => c != 0x00)) + if(header.Metadata.ProfileId.Any(static c => c != 0x00)) + { sb.AppendFormat(Localization.Profile_ID_0, BitConverter.ToString(header.Metadata.ProfileId).Replace("-", "")) .AppendLine(); + } information = sb.ToString(); } #endregion - - static void ReverseShorts(byte[] shorts, int start, int count) - { - for(int i = start; i < start + count; i += 2) (shorts[i], shorts[i + 1]) = (shorts[i + 1], shorts[i]); - } } \ No newline at end of file diff --git a/Aaru.Archives/Symbian/Info.cs b/Aaru.Archives/Symbian/Info.cs index 5f3036ca6..229ff51c9 100644 --- a/Aaru.Archives/Symbian/Info.cs +++ b/Aaru.Archives/Symbian/Info.cs @@ -55,7 +55,7 @@ public sealed partial class Symbian Stream stream = filter.GetDataForkStream(); - byte[] hdr = new byte[Marshal.SizeOf()]; + var hdr = new byte[Marshal.SizeOf()]; stream.EnsureRead(hdr, 0, hdr.Length); @@ -78,7 +78,7 @@ public sealed partial class Symbian if(stream.Length < Marshal.SizeOf()) return; - byte[] buffer = new byte[Marshal.SizeOf()]; + var buffer = new byte[Marshal.SizeOf()]; stream.Seek(0, SeekOrigin.Begin); stream.EnsureRead(buffer, 0, buffer.Length); @@ -164,7 +164,7 @@ public sealed partial class Symbian // Go to enumerate languages br.BaseStream.Seek(sh.lang_ptr, SeekOrigin.Begin); - for(int i = 0; i < sh.languages; i++) languages.Add(((LanguageCodes)br.ReadUInt16()).ToString("G")); + for(var i = 0; i < sh.languages; i++) languages.Add(((LanguageCodes)br.ReadUInt16()).ToString("G")); // Go to component record br.BaseStream.Seek(sh.comp_ptr, SeekOrigin.Begin); @@ -186,7 +186,7 @@ public sealed partial class Symbian span = buffer; componentRecord.namesPointers = MemoryMarshal.Cast(span)[..languages.Count].ToArray(); - for(int i = 0; i < sh.languages; i++) + for(var i = 0; i < sh.languages; i++) { AaruLogging.Debug(MODULE_NAME, Localization.Found_component_name_for_language_0_at_1_with_a_length_of_2_bytes, @@ -202,7 +202,7 @@ public sealed partial class Symbian // Go to capabilities (???) br.BaseStream.Seek(sh.caps_ptr, SeekOrigin.Begin); - for(int i = 0; i < sh.capabilities; i++) + for(var i = 0; i < sh.capabilities; i++) { uint cap_Key = br.ReadUInt32(); uint cap_Value = br.ReadUInt32(); @@ -228,7 +228,7 @@ public sealed partial class Symbian description.AppendFormat(Localization.File_contains_0_languages, sh.languages).AppendLine(); - for(int i = 0; i < languages.Count; i++) + for(var i = 0; i < languages.Count; i++) { if(i > 0) description.Append(", "); description.Append($"[italic][rosybrown]{languages[i]}[/][/]"); @@ -237,7 +237,7 @@ public sealed partial class Symbian description.AppendLine(); description.AppendLine(); - for(int i = 0; i < languages.Count; i++) + for(var i = 0; i < languages.Count; i++) { description.AppendFormat(Localization.Component_name_for_language_with_code_0_1, languages[i], @@ -254,7 +254,7 @@ public sealed partial class Symbian if(sh.requisites > 0) { - for(int r = 0; r < sh.requisites; r++) + for(var r = 0; r < sh.requisites; r++) { br.BaseStream.Seek(offset, SeekOrigin.Begin); @@ -286,7 +286,7 @@ public sealed partial class Symbian offset = (uint)br.BaseStream.Position; - for(int i = 0; i < languages.Count; i++) + for(var i = 0; i < languages.Count; i++) { br.BaseStream.Seek(requisiteRecord.namesPointers[i], SeekOrigin.Begin); buffer = br.ReadBytes((int)requisiteRecord.namesLengths[i]); @@ -311,7 +311,7 @@ public sealed partial class Symbian uint currentFile = 0; offset = sh.files_ptr; - int conditionLevel = 0; + var conditionLevel = 0; _options = []; // Get only the options records @@ -338,11 +338,11 @@ public sealed partial class Symbian // Conditions do as well _conditions.Reverse(); - if(_files.Any(t => t.language is null)) + if(_files.Any(static t => t.language is null)) { description.AppendLine(Localization.Files_for_all_languages); - foreach(DecodedFileRecord file in _files.Where(t => t.language is null)) + foreach(DecodedFileRecord file in _files.Where(static t => t.language is null)) description.AppendLine($"[green]{Markup.Escape(file.destinationName)}[/]"); description.AppendLine(); @@ -362,7 +362,7 @@ public sealed partial class Symbian if(_options.Count > 0) { - for(int i = 0; i < _options.Count; i++) + for(var i = 0; i < _options.Count; i++) { OptionRecord option = _options[i]; diff --git a/Aaru.Archives/Symbian/Open.cs b/Aaru.Archives/Symbian/Open.cs index 91f2d4e53..b0ff1c5f9 100644 --- a/Aaru.Archives/Symbian/Open.cs +++ b/Aaru.Archives/Symbian/Open.cs @@ -56,7 +56,7 @@ public sealed partial class Symbian if(_stream.Length < Marshal.SizeOf()) return ErrorNumber.InvalidArgument; - byte[] buffer = new byte[Marshal.SizeOf()]; + var buffer = new byte[Marshal.SizeOf()]; _stream.Seek(0, SeekOrigin.Begin); _stream.EnsureRead(buffer, 0, buffer.Length); @@ -123,7 +123,7 @@ public sealed partial class Symbian // Go to enumerate languages br.BaseStream.Seek(sh.lang_ptr, SeekOrigin.Begin); - for(int i = 0; i < sh.languages; i++) languages.Add(((LanguageCodes)br.ReadUInt16()).ToString("G")); + for(var i = 0; i < sh.languages; i++) languages.Add(((LanguageCodes)br.ReadUInt16()).ToString("G")); _files = []; _conditions = []; @@ -131,7 +131,7 @@ public sealed partial class Symbian uint currentFile = 0; uint offset = sh.files_ptr; - int conditionLevel = 0; + var conditionLevel = 0; // Get only the options records do @@ -178,7 +178,7 @@ public sealed partial class Symbian _compressed = true; } - if(_files.Any(t => t.mime is not null)) _features |= ArchiveSupportedFeature.SupportsXAttrs; + if(_files.Any(static t => t.mime is not null)) _features |= ArchiveSupportedFeature.SupportsXAttrs; Opened = true; diff --git a/Aaru.CommonTypes/Extents/ExtentsByte.cs b/Aaru.CommonTypes/Extents/ExtentsByte.cs index 605078fbd..e563c0c02 100644 --- a/Aaru.CommonTypes/Extents/ExtentsByte.cs +++ b/Aaru.CommonTypes/Extents/ExtentsByte.cs @@ -122,7 +122,7 @@ public sealed class ExtentsByte _backend.Add(new Tuple(item, item)); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); } /// Adds a new extent @@ -210,7 +210,7 @@ public sealed class ExtentsByte if(toAddTwo != null) _backend.Add(toAddTwo); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); return true; } diff --git a/Aaru.CommonTypes/Extents/ExtentsConverter.cs b/Aaru.CommonTypes/Extents/ExtentsConverter.cs index ee75e667d..ff5a7ce01 100644 --- a/Aaru.CommonTypes/Extents/ExtentsConverter.cs +++ b/Aaru.CommonTypes/Extents/ExtentsConverter.cs @@ -75,7 +75,7 @@ public static class ExtentsConverter { if(extents == null) return null; - var tuples = extents.Select(extent => new Tuple(extent.Start, extent.End)).ToList(); + var tuples = extents.Select(static extent => new Tuple(extent.Start, extent.End)).ToList(); return new ExtentsULong(tuples); } diff --git a/Aaru.CommonTypes/Extents/ExtentsInt.cs b/Aaru.CommonTypes/Extents/ExtentsInt.cs index b056f728e..bbac8853d 100644 --- a/Aaru.CommonTypes/Extents/ExtentsInt.cs +++ b/Aaru.CommonTypes/Extents/ExtentsInt.cs @@ -122,7 +122,7 @@ public sealed class ExtentsInt _backend.Add(new Tuple(item, item)); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); } /// Adds a new extent @@ -210,7 +210,7 @@ public sealed class ExtentsInt if(toAddTwo != null) _backend.Add(toAddTwo); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); return true; } diff --git a/Aaru.CommonTypes/Extents/ExtentsLong.cs b/Aaru.CommonTypes/Extents/ExtentsLong.cs index c8ac5132a..c3589ba2c 100644 --- a/Aaru.CommonTypes/Extents/ExtentsLong.cs +++ b/Aaru.CommonTypes/Extents/ExtentsLong.cs @@ -121,7 +121,7 @@ public sealed class ExtentsLong _backend.Add(new Tuple(item, item)); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); } /// Adds a new extent @@ -209,7 +209,7 @@ public sealed class ExtentsLong if(toAddTwo != null) _backend.Add(toAddTwo); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); return true; } diff --git a/Aaru.CommonTypes/Extents/ExtentsSByte.cs b/Aaru.CommonTypes/Extents/ExtentsSByte.cs index b61500557..c8ed906d6 100644 --- a/Aaru.CommonTypes/Extents/ExtentsSByte.cs +++ b/Aaru.CommonTypes/Extents/ExtentsSByte.cs @@ -122,7 +122,7 @@ public sealed class ExtentsSByte _backend.Add(new Tuple(item, item)); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); } /// Adds a new extent @@ -210,7 +210,7 @@ public sealed class ExtentsSByte if(toAddTwo != null) _backend.Add(toAddTwo); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); return true; } diff --git a/Aaru.CommonTypes/Extents/ExtentsShort.cs b/Aaru.CommonTypes/Extents/ExtentsShort.cs index 08d9315eb..43c3c20c3 100644 --- a/Aaru.CommonTypes/Extents/ExtentsShort.cs +++ b/Aaru.CommonTypes/Extents/ExtentsShort.cs @@ -122,7 +122,7 @@ public sealed class ExtentsShort _backend.Add(new Tuple(item, item)); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); } /// Adds a new extent @@ -210,7 +210,7 @@ public sealed class ExtentsShort if(toAddTwo != null) _backend.Add(toAddTwo); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); return true; } diff --git a/Aaru.CommonTypes/Extents/ExtentsUInt.cs b/Aaru.CommonTypes/Extents/ExtentsUInt.cs index cffc2fdcf..f2eb7a3f6 100644 --- a/Aaru.CommonTypes/Extents/ExtentsUInt.cs +++ b/Aaru.CommonTypes/Extents/ExtentsUInt.cs @@ -122,7 +122,7 @@ public sealed class ExtentsUInt _backend.Add(new Tuple(item, item)); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); } /// Adds a new extent @@ -210,7 +210,7 @@ public sealed class ExtentsUInt if(toAddTwo != null) _backend.Add(toAddTwo); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); return true; } diff --git a/Aaru.CommonTypes/Extents/ExtentsULong.cs b/Aaru.CommonTypes/Extents/ExtentsULong.cs index 526b538d3..195d9df8f 100644 --- a/Aaru.CommonTypes/Extents/ExtentsULong.cs +++ b/Aaru.CommonTypes/Extents/ExtentsULong.cs @@ -122,7 +122,7 @@ public sealed class ExtentsULong _backend.Add(new Tuple(item, item)); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); } /// Adds a new extent @@ -210,7 +210,7 @@ public sealed class ExtentsULong if(toAddTwo != null) _backend.Add(toAddTwo); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); return true; } diff --git a/Aaru.CommonTypes/Extents/ExtentsUShort.cs b/Aaru.CommonTypes/Extents/ExtentsUShort.cs index aa14683c9..833a18f65 100644 --- a/Aaru.CommonTypes/Extents/ExtentsUShort.cs +++ b/Aaru.CommonTypes/Extents/ExtentsUShort.cs @@ -122,7 +122,7 @@ public sealed class ExtentsUShort _backend.Add(new Tuple(item, item)); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); } /// Adds a new extent @@ -210,7 +210,7 @@ public sealed class ExtentsUShort if(toAddTwo != null) _backend.Add(toAddTwo); // Sort - _backend = _backend.OrderBy(t => t.Item1).ToList(); + _backend = _backend.OrderBy(static t => t.Item1).ToList(); return true; } diff --git a/Aaru.Core/Devices/Dumping/ATA.cs b/Aaru.Core/Devices/Dumping/ATA.cs index e4cd66f77..ecaa52433 100644 --- a/Aaru.Core/Devices/Dumping/ATA.cs +++ b/Aaru.Core/Devices/Dumping/ATA.cs @@ -904,7 +904,7 @@ public partial class Dump if(filesystems.Count > 0) { - foreach(var filesystem in filesystems.Select(o => new + foreach(var filesystem in filesystems.Select(static o => new { o.start, o.type diff --git a/Aaru.Core/Devices/Dumping/CompactDisc/Data.cs b/Aaru.Core/Devices/Dumping/CompactDisc/Data.cs index 2cca06f7c..1742444ea 100644 --- a/Aaru.Core/Devices/Dumping/CompactDisc/Data.cs +++ b/Aaru.Core/Devices/Dumping/CompactDisc/Data.cs @@ -149,7 +149,7 @@ partial class Dump var firstSectorToRead = (uint)i; - Track track = tracks.OrderBy(t => t.StartSector).LastOrDefault(t => i >= t.StartSector); + Track track = tracks.OrderBy(static t => t.StartSector).LastOrDefault(t => i >= t.StartSector); blocksToRead = 0; bool inData = nextData; @@ -799,9 +799,7 @@ partial class Dump } if(supportsLongSectors) - { outputFormat.WriteSectorsLong(data, i + r, false, 1, [sectorStatus]); - } else { var cooked = new MemoryStream(); @@ -856,7 +854,7 @@ partial class Dump if(i > 0) i--; - foreach(Track aTrack in tracks.Where(aTrack => aTrack.Type == TrackType.Audio)) + foreach(Track aTrack in tracks.Where(static aTrack => aTrack.Type == TrackType.Audio)) audioExtents.Add(aTrack.StartSector, aTrack.EndSector); continue; @@ -1071,9 +1069,7 @@ partial class Dump } if(supportsLongSectors) - { outputFormat.WriteSectorsLong(data, i, false, blocksToRead, sectorStatus); - } else { var cooked = new MemoryStream(); @@ -1122,7 +1118,7 @@ partial class Dump if(i > 0) i--; - foreach(Track aTrack in tracks.Where(aTrack => aTrack.Type == TrackType.Audio)) + foreach(Track aTrack in tracks.Where(static aTrack => aTrack.Type == TrackType.Audio)) audioExtents.Add(aTrack.StartSector, aTrack.EndSector); continue; diff --git a/Aaru.Core/Devices/Dumping/CompactDisc/Dump.cs b/Aaru.Core/Devices/Dumping/CompactDisc/Dump.cs index f8b27680b..fc288a34e 100644 --- a/Aaru.Core/Devices/Dumping/CompactDisc/Dump.cs +++ b/Aaru.Core/Devices/Dumping/CompactDisc/Dump.cs @@ -150,7 +150,7 @@ sealed partial class Dump return; } - firstLba = (uint)tracks.Min(t => t.StartSector); + firstLba = (uint)tracks.Min(static t => t.StartSector); // Check subchannels support supportsPqSubchannel = SupportsPqSubchannel(_dev, UpdateStatus, firstLba) || @@ -517,7 +517,7 @@ sealed partial class Dump } if(!outputOptical.OpticalCapabilities.HasFlag(OpticalImageCapabilities.CanStoreAudioTracks) && - tracks.Any(track => track.Type == TrackType.Audio)) + tracks.Any(static track => track.Type == TrackType.Audio)) { StoppingErrorMessage?.Invoke(Localization.Core.Output_format_does_not_support_audio_tracks_cannot_continue); @@ -525,8 +525,8 @@ sealed partial class Dump } if(!outputOptical.OpticalCapabilities.HasFlag(OpticalImageCapabilities.CanStorePregaps) && - tracks.Where(track => track.Sequence != tracks.First(t => t.Session == track.Session).Sequence) - .Any(track => track.Pregap > 0)) + tracks.Where(track => track.Sequence != tracks.First(t => t.Session == track.Session).Sequence) + .Any(static track => track.Pregap > 0)) { if(!_force) { @@ -658,14 +658,14 @@ sealed partial class Dump [ new() { - Sequence = (uint)(tracks.Any(t => t.Sequence == 1) ? 0 : 1), + Sequence = (uint)(tracks.Any(static t => t.Sequence == 1) ? 0 : 1), Session = 1, Type = hiddenData ? TrackType.Data : TrackType.Audio, StartSector = 0, BytesPerSector = (int)sectorSize, RawBytesPerSector = (int)sectorSize, SubchannelType = subType, - EndSector = tracks.First(t => t.Sequence >= 1).StartSector - 1 + EndSector = tracks.First(static t => t.Sequence >= 1).StartSector - 1 } ]; @@ -673,11 +673,11 @@ sealed partial class Dump tracks = trkList.ToArray(); } - if(tracks.Any(t => t.Type == TrackType.Audio) && desiredSubchannel != MmcSubchannel.Raw) + if(tracks.Any(static t => t.Type == TrackType.Audio) && desiredSubchannel != MmcSubchannel.Raw) UpdateStatus?.Invoke(Localization.Core.WARNING_If_disc_says_CDG_CDEG_CDMIDI_dump_will_be_incorrect); // Check mode for tracks - foreach(Track trk in tracks.Where(t => t.Type != TrackType.Audio)) + foreach(Track trk in tracks.Where(static t => t.Type != TrackType.Audio)) { if(!readcd) { @@ -787,7 +787,7 @@ sealed partial class Dump return; } - if(tracks.Any(t => t.Type == TrackType.Audio)) + if(tracks.Any(static t => t.Type == TrackType.Audio)) { StoppingErrorMessage?.Invoke(Localization.Core .Output_format_does_not_support_audio_tracks_not_continuing); @@ -796,7 +796,7 @@ sealed partial class Dump return; } - if(tracks.Any(t => t.Type != TrackType.CdMode1)) + if(tracks.Any(static t => t.Type != TrackType.CdMode1)) { StoppingErrorMessage?.Invoke(Localization.Core .Output_format_only_supports_MODE_1_tracks_not_continuing); @@ -928,7 +928,7 @@ sealed partial class Dump var cdiWithHiddenTrack1 = false; - if(dskType is MediaType.CDIREADY && tracks.Min(t => t.Sequence) == 1) + if(dskType is MediaType.CDIREADY && tracks.Min(static t => t.Sequence) == 1) { cdiWithHiddenTrack1 = true; dskType = MediaType.CDI; @@ -1084,9 +1084,8 @@ sealed partial class Dump foreach(int sub in _resume.BadSubchannels) subchannelExtents.Add(sub); if(_resume.NextBlock < blocks) - { - for(ulong i = _resume.NextBlock; i < blocks; i++) subchannelExtents.Add((int)i); - } + for(ulong i = _resume.NextBlock; i < blocks; i++) + subchannelExtents.Add((int)i); } if(_resume.NextBlock > 0) @@ -1107,7 +1106,7 @@ sealed partial class Dump // Check offset if(_fixOffset) { - if(tracks.All(t => t.Type != TrackType.Audio)) + if(tracks.All(static t => t.Type != TrackType.Audio)) { // No audio tracks so no need to fix offset UpdateStatus.Invoke(Localization.Core.No_audio_tracks_disabling_offset_fix); @@ -1123,7 +1122,7 @@ sealed partial class Dump _fixOffset = false; } } - else if(tracks.Any(t => t.Type == TrackType.Audio)) + else if(tracks.Any(static t => t.Type == TrackType.Audio)) { UpdateStatus?.Invoke(Localization.Core .There_are_audio_tracks_and_offset_fixing_is_disabled_dump_may_not_be_correct); @@ -1153,7 +1152,7 @@ sealed partial class Dump UpdateStatus?.Invoke(Localization.Core.Drive_reading_offset_not_found_in_database); UpdateStatus?.Invoke(Localization.Core.Disc_offset_cannot_be_calculated); - if(tracks.Any(t => t.Type == TrackType.Audio)) + if(tracks.Any(static t => t.Type == TrackType.Audio)) UpdateStatus?.Invoke(Localization.Core.Dump_may_not_be_correct); if(_fixOffset) _fixOffset = false; @@ -1238,16 +1237,18 @@ sealed partial class Dump // Try to read the first track pregap if(_dumpFirstTrackPregap && readcd) + { ReadCdFirstTrackPregap(blockSize, ref currentSpeed, mediaTags, supportedSubchannel, ref totalDuration, outputOptical); + } audioExtents = new ExtentsULong(); - foreach(Track audioTrack in tracks.Where(t => t.Type == TrackType.Audio)) + foreach(Track audioTrack in tracks.Where(static t => t.Type == TrackType.Audio)) audioExtents.Add(audioTrack.StartSector, audioTrack.EndSector); // Set speed @@ -1269,7 +1270,7 @@ sealed partial class Dump if(dskType == MediaType.CDIREADY || cdiWithHiddenTrack1) { - Track track0 = tracks.FirstOrDefault(t => t.Sequence is 0 or 1); + Track track0 = tracks.FirstOrDefault(static t => t.Sequence is 0 or 1); track0.Type = TrackType.CdMode2Formless; @@ -1510,9 +1511,8 @@ sealed partial class Dump supportsLongSectors); foreach(Tuple leadoutExtent in leadOutExtents.ToArray()) - { - for(ulong e = leadoutExtent.Item1; e <= leadoutExtent.Item2; e++) subchannelExtents.Remove((int)e); - } + for(ulong e = leadoutExtent.Item1; e <= leadoutExtent.Item2; e++) + subchannelExtents.Remove((int)e); if(subchannelExtents.Count > 0 && _retryPasses > 0 && _retrySubchannel) { @@ -1614,7 +1614,7 @@ sealed partial class Dump foreach(Track trk in tracks) { // Fix track starts in each session's first track - if(tracks.Where(t => t.Session == trk.Session).MinBy(t => t.Sequence).Sequence == trk.Sequence) + if(tracks.Where(t => t.Session == trk.Session).MinBy(static t => t.Sequence).Sequence == trk.Sequence) { if(trk.Sequence == 1) continue; diff --git a/Aaru.Core/Devices/Dumping/CompactDisc/Error.cs b/Aaru.Core/Devices/Dumping/CompactDisc/Error.cs index a7869ccd2..e7156dd1f 100644 --- a/Aaru.Core/Devices/Dumping/CompactDisc/Error.cs +++ b/Aaru.Core/Devices/Dumping/CompactDisc/Error.cs @@ -139,7 +139,7 @@ partial class Dump if(dcMode10?.Pages != null) { - foreach(Modes.ModePage modePage in dcMode10.Value.Pages.Where(modePage => + foreach(Modes.ModePage modePage in dcMode10.Value.Pages.Where(static modePage => modePage is { Page: 0x01, Subpage: 0x00 })) currentModePage = modePage; } @@ -149,10 +149,8 @@ partial class Dump { if(dcMode6.Value.Pages != null) { - foreach(Modes.ModePage modePage in dcMode6.Value.Pages.Where(modePage => modePage is - { - Page: 0x01, Subpage: 0x00 - })) + foreach(Modes.ModePage modePage in dcMode6.Value.Pages.Where(static modePage => + modePage is { Page: 0x01, Subpage: 0x00 })) currentModePage = modePage; } } @@ -467,9 +465,8 @@ partial class Dump // MEDIUM ERROR, retry with ignore error below if(decSense is { ASC: 0x11 }) - { - if(!sectorsNotEvenPartial.Contains(badSector)) sectorsNotEvenPartial.Add(badSector); - } + if(!sectorsNotEvenPartial.Contains(badSector)) + sectorsNotEvenPartial.Add(badSector); } // Because one block has been partially used to fix the offset @@ -519,8 +516,7 @@ partial class Dump extents.Add(badSector); _mediaGraph?.PaintSectorGood(badSector); - UpdateStatus?.Invoke(string.Format(UI.Fixed_ECC_Q_for_sector_0, - badSector)); + UpdateStatus?.Invoke(string.Format(UI.Fixed_ECC_Q_for_sector_0, badSector)); sectorsNotEvenPartial.Remove(badSector); } @@ -688,7 +684,8 @@ partial class Dump PulseProgress?.Invoke(string.Format(Localization.Core.Trying_to_get_partial_data_for_sector_0, badSector)); - Track track = tracks.OrderBy(t => t.StartSector).LastOrDefault(t => badSector >= t.StartSector); + Track track = tracks.OrderBy(static t => t.StartSector) + .LastOrDefault(t => badSector >= t.StartSector); if(readcd) { @@ -852,7 +849,7 @@ partial class Dump { var badSector = (uint)bs; - Track track = tracks.OrderBy(t => t.StartSector).LastOrDefault(t => badSector >= t.StartSector); + Track track = tracks.OrderBy(static t => t.StartSector).LastOrDefault(t => badSector >= t.StartSector); if(_aborted) { diff --git a/Aaru.Core/Devices/Dumping/CompactDisc/Pregap.cs b/Aaru.Core/Devices/Dumping/CompactDisc/Pregap.cs index 3b32c9305..1c66bc116 100644 --- a/Aaru.Core/Devices/Dumping/CompactDisc/Pregap.cs +++ b/Aaru.Core/Devices/Dumping/CompactDisc/Pregap.cs @@ -251,7 +251,8 @@ partial class Dump var trackRetries = 0; // First track of each session has at least 150 sectors of pregap and is not always readable - if(tracks.Where(trk => trk.Session == track.Session).MinBy(trk => trk.Sequence).Sequence == track.Sequence) + if(tracks.Where(trk => trk.Session == track.Session).MinBy(static trk => trk.Sequence).Sequence == + track.Sequence) { AaruLogging.Debug(PREGAP_MODULE_NAME, Localization.Core.Skipping_track_0, track.Sequence); @@ -563,7 +564,7 @@ partial class Dump lba)); } - if(subBuf.All(b => b == 0)) + if(subBuf.All(static b => b == 0)) { inexactPositioning = true; @@ -681,7 +682,8 @@ partial class Dump trk.Pregap = (ulong)pregaps[trk.Sequence]; // Do not reduce pregap, or starting position of session's first track - if(tracks.Where(t => t.Session == trk.Session).MinBy(t => t.Sequence).Sequence == trk.Sequence) continue; + if(tracks.Where(t => t.Session == trk.Session).MinBy(static t => t.Sequence).Sequence == trk.Sequence) + continue; if(dumping) { @@ -845,8 +847,8 @@ partial class Dump if(!sense) subBuf = DeinterleaveQ(cmdBuf); - else if(dbDev?.ATAPI?.RemovableMedias?.Any(d => d.SupportsPlextorReadCDDA == true) == true || - dbDev?.SCSI?.RemovableMedias?.Any(d => d.SupportsPlextorReadCDDA == true) == true || + else if(dbDev?.ATAPI?.RemovableMedias?.Any(static d => d.SupportsPlextorReadCDDA == true) == true || + dbDev?.SCSI?.RemovableMedias?.Any(static d => d.SupportsPlextorReadCDDA == true) == true || dev.Manufacturer.Equals("plextor", StringComparison.InvariantCultureIgnoreCase)) sense = dev.PlextorReadCdDa(out cmdBuf, out _, lba, 96, 1, PlextorSubchannel.All, dev.Timeout, out _); diff --git a/Aaru.Core/Devices/Dumping/CompactDisc/Recordable.cs b/Aaru.Core/Devices/Dumping/CompactDisc/Recordable.cs index c9efc6de4..7c6e69b86 100644 --- a/Aaru.Core/Devices/Dumping/CompactDisc/Recordable.cs +++ b/Aaru.Core/Devices/Dumping/CompactDisc/Recordable.cs @@ -118,7 +118,7 @@ partial class Dump if(track.Sequence == 0) { - track = tracks.FirstOrDefault(t => (int)t.Sequence == 1); + track = tracks.FirstOrDefault(static t => (int)t.Sequence == 1); trackStart = 0; pregap = track?.StartSector ?? 0; } diff --git a/Aaru.Core/Devices/Dumping/CompactDisc/Tracks.cs b/Aaru.Core/Devices/Dumping/CompactDisc/Tracks.cs index f2066a4dc..9675bd921 100644 --- a/Aaru.Core/Devices/Dumping/CompactDisc/Tracks.cs +++ b/Aaru.Core/Devices/Dumping/CompactDisc/Tracks.cs @@ -95,9 +95,9 @@ partial class Dump if(toc.HasValue) { FullTOC.TrackDataDescriptor[] sortedTracks = - toc.Value.TrackDescriptors.OrderBy(track => track.POINT).ToArray(); + toc.Value.TrackDescriptors.OrderBy(static track => track.POINT).ToArray(); - foreach(FullTOC.TrackDataDescriptor trk in sortedTracks.Where(trk => trk.ADR is 1 or 4)) + foreach(FullTOC.TrackDataDescriptor trk in sortedTracks.Where(static trk => trk.ADR is 1 or 4)) { switch(trk.POINT) { @@ -190,8 +190,9 @@ partial class Dump if(oldToc.HasValue) { - foreach(TOC.CDTOCTrackDataDescriptor trk in oldToc.Value.TrackDescriptors.OrderBy(t => t.TrackNumber) - .Where(trk => trk.ADR is 1 or 4)) + foreach(TOC.CDTOCTrackDataDescriptor trk in oldToc.Value.TrackDescriptors + .OrderBy(static t => t.TrackNumber) + .Where(static trk => trk.ADR is 1 or 4)) { switch(trk.TrackNumber) { @@ -250,7 +251,7 @@ partial class Dump if(!sense) { - byte[] temp = new byte[8]; + var temp = new byte[8]; Array.Copy(cmdBuf, 0, temp, 0, 8); Array.Reverse(temp); diff --git a/Aaru.Core/Devices/Dumping/CompactDisc/Trim.cs b/Aaru.Core/Devices/Dumping/CompactDisc/Trim.cs index acec4fb0a..fc59bbc8f 100644 --- a/Aaru.Core/Devices/Dumping/CompactDisc/Trim.cs +++ b/Aaru.Core/Devices/Dumping/CompactDisc/Trim.cs @@ -124,7 +124,7 @@ partial class Dump PulseProgress?.Invoke(string.Format(Localization.Core.Trimming_sector_0, badSector)); - Track track = tracks.OrderBy(t => t.StartSector).LastOrDefault(t => badSector >= t.StartSector); + Track track = tracks.OrderBy(static t => t.StartSector).LastOrDefault(t => badSector >= t.StartSector); byte sectorsToTrim = 1; var badSectorToRead = (uint)badSector; diff --git a/Aaru.Core/Devices/Dumping/Metadata.cs b/Aaru.Core/Devices/Dumping/Metadata.cs index 83fb2417b..71620cb11 100644 --- a/Aaru.Core/Devices/Dumping/Metadata.cs +++ b/Aaru.Core/Devices/Dumping/Metadata.cs @@ -124,15 +124,17 @@ partial class Dump if(filesystems.Count > 0) { - foreach(var filesystem in filesystems.Select(o => new + foreach(var filesystem in filesystems.Select(static o => new { o.start, o.type }) .Distinct()) + { AaruLogging.WriteLine(Localization.Core.Found_filesystem_0_at_sector_1, filesystem.type, filesystem.start); + } } sidecar.OpticalDiscs[0].Dimensions = Dimensions.FromMediaType(mediaType); diff --git a/Aaru.Core/Devices/Dumping/MiniDisc.cs b/Aaru.Core/Devices/Dumping/MiniDisc.cs index 482579f1b..060aadbca 100644 --- a/Aaru.Core/Devices/Dumping/MiniDisc.cs +++ b/Aaru.Core/Devices/Dumping/MiniDisc.cs @@ -520,7 +520,7 @@ partial class Dump if(dcMode6?.Pages != null) { - foreach(Modes.ModePage modePage in dcMode6.Value.Pages.Where(modePage => + foreach(Modes.ModePage modePage in dcMode6.Value.Pages.Where(static modePage => modePage is { Page: 0x01, Subpage: 0x00 })) currentModePage = modePage; } @@ -783,7 +783,7 @@ partial class Dump if(filesystems.Count > 0) { - foreach(var filesystem in filesystems.Select(o => new + foreach(var filesystem in filesystems.Select(static o => new { o.start, o.type diff --git a/Aaru.Core/Devices/Dumping/PlayStationPortable/MemoryStick.cs b/Aaru.Core/Devices/Dumping/PlayStationPortable/MemoryStick.cs index fe78a36c9..5536e4f3e 100644 --- a/Aaru.Core/Devices/Dumping/PlayStationPortable/MemoryStick.cs +++ b/Aaru.Core/Devices/Dumping/PlayStationPortable/MemoryStick.cs @@ -432,7 +432,7 @@ public partial class Dump if(dcMode10.HasValue) { - foreach(Modes.ModePage modePage in dcMode10.Value.Pages.Where(modePage => + foreach(Modes.ModePage modePage in dcMode10.Value.Pages.Where(static modePage => modePage is { Page: 0x01, Subpage: 0x00 })) currentModePage = modePage; } @@ -442,7 +442,7 @@ public partial class Dump { if(dcMode6.HasValue) { - foreach(Modes.ModePage modePage in dcMode6.Value.Pages.Where(modePage => + foreach(Modes.ModePage modePage in dcMode6.Value.Pages.Where(static modePage => modePage is { Page: 0x01, Subpage: 0x00 })) currentModePage = modePage; } @@ -713,7 +713,7 @@ public partial class Dump if(filesystems.Count > 0) { - foreach(var filesystem in filesystems.Select(o => new + foreach(var filesystem in filesystems.Select(static o => new { o.start, o.type diff --git a/Aaru.Core/Devices/Dumping/PlayStationPortable/UMD.cs b/Aaru.Core/Devices/Dumping/PlayStationPortable/UMD.cs index 372633410..89af95168 100644 --- a/Aaru.Core/Devices/Dumping/PlayStationPortable/UMD.cs +++ b/Aaru.Core/Devices/Dumping/PlayStationPortable/UMD.cs @@ -457,7 +457,7 @@ public partial class Dump if(dcMode6.HasValue) { - foreach(Modes.ModePage modePage in dcMode6.Value.Pages.Where(modePage => + foreach(Modes.ModePage modePage in dcMode6.Value.Pages.Where(static modePage => modePage is { Page: 0x01, Subpage: 0x00 })) currentModePage = modePage; } diff --git a/Aaru.Core/Devices/Dumping/SSC.cs b/Aaru.Core/Devices/Dumping/SSC.cs index bc463ad97..22f9058de 100644 --- a/Aaru.Core/Devices/Dumping/SSC.cs +++ b/Aaru.Core/Devices/Dumping/SSC.cs @@ -283,9 +283,8 @@ partial class Dump Modes.DecodedMode? decMode = null; if(!sense && !_dev.Error) - { - if(Modes.DecodeMode10(cmdBuf, _dev.ScsiType).HasValue) decMode = Modes.DecodeMode10(cmdBuf, _dev.ScsiType); - } + if(Modes.DecodeMode10(cmdBuf, _dev.ScsiType).HasValue) + decMode = Modes.DecodeMode10(cmdBuf, _dev.ScsiType); UpdateStatus?.Invoke(Localization.Core.Requesting_MODE_SENSE_6); @@ -313,9 +312,8 @@ partial class Dump if(sense || _dev.Error) sense = _dev.ModeSense(out cmdBuf, out senseBuf, 5, out duration); if(!sense && !_dev.Error) - { - if(Modes.DecodeMode6(cmdBuf, _dev.ScsiType).HasValue) decMode = Modes.DecodeMode6(cmdBuf, _dev.ScsiType); - } + if(Modes.DecodeMode6(cmdBuf, _dev.ScsiType).HasValue) + decMode = Modes.DecodeMode6(cmdBuf, _dev.ScsiType); // TODO: Check partitions page if(decMode.HasValue) @@ -858,11 +856,11 @@ partial class Dump currentBlock = _resume.NextBlock; currentTapeFile = - outputTape.Files.FirstOrDefault(f => f.LastBlock == outputTape?.Files.Max(g => g.LastBlock)); + outputTape.Files.FirstOrDefault(f => f.LastBlock == outputTape?.Files.Max(static g => g.LastBlock)); currentTapePartition = outputTape.TapePartitions.FirstOrDefault(p => p.LastBlock == - outputTape?.TapePartitions.Max(g => g.LastBlock)); + outputTape?.TapePartitions.Max(static g => g.LastBlock)); } if(mode6Data != null) outputTape.WriteMediaTag(mode6Data, MediaTagType.SCSI_MODESENSE_6); @@ -1422,7 +1420,7 @@ partial class Dump if(filesystems.Count > 0) { - foreach(var filesystem in filesystems.Select(o => new + foreach(var filesystem in filesystems.Select(static o => new { o.start, o.type diff --git a/Aaru.Core/Devices/Dumping/Sbc/Dump.cs b/Aaru.Core/Devices/Dumping/Sbc/Dump.cs index 961b471b2..09a4b72bf 100644 --- a/Aaru.Core/Devices/Dumping/Sbc/Dump.cs +++ b/Aaru.Core/Devices/Dumping/Sbc/Dump.cs @@ -196,7 +196,7 @@ partial class Dump // TODO: Fix this containsFloppyPage = decMode?.Pages?.Aggregate(containsFloppyPage, - (current, modePage) => + static (current, modePage) => current | modePage.Page == 0x05) == true; } @@ -522,7 +522,7 @@ partial class Dump }); } else - tracks = tracks.OrderBy(t => t.Sequence).ToList(); + tracks = tracks.OrderBy(static t => t.Sequence).ToList(); ret = outputFormat.Create(_outputPath, dskType, @@ -725,8 +725,8 @@ partial class Dump bool discIs80Mm = mediaTags?.TryGetValue(MediaTagType.DVD_PFI, out byte[] pfiBytes) == true && PFI.Decode(pfiBytes, dskType)?.DiscSize == DVDSize.Eighty || - mediaTags?.TryGetValue(MediaTagType.BD_DI, out byte[] diBytes) == true && - DI.Decode(diBytes)?.Units?.Any(s => s.DiscSize == DI.BluSize.Eighty) == true; + mediaTags?.TryGetValue(MediaTagType.BD_DI, out byte[] diBytes) == true && + DI.Decode(diBytes)?.Units?.Any(static s => s.DiscSize == DI.BluSize.Eighty) == true; Spiral.DiscParameters discSpiralParameters = Spiral.DiscParametersFromMediaType(dskType, discIs80Mm); @@ -780,7 +780,7 @@ partial class Dump (CopyrightType)cmi[0] == CopyrightType.CSS) { UpdateStatus?.Invoke(Localization.Core.Title_keys_dumping_is_enabled_This_will_be_very_slow); - _resume.MissingTitleKeys ??= [..Enumerable.Range(0, (int)blocks).Select(n => (ulong)n)]; + _resume.MissingTitleKeys ??= [..Enumerable.Range(0, (int)blocks).Select(static n => (ulong)n)]; } if(_dev.ScsiType == PeripheralDeviceTypes.OpticalDevice) @@ -1361,7 +1361,7 @@ partial class Dump if(filesystems.Count > 0) { - foreach(var filesystem in filesystems.Select(o => new + foreach(var filesystem in filesystems.Select(static o => new { o.start, o.type diff --git a/Aaru.Core/Devices/Dumping/Sbc/Error.cs b/Aaru.Core/Devices/Dumping/Sbc/Error.cs index 84a0c9fe9..5019f8866 100644 --- a/Aaru.Core/Devices/Dumping/Sbc/Error.cs +++ b/Aaru.Core/Devices/Dumping/Sbc/Error.cs @@ -102,7 +102,7 @@ partial class Dump if(dcMode10?.Pages != null) { - foreach(Modes.ModePage modePage in dcMode10.Value.Pages.Where(modePage => + foreach(Modes.ModePage modePage in dcMode10.Value.Pages.Where(static modePage => modePage is { Page: 0x01, Subpage: 0x00 })) currentModePage = modePage; } @@ -112,10 +112,8 @@ partial class Dump { if(dcMode6.Value.Pages != null) { - foreach(Modes.ModePage modePage in dcMode6.Value.Pages.Where(modePage => modePage is - { - Page: 0x01, Subpage: 0x00 - })) + foreach(Modes.ModePage modePage in dcMode6.Value.Pages.Where(static modePage => + modePage is { Page: 0x01, Subpage: 0x00 })) currentModePage = modePage; } } @@ -449,7 +447,7 @@ partial class Dump // If the CMI bit is 1, the sector is using copy protection, else it is not // If the decoded title key is zeroed, there should be no copy protection - if((titleKey.Value.CMI & 0x80) >> 7 == 0 || titleKey.Value.Key.All(k => k == 0)) + if((titleKey.Value.CMI & 0x80) >> 7 == 0 || titleKey.Value.Key.All(static k => k == 0)) { outputFormat.WriteSectorTag([0, 0, 0, 0, 0], missingKey, false, SectorTagType.DvdSectorTitleKey); diff --git a/Aaru.Core/Devices/Dumping/XGD.cs b/Aaru.Core/Devices/Dumping/XGD.cs index 1ff273d11..84beb1048 100644 --- a/Aaru.Core/Devices/Dumping/XGD.cs +++ b/Aaru.Core/Devices/Dumping/XGD.cs @@ -1089,8 +1089,9 @@ partial class Dump List tmpList = []; foreach(ulong ur in _resume.BadBlocks) - for(ulong i = ur; i < ur + blocksToRead; i++) - tmpList.Add(i); + { + for(ulong i = ur; i < ur + blocksToRead; i++) tmpList.Add(i); + } tmpList.Sort(); @@ -1135,7 +1136,7 @@ partial class Dump if(dcMode10.HasValue) { - foreach(Modes.ModePage modePage in dcMode10.Value.Pages.Where(modePage => + foreach(Modes.ModePage modePage in dcMode10.Value.Pages.Where(static modePage => modePage is { Page: 0x01, Subpage: 0x00 })) currentModePage = modePage; } @@ -1145,7 +1146,7 @@ partial class Dump { if(dcMode6.HasValue) { - foreach(Modes.ModePage modePage in dcMode6.Value.Pages.Where(modePage => + foreach(Modes.ModePage modePage in dcMode6.Value.Pages.Where(static modePage => modePage is { Page: 0x01, Subpage: 0x00 })) currentModePage = modePage; } diff --git a/Aaru.Core/Devices/Report/GdRomSwapTrick.cs b/Aaru.Core/Devices/Report/GdRomSwapTrick.cs index 59c3d29ee..930b891ba 100644 --- a/Aaru.Core/Devices/Report/GdRomSwapTrick.cs +++ b/Aaru.Core/Devices/Report/GdRomSwapTrick.cs @@ -80,7 +80,7 @@ public sealed partial class DeviceReport AaruLogging.WriteLine(Localization.Core.Sending_READ_FULL_TOC_to_the_device); - int retries = 0; + var retries = 0; bool sense; byte[] buffer; ReadOnlySpan senseBuffer; @@ -127,7 +127,7 @@ public sealed partial class DeviceReport // Guaranteed to never fall into default FullTOC.CDFullTOC toc = decodedToc ?? default(FullTOC.CDFullTOC); - FullTOC.TrackDataDescriptor leadOutTrack = toc.TrackDescriptors.FirstOrDefault(t => t.POINT == 0xA2); + FullTOC.TrackDataDescriptor leadOutTrack = toc.TrackDescriptors.FirstOrDefault(static t => t.POINT == 0xA2); if(leadOutTrack.POINT != 0xA2) { @@ -139,8 +139,8 @@ public sealed partial class DeviceReport return; } - int min = 0, sec, frame; - bool tocIsNotBcd = false; + int min = 0, sec, frame; + var tocIsNotBcd = false; report.GdRomSwapDiscCapabilities.SwapDiscLeadOutPMIN = leadOutTrack.PMIN; report.GdRomSwapDiscCapabilities.SwapDiscLeadOutPSEC = leadOutTrack.PSEC; @@ -241,7 +241,7 @@ public sealed partial class DeviceReport // Guaranteed to never fall into default toc = decodedToc ?? default(FullTOC.CDFullTOC); - FullTOC.TrackDataDescriptor newLeadOutTrack = toc.TrackDescriptors.FirstOrDefault(t => t.POINT == 0xA2); + FullTOC.TrackDataDescriptor newLeadOutTrack = toc.TrackDescriptors.FirstOrDefault(static t => t.POINT == 0xA2); if(newLeadOutTrack.POINT != 0xA2) { @@ -1849,8 +1849,8 @@ public sealed partial class DeviceReport if(pressedKey.Key == ConsoleKey.N) return; uint startingSector = 45000; - bool readAsAudio = false; - bool aborted = false; + var readAsAudio = false; + var aborted = false; MmcSubchannel subchannel = MmcSubchannel.None; uint blockSize = 2352; @@ -1977,7 +1977,7 @@ public sealed partial class DeviceReport byte[] lastSuccessfulPq = null; byte[] lastSuccessfulRw = null; - bool trackModeChange = false; + var trackModeChange = false; AaruLogging.WriteLine(); diff --git a/Aaru.Core/Devices/Report/MMC.cs b/Aaru.Core/Devices/Report/MMC.cs index 8162fa2e5..3bf3f1294 100644 --- a/Aaru.Core/Devices/Report/MMC.cs +++ b/Aaru.Core/Devices/Report/MMC.cs @@ -53,8 +53,8 @@ public sealed partial class DeviceReport while(offset + 4 < response.Length) { - ushort code = (ushort)((response[offset + 0] << 8) + response[offset + 1]); - byte[] data = new byte[response[offset + 3] + 4]; + var code = (ushort)((response[offset + 0] << 8) + response[offset + 1]); + var data = new byte[response[offset + 3] + 4]; if(code != 0x0108) { @@ -76,7 +76,7 @@ public sealed partial class DeviceReport /// MMC features report public MmcFeatures ReportMmcFeatures() { - bool sense = true; + var sense = true; byte[] buffer = []; Spectre.ProgressSingleSpinner(ctx => @@ -478,7 +478,7 @@ public sealed partial class DeviceReport if(ftr010C.HasValue) { - byte[] temp = new byte[4]; + var temp = new byte[4]; temp[0] = (byte)((ftr010C.Value.Century & 0xFF00) >> 8); temp[1] = (byte)(ftr010C.Value.Century & 0xFF); temp[2] = (byte)((ftr010C.Value.Year & 0xFF00) >> 8); @@ -578,7 +578,7 @@ public sealed partial class DeviceReport public TestedMedia ReportMmcMedia(string mediaType, bool tryPlextor, bool tryPioneer, bool tryNec, bool tryHldtst, bool tryMediaTekF106, bool tryLiteOn) { - bool sense = true; + var sense = true; byte[] buffer = []; ReadOnlySpan senseBuffer = []; var mediaTest = new TestedMedia(); @@ -609,7 +609,7 @@ public sealed partial class DeviceReport if(!sense && !_dev.Error) { mediaTest.SupportsReadCapacity16 = true; - byte[] temp = new byte[8]; + var temp = new byte[8]; Array.Copy(buffer, 0, temp, 0, 8); Array.Reverse(temp); mediaTest.Blocks = BitConverter.ToUInt64(temp, 0) + 1; @@ -2749,8 +2749,8 @@ public sealed partial class DeviceReport if(tryMediaTekF106) { - bool triedLba0 = false; - bool triedLeadOut = false; + var triedLba0 = false; + var triedLeadOut = false; Spectre.ProgressSingleSpinner(ctx => { @@ -3036,7 +3036,7 @@ public sealed partial class DeviceReport { FullTOC.CDFullTOC decodedToc = decodedTocNullable.Value; - if(!decodedToc.TrackDescriptors.Any(t => t.SessionNumber > 1)) + if(!decodedToc.TrackDescriptors.Any(static t => t.SessionNumber > 1)) { AaruLogging.Error(Localization.Core .Could_not_find_second_session_Have_you_inserted_the_correct_type_of_disc); @@ -3045,10 +3045,13 @@ public sealed partial class DeviceReport } FullTOC.TrackDataDescriptor firstSessionLeadOutTrack = - decodedToc.TrackDescriptors.FirstOrDefault(t => t is { SessionNumber: 1, POINT: 0xA2 }); + decodedToc.TrackDescriptors.FirstOrDefault(static t => t is { SessionNumber: 1, POINT: 0xA2 }); FullTOC.TrackDataDescriptor secondSessionFirstTrack = - decodedToc.TrackDescriptors.FirstOrDefault(t => t is { SessionNumber: > 1, POINT: <= 99 }); + decodedToc.TrackDescriptors.FirstOrDefault(static t => t is + { + SessionNumber: > 1, POINT: <= 99 + }); if(firstSessionLeadOutTrack.SessionNumber == 0 || secondSessionFirstTrack.SessionNumber == 0) { @@ -3071,16 +3074,16 @@ public sealed partial class DeviceReport secondSessionFirstTrack.PFRAME); // Skip Lead-Out pre-gap - uint firstSessionLeadOutLba = (uint)(firstSessionLeadOutTrack.PMIN * 60 * 75 + - firstSessionLeadOutTrack.PSEC * 75 + - firstSessionLeadOutTrack.PFRAME + - 150); + var firstSessionLeadOutLba = (uint)(firstSessionLeadOutTrack.PMIN * 60 * 75 + + firstSessionLeadOutTrack.PSEC * 75 + + firstSessionLeadOutTrack.PFRAME + + 150); // Skip second session track pre-gap - uint secondSessionLeadInLba = (uint)(secondSessionFirstTrack.PMIN * 60 * 75 + - secondSessionFirstTrack.PSEC * 75 + - secondSessionFirstTrack.PFRAME - - 300); + var secondSessionLeadInLba = (uint)(secondSessionFirstTrack.PMIN * 60 * 75 + + secondSessionFirstTrack.PSEC * 75 + + secondSessionFirstTrack.PFRAME - + 300); Spectre.ProgressSingleSpinner(ctx => { diff --git a/Aaru.Core/Devices/Report/Scsi.cs b/Aaru.Core/Devices/Report/Scsi.cs index b72a6db95..9862d3638 100644 --- a/Aaru.Core/Devices/Report/Scsi.cs +++ b/Aaru.Core/Devices/Report/Scsi.cs @@ -50,7 +50,7 @@ public sealed partial class DeviceReport /// SCSI report public Scsi ReportScsiInquiry() { - bool sense = true; + var sense = true; byte[] buffer = []; Spectre.ProgressSingleSpinner(ctx => @@ -85,7 +85,7 @@ public sealed partial class DeviceReport return inquiry; // Clear Seagate serial number - for(int i = 36; i <= 43; i++) inquiry[i] = 0; + for(var i = 36; i <= 43; i++) inquiry[i] = 0; return inquiry; } @@ -95,7 +95,7 @@ public sealed partial class DeviceReport /// List of decoded SCSI EVPD pages public List ReportEvpdPages(string vendor) { - bool sense = false; + var sense = false; byte[] buffer = []; Spectre.ProgressSingleSpinner(ctx => @@ -115,10 +115,10 @@ public sealed partial class DeviceReport Spectre.ProgressSingleSpinner(ctx => { ProgressTask task = ctx.AddTask(Localization.Core.Querying_SCSI_EVPD_pages, - maxValue: evpdPages.Count(page => page != 0x80)) + maxValue: evpdPages.Count(static page => page != 0x80)) .IsIndeterminate(); - foreach(byte page in evpdPages.Where(page => page != 0x80)) + foreach(byte page in evpdPages.Where(static page => page != 0x80)) { task.Description = string.Format(Localization.Core.Querying_SCSI_EVPD_0, page); task.Increment(1); @@ -135,7 +135,7 @@ public sealed partial class DeviceReport break; case 0x80: - byte[] identify = new byte[512]; + var identify = new byte[512]; Array.Copy(buffer, 60, identify, 0, 512); identify = ClearIdentify(identify); Array.Copy(identify, 0, buffer, 60, 512); @@ -184,7 +184,7 @@ public sealed partial class DeviceReport if(pageResponse.Length < 6) return null; - int position = 4; + var position = 4; while(position < pageResponse.Length) { @@ -192,7 +192,7 @@ public sealed partial class DeviceReport if(length + position + 4 >= pageResponse.Length) length = (byte)(pageResponse.Length - position - 4); - byte[] empty = new byte[length]; + var empty = new byte[length]; Array.Copy(empty, 0, pageResponse, position + 4, length); position += 4 + length; @@ -226,7 +226,7 @@ public sealed partial class DeviceReport ScsiModeSensePageControl.Changeable }) { - bool saveBuffer = false; + var saveBuffer = false; sense = _dev.ModeSense10(out byte[] mode10Buffer, out _, @@ -335,7 +335,7 @@ public sealed partial class DeviceReport ScsiModeSensePageControl.Changeable }) { - bool saveBuffer = false; + var saveBuffer = false; sense = _dev.ModeSense6(out byte[] mode6Buffer, out _, @@ -511,7 +511,7 @@ public sealed partial class DeviceReport public TestedMedia ReportScsiMedia() { var mediaTest = new TestedMedia(); - bool sense = true; + var sense = true; byte[] buffer = []; ReadOnlySpan senseBuffer = []; @@ -541,7 +541,7 @@ public sealed partial class DeviceReport if(!sense && !_dev.Error) { mediaTest.SupportsReadCapacity16 = true; - byte[] temp = new byte[8]; + var temp = new byte[8]; Array.Copy(buffer, 0, temp, 0, 8); Array.Reverse(temp); mediaTest.Blocks = BitConverter.ToUInt64(temp, 0) + 1; @@ -886,7 +886,7 @@ public sealed partial class DeviceReport /// Media report public TestedMedia ReportScsi() { - bool sense = true; + var sense = true; byte[] buffer = []; ReadOnlySpan senseBuffer = []; @@ -921,7 +921,7 @@ public sealed partial class DeviceReport if(!sense && !_dev.Error) { capabilities.SupportsReadCapacity16 = true; - byte[] temp = new byte[8]; + var temp = new byte[8]; Array.Copy(buffer, 0, temp, 0, 8); Array.Reverse(temp); capabilities.Blocks = BitConverter.ToUInt64(temp, 0) + 1; diff --git a/Aaru.Core/Entropy.cs b/Aaru.Core/Entropy.cs index 97e3d2494..11073d07a 100644 --- a/Aaru.Core/Entropy.cs +++ b/Aaru.Core/Entropy.cs @@ -105,9 +105,9 @@ public sealed class Entropy UpdateProgressEvent?.Invoke(string.Format(Localization.Core.Entropying_track_0_of_1, currentTrack.Sequence, - inputTracks.Max(t => t.Sequence)), + inputTracks.Max(static t => t.Sequence)), currentTrack.Sequence, - inputTracks.Max(t => t.Sequence)); + inputTracks.Max(static t => t.Sequence)); var entTable = new ulong[256]; ulong trackSize = 0; @@ -156,7 +156,7 @@ public sealed class Entropy EndProgress2Event?.Invoke(); trackEntropy.Entropy += entTable.Select(l => l / (double)trackSize) - .Select(frequency => -(frequency * Math.Log(frequency, 2))) + .Select(static frequency => -(frequency * Math.Log(frequency, 2))) .Sum(); if(duplicatedSectors) trackEntropy.UniqueSectors = uniqueSectorsPerTrack.Count; @@ -230,7 +230,7 @@ public sealed class Entropy EndProgressEvent?.Invoke(); entropy.Entropy += entTable.Select(l => l / (double)diskSize) - .Select(frequency => -(frequency * Math.Log(frequency, 2))) + .Select(static frequency => -(frequency * Math.Log(frequency, 2))) .Sum(); if(duplicatedSectors) entropy.UniqueSectors = uniqueSectors.Count; @@ -277,7 +277,7 @@ public sealed class Entropy EndProgressEvent?.Invoke(); entropy.Entropy += entTable.Select(l => l / (double)data.Length) - .Select(frequency => -(frequency * Math.Log(frequency, 2))) + .Select(static frequency => -(frequency * Math.Log(frequency, 2))) .Sum(); return entropy; diff --git a/Aaru.Core/Filesystems.cs b/Aaru.Core/Filesystems.cs index 09f96cf8f..4a2dba095 100644 --- a/Aaru.Core/Filesystems.cs +++ b/Aaru.Core/Filesystems.cs @@ -59,7 +59,7 @@ public static class Filesystems idPlugins = []; - foreach(IFilesystem plugin in plugins.Filesystems.Values.Where(p => p is not null)) + foreach(IFilesystem plugin in plugins.Filesystems.Values.Where(static p => p is not null)) { try { diff --git a/Aaru.Core/ImageInfo.cs b/Aaru.Core/ImageInfo.cs index bae5e07f9..e5128f104 100644 --- a/Aaru.Core/ImageInfo.cs +++ b/Aaru.Core/ImageInfo.cs @@ -950,7 +950,7 @@ public static class ImageInfo AnsiConsole.Write(table); - if(!opticalImage.Tracks.Any(t => t.Indexes.Any())) return; + if(!opticalImage.Tracks.Any(static t => t.Indexes.Any())) return; AaruLogging.WriteLine(); diff --git a/Aaru.Core/Logging/ErrorLog.cs b/Aaru.Core/Logging/ErrorLog.cs index 8a3e8faa0..a9fbcc47c 100644 --- a/Aaru.Core/Logging/ErrorLog.cs +++ b/Aaru.Core/Logging/ErrorLog.cs @@ -320,7 +320,7 @@ public sealed class ErrorLog DecodedSense? decodedSense = Sense.Decode(senseBuffer); string prettySense = Sense.PrettifySense(senseBuffer.ToArray()); - string hexSense = string.Join(' ', senseBuffer.Select(b => $"{b:X2}")); + var hexSense = string.Join(' ', senseBuffer.Select(static b => $"{b:X2}")); if(decodedSense.HasValue) { @@ -384,12 +384,12 @@ public sealed class ErrorLog _logSw.WriteLine(Localization.Core.SCSI_reading_LBA_0_operating_system_error_1, block, errno); _logSw.Flush(); - if(senseBuffer is null || senseBuffer.Length == 0 || senseBuffer.All(s => s == 0)) return; + if(senseBuffer is null || senseBuffer.Length == 0 || senseBuffer.All(static s => s == 0)) return; } DecodedSense? decodedSense = Sense.Decode(senseBuffer); string prettySense = Sense.PrettifySense(senseBuffer.ToArray()); - string hexSense = string.Join(' ', senseBuffer.Select(b => $"{b:X2}")); + var hexSense = string.Join(' ', senseBuffer.Select(static b => $"{b:X2}")); if(decodedSense.HasValue) { @@ -456,7 +456,7 @@ public sealed class ErrorLog // TODO: Decode response _logSw.WriteLine(Localization.Core.SD_MMC_command_0_error_1, command, - string.Join(" - ", response.Select(r => $"0x{r:X8}"))); + string.Join(" - ", response.Select(static r => $"0x{r:X8}"))); _logSw.Flush(); } @@ -487,7 +487,7 @@ public sealed class ErrorLog ? Localization.Core.SD_MMC_reading_LBA_0_byte_addressed_error_1 : Localization.Core.SD_MMC_reading_LBA_0_block_addressed_error_1, block, - string.Join(" - ", response.Select(r => $"0x{r:X8}"))); + string.Join(" - ", response.Select(static r => $"0x{r:X8}"))); throw new NotImplementedException(); } diff --git a/Aaru.Core/Media/CompactDisc.cs b/Aaru.Core/Media/CompactDisc.cs index 610d196da..13f89dddf 100644 --- a/Aaru.Core/Media/CompactDisc.cs +++ b/Aaru.Core/Media/CompactDisc.cs @@ -131,28 +131,29 @@ public static class CompactDisc if(deSub[p] != 0 && deSub[p] != 255) pOk = false; for(var w = 0; w < 8; w++) - if((deSub[p] >> w & 1) > 0) - pWeight++; + { + if((deSub[p] >> w & 1) > 0) pWeight++; + } } // This seems to be a somewhat common pattern - bool rOk = deSub.Skip(subPos + 24).Take(12).All(r => r == 0x00) || - deSub.Skip(subPos + 24).Take(12).All(r => r == 0xFF); + bool rOk = deSub.Skip(subPos + 24).Take(12).All(static r => r == 0x00) || + deSub.Skip(subPos + 24).Take(12).All(static r => r == 0xFF); - bool sOk = deSub.Skip(subPos + 36).Take(12).All(s => s == 0x00) || - deSub.Skip(subPos + 36).Take(12).All(s => s == 0xFF); + bool sOk = deSub.Skip(subPos + 36).Take(12).All(static s => s == 0x00) || + deSub.Skip(subPos + 36).Take(12).All(static s => s == 0xFF); - bool tOk = deSub.Skip(subPos + 48).Take(12).All(t => t == 0x00) || - deSub.Skip(subPos + 48).Take(12).All(t => t == 0xFF); + bool tOk = deSub.Skip(subPos + 48).Take(12).All(static t => t == 0x00) || + deSub.Skip(subPos + 48).Take(12).All(static t => t == 0xFF); - bool uOk = deSub.Skip(subPos + 60).Take(12).All(u => u == 0x00) || - deSub.Skip(subPos + 60).Take(12).All(u => u == 0xFF); + bool uOk = deSub.Skip(subPos + 60).Take(12).All(static u => u == 0x00) || + deSub.Skip(subPos + 60).Take(12).All(static u => u == 0xFF); - bool vOk = deSub.Skip(subPos + 72).Take(12).All(v => v == 0x00) || - deSub.Skip(subPos + 72).Take(12).All(v => v == 0xFF); + bool vOk = deSub.Skip(subPos + 72).Take(12).All(static v => v == 0x00) || + deSub.Skip(subPos + 72).Take(12).All(static v => v == 0xFF); - bool wOk = deSub.Skip(subPos + 84).Take(12).All(w => w == 0x00) || - deSub.Skip(subPos + 84).Take(12).All(w => w == 0xFF); + bool wOk = deSub.Skip(subPos + 84).Take(12).All(static w => w == 0x00) || + deSub.Skip(subPos + 84).Take(12).All(static w => w == 0xFF); bool rwOk = rOk && sOk && tOk && uOk && vOk && wOk; var rwPacket = false; @@ -176,11 +177,13 @@ public static class CompactDisc if(!pOk && fixSubchannel) { if(pWeight >= 48) - for(int p = subPos; p < subPos + 12; p++) - deSub[p] = 255; + { + for(int p = subPos; p < subPos + 12; p++) deSub[p] = 255; + } else - for(int p = subPos; p < subPos + 12; p++) - deSub[p] = 0; + { + for(int p = subPos; p < subPos + 12; p++) deSub[p] = 0; + } pOk = true; @fixed = true; @@ -404,8 +407,8 @@ public static class CompactDisc // When we are not, we go from index 0. smallestPregapLbaPerTrack.TryAdd(trackNo, dumping ? 1 : 0); - uint firstTrackNumberInSameSession = - tracks.Where(t => t.Session == tracks[i].Session).Min(t => t.Sequence); + uint firstTrackNumberInSameSession = tracks.Where(t => t.Session == tracks[i].Session) + .Min(static t => t.Sequence); if(tracks[i].Sequence == firstTrackNumberInSameSession) continue; @@ -1502,7 +1505,7 @@ public static class CompactDisc // Hidden track if(track.Sequence == 0) { - track = tracks.FirstOrDefault(t => (int)t.Sequence == 1); + track = tracks.FirstOrDefault(static t => (int)t.Sequence == 1); trackStart = 0; pregap = track?.StartSector ?? 0; } diff --git a/Aaru.Core/Media/Detection/MMC.cs b/Aaru.Core/Media/Detection/MMC.cs index 086180da9..fbf4983e6 100644 --- a/Aaru.Core/Media/Detection/MMC.cs +++ b/Aaru.Core/Media/Detection/MMC.cs @@ -127,7 +127,7 @@ public static class MMC byte[] syncMark = [0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00]; - byte[] testMark = new byte[12]; + var testMark = new byte[12]; Array.Copy(sector, 0, testMark, 0, 12); return syncMark.SequenceEqual(testMark) && (sector[0xF] == 0 || sector[0xF] == 1 || sector[0xF] == 2); @@ -141,9 +141,9 @@ public static class MMC byte[] syncMark = [0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00]; - byte[] testMark = new byte[12]; + var testMark = new byte[12]; - for(int i = 0; i <= 2336; i++) + for(var i = 0; i <= 2336; i++) { Array.Copy(sector, i, testMark, 0, 12); @@ -177,7 +177,7 @@ public static class MMC static byte[] DescrambleAndFixOffset(byte[] sector, int offsetBytes, int sectorsForOffset) { - byte[] descrambled = new byte[2352]; + var descrambled = new byte[2352]; int offsetFix = offsetBytes < 0 ? 2352 * sectorsForOffset + offsetBytes : offsetBytes; @@ -200,7 +200,7 @@ public static class MMC if(!isData || sector0[0xF] != 2 && sector0[0xF] != 1) return false; - byte[] testMark = new byte[4]; + var testMark = new byte[4]; Array.Copy(sector16, 24, testMark, 0, 4); return cdiMark.SequenceEqual(testMark); @@ -210,13 +210,13 @@ public static class MMC { if(videoFrame is null || videoFrame.Length < _videoNowColorFrameMarker.Length) return false; - byte[] buffer = new byte[_videoNowColorFrameMarker.Length]; + var buffer = new byte[_videoNowColorFrameMarker.Length]; - for(int framePosition = 0; framePosition + buffer.Length < videoFrame.Length; framePosition++) + for(var framePosition = 0; framePosition + buffer.Length < videoFrame.Length; framePosition++) { Array.Copy(videoFrame, framePosition, buffer, 0, buffer.Length); - for(int ab = 9; ab < buffer.Length; ab += 10) buffer[ab] = 0; + for(var ab = 9; ab < buffer.Length; ab += 10) buffer[ab] = 0; if(!_videoNowColorFrameMarker.SequenceEqual(buffer)) continue; @@ -228,13 +228,13 @@ public static class MMC internal static int GetVideoNowColorOffset(byte[] data) { - byte[] buffer = new byte[_videoNowColorFrameMarker.Length]; + var buffer = new byte[_videoNowColorFrameMarker.Length]; - for(int framePosition = 0; framePosition + buffer.Length < data.Length; framePosition++) + for(var framePosition = 0; framePosition + buffer.Length < data.Length; framePosition++) { Array.Copy(data, framePosition, buffer, 0, buffer.Length); - for(int ab = 9; ab < buffer.Length; ab += 10) buffer[ab] = 0; + for(var ab = 9; ab < buffer.Length; ab += 10) buffer[ab] = 0; if(!_videoNowColorFrameMarker.SequenceEqual(buffer)) continue; @@ -309,10 +309,10 @@ public static class MMC }; } - if(decodedToc?.TrackDescriptors.Any(t => t.SessionNumber == 2) == true) + if(decodedToc?.TrackDescriptors.Any(static t => t.SessionNumber == 2) == true) { - secondSessionFirstTrack = - decodedToc.Value.TrackDescriptors.Where(t => t.SessionNumber == 2).Min(t => t.POINT); + secondSessionFirstTrack = decodedToc.Value.TrackDescriptors.Where(static t => t.SessionNumber == 2) + .Min(static t => t.POINT); } if(mediaType is MediaType.CD or MediaType.CDROMXA or MediaType.CDI) @@ -332,15 +332,15 @@ public static class MMC if(mediaType is MediaType.CD or MediaType.CDROMXA) { - bool hasDataTrack = false; - bool hasAudioTrack = false; - bool allFirstSessionTracksAreAudio = true; - bool hasVideoTrack = false; + var hasDataTrack = false; + var hasAudioTrack = false; + var allFirstSessionTracksAreAudio = true; + var hasVideoTrack = false; if(decodedToc.HasValue) { FullTOC.TrackDataDescriptor a0Track = - decodedToc.Value.TrackDescriptors.FirstOrDefault(t => t is { POINT: 0xA0, ADR: 1 }); + decodedToc.Value.TrackDescriptors.FirstOrDefault(static t => t is { POINT: 0xA0, ADR: 1 }); if(a0Track.POINT == 0xA0) { @@ -361,7 +361,7 @@ public static class MMC } foreach(FullTOC.TrackDataDescriptor track in - decodedToc.Value.TrackDescriptors.Where(t => t.POINT is > 0 and <= 0x99)) + decodedToc.Value.TrackDescriptors.Where(static t => t.POINT is > 0 and <= 0x99)) { if(track.TNO == 1 && ((TocControl)(track.CONTROL & 0x0D) == TocControl.DataTrack || @@ -371,11 +371,11 @@ public static class MMC if((TocControl)(track.CONTROL & 0x0D) == TocControl.DataTrack || (TocControl)(track.CONTROL & 0x0D) == TocControl.DataTrackIncremental) { - uint startAddress = (uint)(track.PHOUR * 3600 * 75 + - track.PMIN * 60 * 75 + - track.PSEC * 75 + - track.PFRAME - - 150); + var startAddress = (uint)(track.PHOUR * 3600 * 75 + + track.PMIN * 60 * 75 + + track.PSEC * 75 + + track.PFRAME - + 150); if(startAddress < startOfFirstDataTrack) startOfFirstDataTrack = startAddress; @@ -428,17 +428,17 @@ public static class MMC if(mediaType is MediaType.CD or MediaType.CDROM && hasDataTrack) { foreach(uint startAddress in decodedToc.Value.TrackDescriptors - .Where(t => t.POINT is > 0 and <= 0x99 && - ((TocControl)(t.CONTROL & 0x0D) == - TocControl.DataTrack || - (TocControl)(t.CONTROL & 0x0D) == - TocControl.DataTrackIncremental)) - .Select(track => (uint)(track.PHOUR * 3600 * 75 + - track.PMIN * 60 * 75 + - track.PSEC * 75 + - track.PFRAME - - 150) + - 16)) + .Where(static t => t.POINT is > 0 and <= 0x99 && + ((TocControl)(t.CONTROL & 0x0D) == + TocControl.DataTrack || + (TocControl)(t.CONTROL & 0x0D) == + TocControl.DataTrackIncremental)) + .Select(static track => (uint)(track.PHOUR * 3600 * 75 + + track.PMIN * 60 * 75 + + track.PSEC * 75 + + track.PFRAME - + 150) + + 16)) { sense = dev.ReadCd(out cmdBuf, out _, @@ -489,11 +489,11 @@ public static class MMC FullTOC.TrackDataDescriptor secondSessionFirstTrackTrack = decodedToc.Value.TrackDescriptors.First(t => t.POINT == secondSessionFirstTrack); - uint firstSectorSecondSessionFirstTrack = (uint)(secondSessionFirstTrackTrack.PHOUR * 3600 * 75 + - secondSessionFirstTrackTrack.PMIN * 60 * 75 + - secondSessionFirstTrackTrack.PSEC * 75 + - secondSessionFirstTrackTrack.PFRAME - - 150); + var firstSectorSecondSessionFirstTrack = (uint)(secondSessionFirstTrackTrack.PHOUR * 3600 * 75 + + secondSessionFirstTrackTrack.PMIN * 60 * 75 + + secondSessionFirstTrackTrack.PSEC * 75 + + secondSessionFirstTrackTrack.PFRAME - + 150); sense = dev.ReadCd(out cmdBuf, out _, @@ -580,7 +580,7 @@ public static class MMC videoNowColorFrame = new byte[9 * 2352]; - for(int i = 0; i < 9; i++) + for(var i = 0; i < 9; i++) { sense = dev.ReadCd(out cmdBuf, out _, @@ -631,15 +631,16 @@ public static class MMC FullTOC.TrackDataDescriptor? firstTrack = decodedToc?.TrackDescriptors.FirstOrDefault(t => t.POINT == - decodedToc.Value.TrackDescriptors.Min(m => m.POINT)); + decodedToc.Value.TrackDescriptors + .Min(static m => m.POINT)); if(firstTrack?.POINT is >= 1 and < 0xA0) { - uint firstTrackSector = (uint)(firstTrack.Value.PHOUR * 3600 * 75 + - firstTrack.Value.PMIN * 60 * 75 + - firstTrack.Value.PSEC * 75 + - firstTrack.Value.PFRAME - - 150); + var firstTrackSector = (uint)(firstTrack.Value.PHOUR * 3600 * 75 + + firstTrack.Value.PMIN * 60 * 75 + + firstTrack.Value.PSEC * 75 + + firstTrack.Value.PFRAME - + 150); // Check for hidden data before start of track 1 if(firstTrackSector > 0) @@ -707,8 +708,8 @@ public static class MMC if(combinedOffset % 2352 != 0) sectorsForOffset++; - int lba0 = 0; - int lba16 = 16; + var lba0 = 0; + var lba16 = 16; if(combinedOffset < 0) { @@ -1602,8 +1603,8 @@ public static class MMC isoSector[5] != 0x31) return; - uint rootStart = BitConverter.ToUInt32(isoSector, 158); - uint rootLength = BitConverter.ToUInt32(isoSector, 166); + var rootStart = BitConverter.ToUInt32(isoSector, 158); + var rootLength = BitConverter.ToUInt32(isoSector, 166); if(rootStart == 0 || rootLength == 0) return; @@ -1646,7 +1647,7 @@ public static class MMC if(isoSector.Length < 2048) return; - int rootPos = 0; + var rootPos = 0; uint pcdStart = 0; uint pcdLength = 0; @@ -1654,8 +1655,8 @@ public static class MMC rootPos < isoSector.Length && rootPos + isoSector[rootPos] <= isoSector.Length) { - int nameLen = isoSector[rootPos + 32]; - byte[] tmpName = new byte[nameLen]; + int nameLen = isoSector[rootPos + 32]; + var tmpName = new byte[nameLen]; Array.Copy(isoSector, rootPos + 33, tmpName, 0, nameLen); string name = StringHandlers.CToString(tmpName).ToUpperInvariant(); @@ -1709,7 +1710,7 @@ public static class MMC if(isoSector.Length < 2048) return; - for(int pi = 0; pi < pcdLength; pi++) + for(var pi = 0; pi < pcdLength; pi++) { int pcdPos = pi * 2048; uint infoPos = 0; @@ -1718,8 +1719,8 @@ public static class MMC pcdPos < isoSector.Length && pcdPos + isoSector[pcdPos] <= isoSector.Length) { - int nameLen = isoSector[pcdPos + 32]; - byte[] tmpName = new byte[nameLen]; + int nameLen = isoSector[pcdPos + 32]; + var tmpName = new byte[nameLen]; Array.Copy(isoSector, pcdPos + 33, tmpName, 0, nameLen); string name = StringHandlers.CToString(tmpName).ToUpperInvariant(); @@ -1754,7 +1755,7 @@ public static class MMC if(sense) break; - byte[] systemId = new byte[8]; + var systemId = new byte[8]; Array.Copy(isoSector, 0, systemId, 0, 8); string id = StringHandlers.CToString(systemId).TrimEnd(); @@ -1845,7 +1846,7 @@ public static class MMC // The decryption key is applied as XOR. As first byte is originally always NULL, it gives us the key :) byte decryptByte = ps2BootSectors[0]; - for(int i = 0; i < 0x6000; i++) ps2BootSectors[i] ^= decryptByte; + for(var i = 0; i < 0x6000; i++) ps2BootSectors[i] ^= decryptByte; string ps2BootSectorsHash = Sha256Context.Data(ps2BootSectors, out _); @@ -1865,7 +1866,7 @@ public static class MMC if(sector0 != null) { - byte[] syncBytes = new byte[7]; + var syncBytes = new byte[7]; Array.Copy(sector0, 0, syncBytes, 0, 7); if(_operaId.SequenceEqual(syncBytes)) @@ -1889,8 +1890,8 @@ public static class MMC if(playdia1 != null && playdia2 != null) { - byte[] pd1 = new byte[_playdiaCopyright.Length]; - byte[] pd2 = new byte[_playdiaCopyright.Length]; + var pd1 = new byte[_playdiaCopyright.Length]; + var pd2 = new byte[_playdiaCopyright.Length]; Array.Copy(playdia1, 38, pd1, 0, pd1.Length); Array.Copy(playdia2, 0, pd2, 0, pd1.Length); @@ -1907,7 +1908,7 @@ public static class MMC if(secondDataSectorNotZero != null) { - byte[] pce = new byte[_pcEngineSignature.Length]; + var pce = new byte[_pcEngineSignature.Length]; Array.Copy(secondDataSectorNotZero, 32, pce, 0, pce.Length); if(_pcEngineSignature.SequenceEqual(pce)) @@ -1922,7 +1923,7 @@ public static class MMC if(firstDataSectorNotZero != null) { - byte[] pcfx = new byte[_pcFxSignature.Length]; + var pcfx = new byte[_pcFxSignature.Length]; Array.Copy(firstDataSectorNotZero, 0, pcfx, 0, pcfx.Length); if(_pcFxSignature.SequenceEqual(pcfx)) @@ -1937,9 +1938,9 @@ public static class MMC if(firstTrackSecondSessionAudio != null) { - byte[] jaguar = new byte[_atariSignature.Length]; + var jaguar = new byte[_atariSignature.Length]; - for(int i = 0; i + jaguar.Length <= firstTrackSecondSessionAudio.Length; i += 2) + for(var i = 0; i + jaguar.Length <= firstTrackSecondSessionAudio.Length; i += 2) { Array.Copy(firstTrackSecondSessionAudio, i, jaguar, 0, jaguar.Length); @@ -1955,7 +1956,7 @@ public static class MMC if(firstTrackSecondSession?.Length >= 2336) { - byte[] milcd = new byte[2048]; + var milcd = new byte[2048]; Array.Copy(firstTrackSecondSession, 24, milcd, 0, 2048); if(Dreamcast.DecodeIPBin(milcd).HasValue) @@ -2001,13 +2002,13 @@ public static class MMC if(!sense) { - bool cdg = false; - bool cdeg = false; - bool cdmidi = false; + var cdg = false; + var cdeg = false; + var cdmidi = false; - for(int i = 0; i < 8; i++) + for(var i = 0; i < 8; i++) { - byte[] tmpSub = new byte[96]; + var tmpSub = new byte[96]; Array.Copy(subBuf, i * 96, tmpSub, 0, 96); DetectRwPackets(tmpSub, out bool cdgPacket, out bool cdegPacket, out bool cdmidiPacket); @@ -2121,8 +2122,8 @@ public static class MMC isoSector[5] != 0x31) return; - uint rootStart = BitConverter.ToUInt32(isoSector, 158); - uint rootLength = BitConverter.ToUInt32(isoSector, 166); + var rootStart = BitConverter.ToUInt32(isoSector, 158); + var rootLength = BitConverter.ToUInt32(isoSector, 166); if(rootStart == 0 || rootLength == 0) return; @@ -2175,7 +2176,7 @@ public static class MMC uint ps1Start = 0; uint ps1Length = 0; - for(int ri = 0; ri < rootLength; ri++) + for(var ri = 0; ri < rootLength; ri++) { int rootPos = ri * 2048; @@ -2183,8 +2184,8 @@ public static class MMC isoSector[rootPos] > 0 && rootPos + isoSector[rootPos] <= isoSector.Length) { - int nameLen = isoSector[rootPos + 32]; - byte[] tmpName = new byte[nameLen]; + int nameLen = isoSector[rootPos + 32]; + var tmpName = new byte[nameLen]; Array.Copy(isoSector, rootPos + 33, tmpName, 0, nameLen); string name = StringHandlers.CToString(tmpName).ToUpperInvariant(); @@ -2294,8 +2295,8 @@ public static class MMC { using var sr = new StringReader(iplTxt); - bool correctNeoGeoCd = true; - int lineNumber = 0; + var correctNeoGeoCd = true; + var lineNumber = 0; while(sr.Peek() > 0) { @@ -2436,7 +2437,7 @@ public static class MMC uint infoPos = 0; - for(int vi = 0; vi < vcdLength; vi++) + for(var vi = 0; vi < vcdLength; vi++) { int vcdPos = vi * 2048; @@ -2444,8 +2445,8 @@ public static class MMC isoSector[vcdPos] > 0 && vcdPos + isoSector[vcdPos] <= isoSector.Length) { - int nameLen = isoSector[vcdPos + 32]; - byte[] tmpName = new byte[nameLen]; + int nameLen = isoSector[vcdPos + 32]; + var tmpName = new byte[nameLen]; Array.Copy(isoSector, vcdPos + 33, tmpName, 0, nameLen); string name = StringHandlers.CToString(tmpName).ToUpperInvariant(); @@ -2481,7 +2482,7 @@ public static class MMC if(sense) break; - byte[] systemId = new byte[8]; + var systemId = new byte[8]; Array.Copy(isoSector, 0, systemId, 0, 8); string id = StringHandlers.CToString(systemId).TrimEnd(); @@ -2552,7 +2553,7 @@ public static class MMC uint infoPos = 0; - for(int pi = 0; pi < pcdLength; pi++) + for(var pi = 0; pi < pcdLength; pi++) { int pcdPos = pi * 2048; @@ -2560,8 +2561,8 @@ public static class MMC isoSector[pcdPos] > 0 && pcdPos + isoSector[pcdPos] <= isoSector.Length) { - int nameLen = isoSector[pcdPos + 32]; - byte[] tmpName = new byte[nameLen]; + int nameLen = isoSector[pcdPos + 32]; + var tmpName = new byte[nameLen]; Array.Copy(isoSector, pcdPos + 33, tmpName, 0, nameLen); string name = StringHandlers.CToString(tmpName).ToUpperInvariant(); @@ -2597,7 +2598,7 @@ public static class MMC if(sense) break; - byte[] systemId = new byte[8]; + var systemId = new byte[8]; Array.Copy(isoSector, 0, systemId, 0, 8); string id = StringHandlers.CToString(systemId).TrimEnd(); @@ -2734,7 +2735,7 @@ public static class MMC // The decryption key is applied as XOR. As first byte is originally always NULL, it gives us the key :) byte decryptByte = ps2BootSectors[0]; - for(int i = 0; i < 0x6000; i++) ps2BootSectors[i] ^= decryptByte; + for(var i = 0; i < 0x6000; i++) ps2BootSectors[i] ^= decryptByte; string ps2BootSectorsHash = Sha256Context.Data(ps2BootSectors, out _); @@ -2752,7 +2753,7 @@ public static class MMC if(sector1 != null) { - byte[] tmp = new byte[_ps3Id.Length]; + var tmp = new byte[_ps3Id.Length]; Array.Copy(sector1, 0, tmp, 0, tmp.Length); if(tmp.SequenceEqual(_ps3Id)) @@ -2809,7 +2810,7 @@ public static class MMC case "BDU": if(sector1 != null) { - byte[] tmp = new byte[_ps5Id.Length]; + var tmp = new byte[_ps5Id.Length]; Array.Copy(sector1, 1024, tmp, 0, tmp.Length); if(tmp.SequenceEqual(_ps5Id)) @@ -2841,20 +2842,20 @@ public static class MMC cdegPacket = false; cdmidiPacket = false; - byte[] cdSubRwPack1 = new byte[24]; - byte[] cdSubRwPack2 = new byte[24]; - byte[] cdSubRwPack3 = new byte[24]; - byte[] cdSubRwPack4 = new byte[24]; + var cdSubRwPack1 = new byte[24]; + var cdSubRwPack2 = new byte[24]; + var cdSubRwPack3 = new byte[24]; + var cdSubRwPack4 = new byte[24]; - int i = 0; + var i = 0; - for(int j = 0; j < 24; j++) cdSubRwPack1[j] = (byte)(subchannel[i++] & 0x3F); + for(var j = 0; j < 24; j++) cdSubRwPack1[j] = (byte)(subchannel[i++] & 0x3F); - for(int j = 0; j < 24; j++) cdSubRwPack2[j] = (byte)(subchannel[i++] & 0x3F); + for(var j = 0; j < 24; j++) cdSubRwPack2[j] = (byte)(subchannel[i++] & 0x3F); - for(int j = 0; j < 24; j++) cdSubRwPack3[j] = (byte)(subchannel[i++] & 0x3F); + for(var j = 0; j < 24; j++) cdSubRwPack3[j] = (byte)(subchannel[i++] & 0x3F); - for(int j = 0; j < 24; j++) cdSubRwPack4[j] = (byte)(subchannel[i++] & 0x3F); + for(var j = 0; j < 24; j++) cdSubRwPack4[j] = (byte)(subchannel[i++] & 0x3F); switch(cdSubRwPack1[0]) { diff --git a/Aaru.Core/Media/Info/CompactDisc.cs b/Aaru.Core/Media/Info/CompactDisc.cs index 34a6fd41b..ed4f0e0ff 100644 --- a/Aaru.Core/Media/Info/CompactDisc.cs +++ b/Aaru.Core/Media/Info/CompactDisc.cs @@ -76,7 +76,7 @@ public static class CompactDisc int diff; Track dataTrack = default; Track audioTrack = default; - bool offsetFound = false; + var offsetFound = false; const uint sectorSize = 2352; driveOffset = cdOffset?.Offset * 4; combinedOffset = null; @@ -84,9 +84,9 @@ public static class CompactDisc if(dskType != MediaType.VideoNowColor) { - if(tracks.Any(t => t.Type != TrackType.Audio)) + if(tracks.Any(static t => t.Type != TrackType.Audio)) { - dataTrack = tracks.FirstOrDefault(t => t.Type != TrackType.Audio); + dataTrack = tracks.FirstOrDefault(static t => t.Type != TrackType.Audio); if(dataTrack != null) { @@ -96,11 +96,11 @@ public static class CompactDisc tmpBuf = new byte[sectorSync.Length]; // Ensure to be out of the pregap, or multi-session discs give funny values - uint wantedLba = (uint)(dataTrack.StartSector + 151); + var wantedLba = (uint)(dataTrack.StartSector + 151); // Plextor READ CDDA - if(dbDev?.ATAPI?.RemovableMedias?.Any(d => d.SupportsPlextorReadCDDA == true) == true || - dbDev?.SCSI?.RemovableMedias?.Any(d => d.SupportsPlextorReadCDDA == true) == true || + if(dbDev?.ATAPI?.RemovableMedias?.Any(static d => d.SupportsPlextorReadCDDA == true) == true || + dbDev?.SCSI?.RemovableMedias?.Any(static d => d.SupportsPlextorReadCDDA == true) == true || dev.Manufacturer.Equals("plextor", StringComparison.InvariantCultureIgnoreCase)) { sense = dev.PlextorReadCdDa(out cmdBuf, @@ -116,7 +116,7 @@ public static class CompactDisc { supportsPlextorReadCdDa = true; - for(int i = 0; i < cmdBuf.Length - sectorSync.Length; i++) + for(var i = 0; i < cmdBuf.Length - sectorSync.Length; i++) { Array.Copy(cmdBuf, i, tmpBuf, 0, sectorSync.Length); @@ -147,10 +147,11 @@ public static class CompactDisc } if(!offsetFound && - (debug || - dbDev?.ATAPI?.RemovableMedias?.Any(d => d.CanReadCdScrambled == true) == true || - dbDev?.SCSI?.RemovableMedias?.Any(d => d.CanReadCdScrambled == true) == true || - dbDev?.SCSI?.MultiMediaDevice?.TestedMedia?.Any(d => d.CanReadCdScrambled == true) == true || + (debug || + dbDev?.ATAPI?.RemovableMedias?.Any(static d => d.CanReadCdScrambled == true) == true || + dbDev?.SCSI?.RemovableMedias?.Any(static d => d.CanReadCdScrambled == true) == true || + dbDev?.SCSI?.MultiMediaDevice?.TestedMedia?.Any(static d => d.CanReadCdScrambled == true) == + true || dev.Manufacturer.Equals("hl-dt-st", StringComparison.InvariantCultureIgnoreCase))) { sense = dev.ReadCd(out cmdBuf, @@ -173,7 +174,7 @@ public static class CompactDisc if(!sense && !dev.Error) { // Clear cache - for(int i = 0; i < 63; i++) + for(var i = 0; i < 63; i++) { sense = dev.ReadCd(out _, out _, @@ -212,7 +213,7 @@ public static class CompactDisc dev.Timeout, out _); - for(int i = 0; i < cmdBuf.Length - sectorSync.Length; i++) + for(var i = 0; i < cmdBuf.Length - sectorSync.Length; i++) { Array.Copy(cmdBuf, i, tmpBuf, 0, sectorSync.Length); @@ -248,7 +249,7 @@ public static class CompactDisc // Try to get another the offset some other way, we need an audio track just after a data track, same session - for(int i = 1; i < tracks.Length; i++) + for(var i = 1; i < tracks.Length; i++) { if(tracks[i - 1].Type == TrackType.Audio || tracks[i].Type != TrackType.Audio) continue; @@ -307,7 +308,7 @@ public static class CompactDisc tmpBuf = new byte[sectorSync.Length]; - for(int i = 0; i < cmdBuf.Length - sectorSync.Length; i++) + for(var i = 0; i < cmdBuf.Length - sectorSync.Length; i++) { Array.Copy(cmdBuf, i, tmpBuf, 0, sectorSync.Length); @@ -340,12 +341,12 @@ public static class CompactDisc if(sense || dev.Error) return; - for(int i = 0; i < dataBuf.Length; i++) dataBuf[i] ^= Sector.ScrambleTable[i]; + for(var i = 0; i < dataBuf.Length; i++) dataBuf[i] ^= Sector.ScrambleTable[i]; - for(int i = 0; i < 2352; i++) + for(var i = 0; i < 2352; i++) { - byte[] dataSide = new byte[2352 - i]; - byte[] audioSide = new byte[2352 - i]; + var dataSide = new byte[2352 - i]; + var audioSide = new byte[2352 - i]; Array.Copy(dataBuf, i, dataSide, 0, dataSide.Length); Array.Copy(cmdBuf, 0, audioSide, 0, audioSide.Length); @@ -359,7 +360,7 @@ public static class CompactDisc } else { - byte[] videoNowColorFrame = new byte[9 * sectorSize]; + var videoNowColorFrame = new byte[9 * sectorSize]; sense = dev.ReadCd(out cmdBuf, out _, diff --git a/Aaru.Core/Media/Info/ScsiInfo.cs b/Aaru.Core/Media/Info/ScsiInfo.cs index 791f26fd6..225487db1 100644 --- a/Aaru.Core/Media/Info/ScsiInfo.cs +++ b/Aaru.Core/Media/Info/ScsiInfo.cs @@ -66,13 +66,13 @@ public sealed class ScsiInfo MediaType = MediaType.Unknown; MediaInserted = false; - int resets = 0; + var resets = 0; bool sense; byte[] cmdBuf; ReadOnlySpan senseBuf; - bool containsFloppyPage = false; - int sessions = 1; - int firstTrackLastSession = 1; + var containsFloppyPage = false; + var sessions = 1; + var firstTrackLastSession = 1; if(dev.IsRemovable) { @@ -97,7 +97,7 @@ public sealed class ScsiInfo { case 0x3A: { - int leftRetries = 5; + var leftRetries = 5; while(leftRetries > 0) { @@ -121,7 +121,7 @@ public sealed class ScsiInfo } case 0x04 when decSense?.ASCQ == 0x01: { - int leftRetries = 10; + var leftRetries = 10; while(leftRetries > 0) { @@ -175,7 +175,7 @@ public sealed class ScsiInfo scsiDensityCode = (byte)DeviceInfo.ScsiMode.Value.Header.BlockDescriptors[0].Density; if(DeviceInfo.ScsiMode?.Pages != null) - containsFloppyPage = DeviceInfo.ScsiMode.Value.Pages.Any(p => p.Page == 0x05); + containsFloppyPage = DeviceInfo.ScsiMode.Value.Pages.Any(static p => p.Page == 0x05); } Blocks = 0; @@ -217,7 +217,7 @@ public sealed class ScsiInfo if(ReadCapacity16 != null) { - byte[] temp = new byte[8]; + var temp = new byte[8]; Array.Copy(cmdBuf, 0, temp, 0, 8); Array.Reverse(temp); @@ -1487,9 +1487,11 @@ public sealed class ScsiInfo sense = dev.ReadMediaSerialNumber(out cmdBuf, out senseBuf, dev.Timeout, out _); if(sense) + { AaruLogging.Debug(MODULE_NAME, Localization.Core.READ_MEDIA_SERIAL_NUMBER_0, Sense.PrettifySense(senseBuf.ToArray())); + } else { if(cmdBuf.Length >= 4) MediaSerialNumber = cmdBuf; diff --git a/Aaru.Core/Partitions.cs b/Aaru.Core/Partitions.cs index 07e5fb625..6ab435632 100644 --- a/Aaru.Core/Partitions.cs +++ b/Aaru.Core/Partitions.cs @@ -70,10 +70,7 @@ public static class Partitions foundPartitions.AddRange(partitions); - AaruLogging.Debug(MODULE_NAME, - Localization.Core.Found_0_at_1, - plugin.Name, - tapeFile.FirstBlock); + AaruLogging.Debug(MODULE_NAME, Localization.Core.Found_0_at_1, plugin.Name, tapeFile.FirstBlock); } checkedLocations.Add(tapeFile.FirstBlock); @@ -93,10 +90,7 @@ public static class Partitions foundPartitions.AddRange(partitions); - AaruLogging.Debug(MODULE_NAME, - Localization.Core.Found_0_at_1, - plugin.Name, - imagePartition.Start); + AaruLogging.Debug(MODULE_NAME, Localization.Core.Found_0_at_1, plugin.Name, imagePartition.Start); } checkedLocations.Add(imagePartition.Start); @@ -135,17 +129,11 @@ public static class Partitions { if(plugin is null) continue; - AaruLogging.Debug(MODULE_NAME, - Localization.Core.Trying_0_at_1, - plugin.Name, - foundPartitions[0].Start); + AaruLogging.Debug(MODULE_NAME, Localization.Core.Trying_0_at_1, plugin.Name, foundPartitions[0].Start); if(!plugin.GetInformation(image, out List partitions, foundPartitions[0].Start)) continue; - AaruLogging.Debug(MODULE_NAME, - Localization.Core.Found_0_at_1, - plugin.Name, - foundPartitions[0].Start); + AaruLogging.Debug(MODULE_NAME, Localization.Core.Found_0_at_1, plugin.Name, foundPartitions[0].Start); children.AddRange(partitions); } @@ -179,12 +167,12 @@ public static class Partitions // Be sure that device partitions are not excluded if not mapped by any scheme... if(tapeImage is not null) { - var startLocations = childPartitions.Select(detectedPartition => detectedPartition.Start).ToList(); + var startLocations = childPartitions.Select(static detectedPartition => detectedPartition.Start).ToList(); if(tapeImage.Files != null) { childPartitions.AddRange(tapeImage.Files.Where(f => !startLocations.Contains(f.FirstBlock)) - .Select(tapeFile => new Partition + .Select(static tapeFile => new Partition { Start = tapeFile.FirstBlock, Length = tapeFile.LastBlock - tapeFile.FirstBlock + 1, @@ -195,7 +183,7 @@ public static class Partitions if(partitionableImage is not null) { - var startLocations = childPartitions.Select(detectedPartition => detectedPartition.Start).ToList(); + var startLocations = childPartitions.Select(static detectedPartition => detectedPartition.Start).ToList(); if(partitionableImage.Partitions != null) { @@ -205,9 +193,9 @@ public static class Partitions } } - Partition[] childArray = childPartitions.OrderBy(part => part.Start) - .ThenBy(part => part.Length) - .ThenBy(part => part.Scheme) + Partition[] childArray = childPartitions.OrderBy(static part => part.Start) + .ThenBy(static part => part.Length) + .ThenBy(static part => part.Scheme) .ToArray(); for(long i = 0; i < childArray.LongLength; i++) childArray[i].Sequence = (ulong)i; diff --git a/Aaru.Core/Remote.cs b/Aaru.Core/Remote.cs index fa904d4c4..0e0d3095f 100644 --- a/Aaru.Core/Remote.cs +++ b/Aaru.Core/Remote.cs @@ -145,18 +145,21 @@ public static class Remote { List latestAll = []; - if(await mctx.UsbVendors.AnyAsync()) latestAll.Add(await mctx.UsbVendors.MaxAsync(v => v.ModifiedWhen)); + if(await mctx.UsbVendors.AnyAsync()) + latestAll.Add(await mctx.UsbVendors.MaxAsync(static v => v.ModifiedWhen)); if(await mctx.UsbProducts.AnyAsync()) - latestAll.Add(await mctx.UsbProducts.MaxAsync(p => p.ModifiedWhen)); + latestAll.Add(await mctx.UsbProducts.MaxAsync(static p => p.ModifiedWhen)); - if(await mctx.CdOffsets.AnyAsync()) latestAll.Add(await mctx.CdOffsets.MaxAsync(o => o.ModifiedWhen)); + if(await mctx.CdOffsets.AnyAsync()) + latestAll.Add(await mctx.CdOffsets.MaxAsync(static o => o.ModifiedWhen)); - if(await mctx.Devices.AnyAsync()) latestAll.Add(await mctx.Devices.MaxAsync(d => d.LastSynchronized)); + if(await mctx.Devices.AnyAsync()) + latestAll.Add(await mctx.Devices.MaxAsync(static d => d.LastSynchronized)); if(latestAll.Any()) { - latest = latestAll.Max(t => t); + latest = latestAll.Max(static t => t); lastUpdate = (latest.ToFileTimeUtc() - new DateTime(1970, 1, 1).ToFileTimeUtc()) / 10000000; } } diff --git a/Aaru.Core/Sidecar/BlockMedia.cs b/Aaru.Core/Sidecar/BlockMedia.cs index 0b74df048..e72c73c0b 100644 --- a/Aaru.Core/Sidecar/BlockMedia.cs +++ b/Aaru.Core/Sidecar/BlockMedia.cs @@ -1048,8 +1048,9 @@ public sealed partial class Sidecar scpBlockTrackTypes.Add(scpBlockTrackType); } - sidecar.BlockMedias[0].Track = - scpBlockTrackTypes.OrderBy(t => t.Cylinder).ThenBy(t => t.Head).ToList(); + sidecar.BlockMedias[0].Track = scpBlockTrackTypes.OrderBy(static t => t.Cylinder) + .ThenBy(static t => t.Head) + .ToList(); } else { @@ -1157,8 +1158,9 @@ public sealed partial class Sidecar kfBlockTrackTypes.Add(kfBlockTrackType); } - sidecar.BlockMedias[0].Track = - kfBlockTrackTypes.OrderBy(t => t.Cylinder).ThenBy(t => t.Head).ToList(); + sidecar.BlockMedias[0].Track = kfBlockTrackTypes.OrderBy(static t => t.Cylinder) + .ThenBy(static t => t.Head) + .ToList(); } else { @@ -1249,7 +1251,9 @@ public sealed partial class Sidecar dfiBlockTrackTypes.Add(dfiBlockTrackType); } - sidecar.BlockMedias[0].Track = dfiBlockTrackTypes.OrderBy(t => t.Cylinder).ThenBy(t => t.Head).ToList(); + sidecar.BlockMedias[0].Track = dfiBlockTrackTypes.OrderBy(static t => t.Cylinder) + .ThenBy(static t => t.Head) + .ToList(); } else { diff --git a/Aaru.Core/Sidecar/Files.cs b/Aaru.Core/Sidecar/Files.cs index 3e20f8517..aeef6b82e 100644 --- a/Aaru.Core/Sidecar/Files.cs +++ b/Aaru.Core/Sidecar/Files.cs @@ -79,9 +79,9 @@ public sealed partial class Sidecar filesystem.CloseDir(node); - if(files.Count > 0) contents.Files = files.OrderBy(f => f.Name).ToList(); + if(files.Count > 0) contents.Files = files.OrderBy(static f => f.Name).ToList(); - if(directories.Count > 0) contents.Directories = directories.OrderBy(d => d.Name).ToList(); + if(directories.Count > 0) contents.Directories = directories.OrderBy(static d => d.Name).ToList(); return contents; } @@ -133,9 +133,9 @@ public sealed partial class Sidecar files.Add(SidecarFile(filesystem, path + "/" + filename, dirent, entryStat)); } - if(files.Count > 0) directory.Files = files.OrderBy(f => f.Name).ToList(); + if(files.Count > 0) directory.Files = files.OrderBy(static f => f.Name).ToList(); - if(directories.Count > 0) directory.Directories = directories.OrderBy(d => d.Name).ToList(); + if(directories.Count > 0) directory.Directories = directories.OrderBy(static d => d.Name).ToList(); return directory; } @@ -229,7 +229,7 @@ public sealed partial class Sidecar }); } - if(xattrTypes.Count > 0) file.ExtendedAttributes = xattrTypes.OrderBy(x => x.Name).ToList(); + if(xattrTypes.Count > 0) file.ExtendedAttributes = xattrTypes.OrderBy(static x => x.Name).ToList(); return file; } diff --git a/Aaru.Core/Sidecar/OpticalDisc.cs b/Aaru.Core/Sidecar/OpticalDisc.cs index 853568741..d3fb46ede 100644 --- a/Aaru.Core/Sidecar/OpticalDisc.cs +++ b/Aaru.Core/Sidecar/OpticalDisc.cs @@ -684,8 +684,8 @@ public sealed partial class Sidecar if(trk.Indexes?.Count > 0) { - xmlTrk.Indexes = trk.Indexes?.OrderBy(i => i.Key) - .Select(i => new TrackIndex + xmlTrk.Indexes = trk.Indexes?.OrderBy(static i => i.Key) + .Select(static i => new TrackIndex { Index = i.Key, Value = i.Value diff --git a/Aaru.Core/Statistics.cs b/Aaru.Core/Statistics.cs index acad38970..2369372b2 100644 --- a/Aaru.Core/Statistics.cs +++ b/Aaru.Core/Statistics.cs @@ -152,11 +152,13 @@ public static class Statistics if(nameValueStats?.Count > 0) dto.Versions = nameValueStats; - if(ctx.Medias.Any(c => !c.Synchronized)) + if(ctx.Medias.Any(static c => !c.Synchronized)) { dto.Medias = []; - foreach(string media in ctx.Medias.Where(c => !c.Synchronized).Select(c => c.Type).Distinct()) + foreach(string media in ctx.Medias.Where(static c => !c.Synchronized) + .Select(static c => c.Type) + .Distinct()) { if(ctx.Medias.Any(c => !c.Synchronized && c.Type == media && c.Real)) { @@ -180,11 +182,11 @@ public static class Statistics } } - if(ctx.SeenDevices.Any(c => !c.Synchronized)) + if(ctx.SeenDevices.Any(static c => !c.Synchronized)) { dto.Devices = []; - foreach(DeviceStat device in ctx.SeenDevices.Where(c => !c.Synchronized)) + foreach(DeviceStat device in ctx.SeenDevices.Where(static c => !c.Synchronized)) { dto.Devices.Add(new DeviceStats { @@ -240,9 +242,11 @@ public static class Statistics await UpdateStatsAsync(ctx.Partitions); await UpdateStatsAsync(ctx.Versions); - if(ctx.Medias.Any(c => !c.Synchronized)) + if(ctx.Medias.Any(static c => !c.Synchronized)) { - foreach(string media in ctx.Medias.Where(c => !c.Synchronized).Select(c => c.Type).Distinct()) + foreach(string media in ctx.Medias.Where(static c => !c.Synchronized) + .Select(static c => c.Type) + .Distinct()) { if(ctx.Medias.Any(c => !c.Synchronized && c.Type == media && c.Real)) { @@ -285,9 +289,9 @@ public static class Statistics } } - if(ctx.SeenDevices.Any(c => !c.Synchronized)) + if(ctx.SeenDevices.Any(static c => !c.Synchronized)) { - foreach(DeviceStat device in ctx.SeenDevices.Where(c => !c.Synchronized)) + foreach(DeviceStat device in ctx.SeenDevices.Where(static c => !c.Synchronized)) { device.Synchronized = true; ctx.Update(device); @@ -328,12 +332,12 @@ public static class Statistics static async Task UpdateOperatingSystemAsync(DbSet source) where T : BaseOperatingSystem, new() { - if(!source.Any(c => !c.Synchronized)) return; + if(!source.Any(static c => !c.Synchronized)) return; - foreach(string name in source.Where(c => !c.Synchronized).Select(c => c.Name).Distinct()) + foreach(string name in source.Where(static c => !c.Synchronized).Select(static c => c.Name).Distinct()) { foreach(string version in source.Where(c => !c.Synchronized && c.Name == name) - .Select(c => c.Version) + .Select(static c => c.Version) .Distinct()) { T existing = @@ -357,9 +361,9 @@ public static class Statistics static async Task UpdateStatsAsync(DbSet source) where T : NameCountModel, new() { - if(!source.Any(c => !c.Synchronized)) return; + if(!source.Any(static c => !c.Synchronized)) return; - foreach(string nvs in source.Where(c => !c.Synchronized).Select(c => c.Name).Distinct()) + foreach(string nvs in source.Where(static c => !c.Synchronized).Select(static c => c.Name).Distinct()) { T existing = await source.FirstOrDefaultAsync(c => c.Synchronized && c.Name == nvs) ?? new T @@ -378,10 +382,10 @@ public static class Statistics { destination = []; - foreach(string remoteOsName in source.Where(c => !c.Synchronized).Select(c => c.Name).Distinct()) + foreach(string remoteOsName in source.Where(static c => !c.Synchronized).Select(static c => c.Name).Distinct()) { foreach(string remoteOsVersion in source.Where(c => !c.Synchronized && c.Name == remoteOsName) - .Select(c => c.Version) + .Select(static c => c.Version) .Distinct()) { destination.Add(new OsStats @@ -400,9 +404,9 @@ public static class Statistics { destination = []; - if(!source.Any(c => !c.Synchronized)) return; + if(!source.Any(static c => !c.Synchronized)) return; - foreach(string nvs in source.Where(c => !c.Synchronized).Select(c => c.Name).Distinct()) + foreach(string nvs in source.Where(static c => !c.Synchronized).Select(static c => c.Name).Distinct()) { destination.Add(new NameValueStats { diff --git a/Aaru.Database/Context.cs b/Aaru.Database/Context.cs index 6c7356256..8dd0d184c 100644 --- a/Aaru.Database/Context.cs +++ b/Aaru.Database/Context.cs @@ -125,31 +125,31 @@ public sealed class AaruContext : DbContext base.OnModelCreating(modelBuilder); modelBuilder.Entity("Aaru.CommonTypes.Metadata.Ata", - b => b.HasOne("Aaru.CommonTypes.Metadata.TestedMedia", "ReadCapabilities") - .WithMany() - .HasForeignKey("ReadCapabilitiesId") - .OnDelete(DeleteBehavior.SetNull)); + static b => b.HasOne("Aaru.CommonTypes.Metadata.TestedMedia", "ReadCapabilities") + .WithMany() + .HasForeignKey("ReadCapabilitiesId") + .OnDelete(DeleteBehavior.SetNull)); modelBuilder.Entity("Aaru.CommonTypes.Metadata.BlockDescriptor", - b => b.HasOne("Aaru.CommonTypes.Metadata.ScsiMode", null) - .WithMany("BlockDescriptors") - .HasForeignKey("ScsiModeId") - .OnDelete(DeleteBehavior.Cascade)); + static b => b.HasOne("Aaru.CommonTypes.Metadata.ScsiMode", null) + .WithMany("BlockDescriptors") + .HasForeignKey("ScsiModeId") + .OnDelete(DeleteBehavior.Cascade)); modelBuilder.Entity("Aaru.CommonTypes.Metadata.DensityCode", - b => b.HasOne("Aaru.CommonTypes.Metadata.SscSupportedMedia", null) - .WithMany("DensityCodes") - .HasForeignKey("SscSupportedMediaId") - .OnDelete(DeleteBehavior.Cascade)); + static b => b.HasOne("Aaru.CommonTypes.Metadata.SscSupportedMedia", null) + .WithMany("DensityCodes") + .HasForeignKey("SscSupportedMediaId") + .OnDelete(DeleteBehavior.Cascade)); modelBuilder.Entity("Aaru.CommonTypes.Metadata.Mmc", - b => b.HasOne("Aaru.CommonTypes.Metadata.MmcFeatures", "Features") - .WithMany() - .HasForeignKey("FeaturesId") - .OnDelete(DeleteBehavior.SetNull)); + static b => b.HasOne("Aaru.CommonTypes.Metadata.MmcFeatures", "Features") + .WithMany() + .HasForeignKey("FeaturesId") + .OnDelete(DeleteBehavior.SetNull)); modelBuilder.Entity("Aaru.CommonTypes.Metadata.Scsi", - b => + static b => { b.HasOne("Aaru.CommonTypes.Metadata.ScsiMode", "ModeSense") .WithMany() @@ -173,7 +173,7 @@ public sealed class AaruContext : DbContext }); modelBuilder.Entity("Aaru.CommonTypes.Metadata.ScsiPage", - b => + static b => { b.HasOne("Aaru.CommonTypes.Metadata.Scsi", null) .WithMany("EVPDPages") @@ -187,7 +187,7 @@ public sealed class AaruContext : DbContext }); modelBuilder.Entity("Aaru.CommonTypes.Metadata.SscSupportedMedia", - b => + static b => { b.HasOne("Aaru.CommonTypes.Metadata.Ssc", null) .WithMany("SupportedMediaTypes") @@ -201,7 +201,7 @@ public sealed class AaruContext : DbContext }); modelBuilder.Entity("Aaru.CommonTypes.Metadata.SupportedDensity", - b => + static b => { b.HasOne("Aaru.CommonTypes.Metadata.Ssc", null) .WithMany("SupportedDensities") @@ -215,7 +215,7 @@ public sealed class AaruContext : DbContext }); modelBuilder.Entity("Aaru.CommonTypes.Metadata.TestedMedia", - b => + static b => { b.HasOne("Aaru.CommonTypes.Metadata.Ata", null) .WithMany("RemovableMedias") @@ -244,13 +244,13 @@ public sealed class AaruContext : DbContext }); modelBuilder.Entity("Aaru.CommonTypes.Metadata.TestedSequentialMedia", - b => b.HasOne("Aaru.CommonTypes.Metadata.Ssc", null) - .WithMany("TestedMedia") - .HasForeignKey("SscId") - .OnDelete(DeleteBehavior.SetNull)); + static b => b.HasOne("Aaru.CommonTypes.Metadata.Ssc", null) + .WithMany("TestedMedia") + .HasForeignKey("SscId") + .OnDelete(DeleteBehavior.SetNull)); modelBuilder.Entity("Aaru.Database.Models.Device", - b => + static b => { b.HasOne("Aaru.CommonTypes.Metadata.Ata", "ATA") .WithMany() @@ -294,7 +294,7 @@ public sealed class AaruContext : DbContext }); modelBuilder.Entity("Aaru.Database.Models.Report", - b => + static b => { b.HasOne("Aaru.CommonTypes.Metadata.Ata", "ATA") .WithMany() @@ -337,15 +337,15 @@ public sealed class AaruContext : DbContext .OnDelete(DeleteBehavior.SetNull); }); - modelBuilder.Entity().HasIndex(b => b.ModifiedWhen); + modelBuilder.Entity().HasIndex(static b => b.ModifiedWhen); - modelBuilder.Entity().HasIndex(b => b.ModifiedWhen); - modelBuilder.Entity().HasIndex(b => b.ProductId); - modelBuilder.Entity().HasIndex(b => b.VendorId); + modelBuilder.Entity().HasIndex(static b => b.ModifiedWhen); + modelBuilder.Entity().HasIndex(static b => b.ProductId); + modelBuilder.Entity().HasIndex(static b => b.VendorId); - modelBuilder.Entity().HasIndex(b => b.ModifiedWhen); + modelBuilder.Entity().HasIndex(static b => b.ModifiedWhen); - modelBuilder.Entity().HasIndex(b => b.Sha256); - modelBuilder.Entity().HasIndex(b => b.ModifiedWhen); + modelBuilder.Entity().HasIndex(static b => b.Sha256); + modelBuilder.Entity().HasIndex(static b => b.ModifiedWhen); } } \ No newline at end of file diff --git a/Aaru.Decoders/CD/FullTOC.cs b/Aaru.Decoders/CD/FullTOC.cs index 6a4f85e29..b844b92ba 100644 --- a/Aaru.Decoders/CD/FullTOC.cs +++ b/Aaru.Decoders/CD/FullTOC.cs @@ -86,7 +86,7 @@ public static class FullTOC return null; } - for(int i = 0; i < (decoded.DataLength - 2) / 11; i++) + for(var i = 0; i < (decoded.DataLength - 2) / 11; i++) { decoded.TrackDescriptors[i].SessionNumber = CDFullTOCResponse[0 + i * 11 + 4]; decoded.TrackDescriptors[i].ADR = (byte)((CDFullTOCResponse[1 + i * 11 + 4] & 0xF0) >> 4); @@ -115,7 +115,7 @@ public static class FullTOC var sb = new StringBuilder(); - int lastSession = 0; + var lastSession = 0; sb.AppendFormat(Localization.First_complete_session_number_0, response.FirstCompleteSession).AppendLine(); sb.AppendFormat(Localization.Last_complete_session_number_0, response.LastCompleteSession).AppendLine(); @@ -641,7 +641,7 @@ public static class FullTOC case 6: { - uint id = (uint)((descriptor.Min << 16) + (descriptor.Sec << 8) + descriptor.Frame); + var id = (uint)((descriptor.Min << 16) + (descriptor.Sec << 8) + descriptor.Frame); sb.AppendFormat(Localization.Disc_ID_0_X6, id & 0x00FFFFFF).AppendLine(); break; @@ -669,7 +669,7 @@ public static class FullTOC List trackDescriptors = []; byte currentTrack = 0; - foreach(Track track in tracks.OrderBy(t => t.Session).ThenBy(t => t.Sequence)) + foreach(Track track in tracks.OrderBy(static t => t.Session).ThenBy(static t => t.Sequence)) { if(track.Session < toc.FirstCompleteSession) toc.FirstCompleteSession = (byte)track.Session; @@ -686,11 +686,12 @@ public static class FullTOC } sessionEndingTrack.TryAdd(toc.LastCompleteSession, - (byte)tracks.Where(t => t.Session == toc.LastCompleteSession).Max(t => t.Sequence)); + (byte)tracks.Where(t => t.Session == toc.LastCompleteSession) + .Max(static t => t.Sequence)); byte currentSession = 0; - foreach(Track track in tracks.OrderBy(t => t.Session).ThenBy(t => t.Sequence)) + foreach(Track track in tracks.OrderBy(static t => t.Session).ThenBy(static t => t.Sequence)) { trackFlags.TryGetValue((byte)track.Sequence, out byte trackControl); @@ -702,7 +703,7 @@ public static class FullTOC (byte minute, byte second, byte frame) leadoutAmsf = LbaToMsf(track.StartSector - 150); (byte minute, byte second, byte frame) leadoutPmsf = - LbaToMsf(tracks.OrderBy(t => t.Session).ThenBy(t => t.Sequence).Last().StartSector); + LbaToMsf(tracks.OrderBy(static t => t.Session).ThenBy(static t => t.Sequence).Last().StartSector); // Lead-out trackDescriptors.Add(new TrackDataDescriptor diff --git a/Aaru.Decoders/PCMCIA/CIS.cs b/Aaru.Decoders/PCMCIA/CIS.cs index 002f7cbd3..666501ccc 100644 --- a/Aaru.Decoders/PCMCIA/CIS.cs +++ b/Aaru.Decoders/PCMCIA/CIS.cs @@ -290,7 +290,7 @@ public static class CIS { sb.AppendLine("\t" + Localization.Additional_information); - foreach(string info in tuple.AdditionalInformation.Where(info => !string.IsNullOrEmpty(info))) + foreach(string info in tuple.AdditionalInformation.Where(static info => !string.IsNullOrEmpty(info))) sb.Append($"\t\t{info}").AppendLine(); } diff --git a/Aaru.Decoders/SCSI/Modes/2A.cs b/Aaru.Decoders/SCSI/Modes/2A.cs index eafa2adad..4ade28d23 100644 --- a/Aaru.Decoders/SCSI/Modes/2A.cs +++ b/Aaru.Decoders/SCSI/Modes/2A.cs @@ -149,9 +149,11 @@ public static partial class Modes } if(modePage.BufferSize > 0) + { sb.AppendFormat($"\t[slateblue1]{Localization.Drive_has_0_Kbyte_of_buffer}[/]", $"[aqua]{modePage.BufferSize}[/]") .AppendLine(); + } if(modePage.MaximumSpeed > 0) { @@ -251,7 +253,7 @@ public static partial class Modes if(modePage.WriteSpeedPerformanceDescriptors != null) { foreach(ModePage_2A_WriteDescriptor descriptor in - modePage.WriteSpeedPerformanceDescriptors.Where(descriptor => descriptor.WriteSpeed > 0)) + modePage.WriteSpeedPerformanceDescriptors.Where(static descriptor => descriptor.WriteSpeed > 0)) { switch(descriptor.RotationControl) { diff --git a/Aaru.Decoders/SCSI/Modes/Mode10.cs b/Aaru.Decoders/SCSI/Modes/Mode10.cs index d5ff98967..3c1b6db37 100644 --- a/Aaru.Decoders/SCSI/Modes/Mode10.cs +++ b/Aaru.Decoders/SCSI/Modes/Mode10.cs @@ -336,7 +336,7 @@ public static partial class Modes { var modeSize = 0; - if(mode.Pages != null) modeSize += mode.Pages.Sum(page => page.PageResponse.Length); + if(mode.Pages != null) modeSize += mode.Pages.Sum(static page => page.PageResponse.Length); byte[] hdr = EncodeModeHeader10(mode.Header, deviceType); modeSize += hdr.Length; diff --git a/Aaru.Decoders/SCSI/Modes/Mode6.cs b/Aaru.Decoders/SCSI/Modes/Mode6.cs index 9c7ba2c88..1be768c95 100644 --- a/Aaru.Decoders/SCSI/Modes/Mode6.cs +++ b/Aaru.Decoders/SCSI/Modes/Mode6.cs @@ -238,7 +238,7 @@ public static partial class Modes { var modeSize = 0; - if(mode.Pages != null) modeSize += mode.Pages.Sum(page => page.PageResponse.Length); + if(mode.Pages != null) modeSize += mode.Pages.Sum(static page => page.PageResponse.Length); byte[] hdr = EncodeModeHeader6(mode.Header, deviceType); modeSize += hdr.Length; diff --git a/Aaru.Devices/Device/Constructor.cs b/Aaru.Devices/Device/Constructor.cs index 9bd09a65c..c41b227d1 100644 --- a/Aaru.Devices/Device/Constructor.cs +++ b/Aaru.Devices/Device/Constructor.cs @@ -215,8 +215,9 @@ public partial class Device : IDisposable if(string.IsNullOrEmpty(dev.Serial)) dev.Serial = dev.UsbSerialString; else - foreach(char c in dev.Serial.Where(c => !char.IsControl(c))) - dev.Serial = $"{dev.Serial}{c:X2}"; + { + foreach(char c in dev.Serial.Where(static c => !char.IsControl(c))) dev.Serial = $"{dev.Serial}{c:X2}"; + } } if(dev.IsFireWire) @@ -228,8 +229,9 @@ public partial class Device : IDisposable if(string.IsNullOrEmpty(dev.Serial)) dev.Serial = $"{dev.FirewireGuid:X16}"; else - foreach(char c in dev.Serial.Where(c => !char.IsControl(c))) - dev.Serial = $"{dev.Serial}{c:X2}"; + { + foreach(char c in dev.Serial.Where(static c => !char.IsControl(c))) dev.Serial = $"{dev.Serial}{c:X2}"; + } } // Some optical drives are not getting the correct serial, and IDENTIFY PACKET DEVICE is blocked without diff --git a/Aaru.Devices/Remote/Remote.cs b/Aaru.Devices/Remote/Remote.cs index cbd9f510d..58234f3f0 100644 --- a/Aaru.Devices/Remote/Remote.cs +++ b/Aaru.Devices/Remote/Remote.cs @@ -72,7 +72,8 @@ public class Remote : IDisposable { IPHostEntry ipHostEntry = Dns.GetHostEntry(_host); - ipAddress = ipHostEntry.AddressList.FirstOrDefault(a => a.AddressFamily == AddressFamily.InterNetwork); + ipAddress = + ipHostEntry.AddressList.FirstOrDefault(static a => a.AddressFamily == AddressFamily.InterNetwork); } if(ipAddress is null) @@ -89,7 +90,7 @@ public class Remote : IDisposable AaruLogging.WriteLine(Localization.Connected_to_0, uri.Host); - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; int len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -238,7 +239,7 @@ public class Remote : IDisposable return false; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -331,7 +332,7 @@ public class Remote : IDisposable return []; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -451,7 +452,7 @@ public class Remote : IDisposable return false; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -525,8 +526,8 @@ public class Remote : IDisposable public int SendScsiCommand(Span cdb, ref byte[] buffer, Span senseBuffer, uint timeout, ScsiDirection direction, out double duration, out bool sense) { - duration = 0; - sense = true; + duration = 0; + sense = true; var cmdPkt = new AaruPacketCmdScsi { @@ -548,7 +549,7 @@ public class Remote : IDisposable cmdPkt.hdr.len = (uint)(Marshal.SizeOf() + cmdPkt.cdb_len + cmdPkt.buf_len); byte[] pktBuf = Marshal.StructureToByteArrayLittleEndian(cmdPkt); - byte[] buf = new byte[cmdPkt.hdr.len]; + var buf = new byte[cmdPkt.hdr.len]; Array.Copy(pktBuf, 0, buf, 0, Marshal.SizeOf()); @@ -570,7 +571,7 @@ public class Remote : IDisposable return -1; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -661,7 +662,7 @@ public class Remote : IDisposable cmdPkt.hdr.len = (uint)(Marshal.SizeOf() + cmdPkt.buf_len); byte[] pktBuf = Marshal.StructureToByteArrayLittleEndian(cmdPkt); - byte[] buf = new byte[cmdPkt.hdr.len]; + var buf = new byte[cmdPkt.hdr.len]; Array.Copy(pktBuf, 0, buf, 0, Marshal.SizeOf()); @@ -676,7 +677,7 @@ public class Remote : IDisposable return -1; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -767,7 +768,7 @@ public class Remote : IDisposable cmdPkt.hdr.len = (uint)(Marshal.SizeOf() + cmdPkt.buf_len); byte[] pktBuf = Marshal.StructureToByteArrayLittleEndian(cmdPkt); - byte[] buf = new byte[cmdPkt.hdr.len]; + var buf = new byte[cmdPkt.hdr.len]; Array.Copy(pktBuf, 0, buf, 0, Marshal.SizeOf()); @@ -782,7 +783,7 @@ public class Remote : IDisposable return -1; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -873,7 +874,7 @@ public class Remote : IDisposable cmdPkt.hdr.len = (uint)(Marshal.SizeOf() + cmdPkt.buf_len); byte[] pktBuf = Marshal.StructureToByteArrayLittleEndian(cmdPkt); - byte[] buf = new byte[cmdPkt.hdr.len]; + var buf = new byte[cmdPkt.hdr.len]; Array.Copy(pktBuf, 0, buf, 0, Marshal.SizeOf()); @@ -888,7 +889,7 @@ public class Remote : IDisposable return -1; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -985,7 +986,7 @@ public class Remote : IDisposable cmdPkt.hdr.len = (uint)(Marshal.SizeOf() + cmdPkt.command.buf_len); byte[] pktBuf = Marshal.StructureToByteArrayLittleEndian(cmdPkt); - byte[] buf = new byte[cmdPkt.hdr.len]; + var buf = new byte[cmdPkt.hdr.len]; Array.Copy(pktBuf, 0, buf, 0, Marshal.SizeOf()); @@ -1000,7 +1001,7 @@ public class Remote : IDisposable return -1; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -1081,7 +1082,7 @@ public class Remote : IDisposable return DeviceType.Unknown; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -1159,7 +1160,7 @@ public class Remote : IDisposable return false; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -1284,7 +1285,7 @@ public class Remote : IDisposable return false; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -1375,7 +1376,7 @@ public class Remote : IDisposable return false; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -1455,7 +1456,7 @@ public class Remote : IDisposable return false; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -1509,7 +1510,7 @@ public class Remote : IDisposable /// Retrieved number of bytes static int Receive(Socket socket, byte[] buffer, int size, SocketFlags socketFlags) { - int offset = 0; + var offset = 0; while(size > 0) { @@ -1572,7 +1573,8 @@ public class Remote : IDisposable long packetSize = Marshal.SizeOf() + Marshal.SizeOf() * commands.LongLength; - packetSize = commands.Aggregate(packetSize, (current, command) => current + (command.buffer?.Length ?? 0)); + packetSize = + commands.Aggregate(packetSize, static (current, command) => current + (command.buffer?.Length ?? 0)); var packet = new AaruPacketMultiCmdSdhci { @@ -1587,7 +1589,7 @@ public class Remote : IDisposable } }; - byte[] buf = new byte[packetSize]; + var buf = new byte[packetSize]; byte[] tmp = Marshal.StructureToByteArrayLittleEndian(packet); Array.Copy(tmp, 0, buf, 0, tmp.Length); @@ -1613,8 +1615,8 @@ public class Remote : IDisposable off += tmp.Length; } - foreach(Devices.Device.MmcSingleCommand command in - commands.Where(command => (command.buffer?.Length ?? 0) != 0)) + foreach(Devices.Device.MmcSingleCommand command in commands.Where(static command => + (command.buffer?.Length ?? 0) != 0)) { Array.Copy(command.buffer, 0, buf, off, command.buffer.Length); @@ -1630,7 +1632,7 @@ public class Remote : IDisposable return -1; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -1681,7 +1683,7 @@ public class Remote : IDisposable off = Marshal.SizeOf(); - int error = 0; + var error = 0; foreach(Devices.Device.MmcSingleCommand command in commands) { @@ -1723,7 +1725,7 @@ public class Remote : IDisposable { sense = false; duration = 0; - int error = 0; + var error = 0; foreach(Devices.Device.MmcSingleCommand command in commands) { @@ -1777,7 +1779,7 @@ public class Remote : IDisposable return false; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); @@ -1879,7 +1881,7 @@ public class Remote : IDisposable return false; } - byte[] hdrBuf = new byte[Marshal.SizeOf()]; + var hdrBuf = new byte[Marshal.SizeOf()]; len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek); diff --git a/Aaru.Devices/Windows/ListDevices.cs b/Aaru.Devices/Windows/ListDevices.cs index e0043e43c..13493e6c7 100644 --- a/Aaru.Devices/Windows/ListDevices.cs +++ b/Aaru.Devices/Windows/ListDevices.cs @@ -181,7 +181,7 @@ public static class ListDevices StringHandlers.CToString(descriptorB, Encoding.ASCII, start: descriptor.SerialNumberOffset); // fix any serial numbers that are returned as hex-strings - if(Array.TrueForAll(info.Serial.ToCharArray(), c => "0123456789abcdef".IndexOf(c) >= 0) && + if(Array.TrueForAll(info.Serial.ToCharArray(), static c => "0123456789abcdef".IndexOf(c) >= 0) && info.Serial.Length == 40) info.Serial = HexStringToString(info.Serial).Trim(); } diff --git a/Aaru.Filesystems/AppleDOS/Dir.cs b/Aaru.Filesystems/AppleDOS/Dir.cs index fe11d8bd4..5091dbca2 100644 --- a/Aaru.Filesystems/AppleDOS/Dir.cs +++ b/Aaru.Filesystems/AppleDOS/Dir.cs @@ -67,7 +67,7 @@ public sealed partial class AppleDOS // Read the catalog sector CatalogSector catSector = Marshal.ByteArrayToStructureLittleEndian(catSectorB); - foreach(FileEntry entry in catSector.entries.Where(entry => entry.extentTrack > 0)) + foreach(FileEntry entry in catSector.entries.Where(static entry => entry.extentTrack > 0)) { _track1UsedByFiles |= entry.extentTrack == 1; _track2UsedByFiles |= entry.extentTrack == 2; diff --git a/Aaru.Filesystems/AppleDOS/File.cs b/Aaru.Filesystems/AppleDOS/File.cs index 3d3dfe307..9dea15fb7 100644 --- a/Aaru.Filesystems/AppleDOS/File.cs +++ b/Aaru.Filesystems/AppleDOS/File.cs @@ -119,7 +119,8 @@ public sealed partial class AppleDOS _fileCache = new Dictionary(); _extentCache = new Dictionary(); - foreach(ErrorNumber error in _catalogCache.Keys.Select(CacheFile).Where(error => error != ErrorNumber.NoError)) + foreach(ErrorNumber error in _catalogCache.Keys.Select(CacheFile) + .Where(static error => error != ErrorNumber.NoError)) return error; uint tracksOnBoot = 1; diff --git a/Aaru.Filesystems/AppleMFS/Dir.cs b/Aaru.Filesystems/AppleMFS/Dir.cs index 5e96ca456..3442dc9a5 100644 --- a/Aaru.Filesystems/AppleMFS/Dir.cs +++ b/Aaru.Filesystems/AppleMFS/Dir.cs @@ -58,8 +58,7 @@ public sealed partial class AppleMFS entry.flTyp = _directoryBlocks[offset + 1]; - entry.flUsrWds = - Marshal.ByteArrayToStructureBigEndian(_directoryBlocks, offset + 2, 16); + entry.flUsrWds = Marshal.ByteArrayToStructureBigEndian(_directoryBlocks, offset + 2, 16); entry.flFlNum = BigEndianBitConverter.ToUInt32(_directoryBlocks, offset + 18); entry.flStBlk = BigEndianBitConverter.ToUInt16(_directoryBlocks, offset + 22); @@ -132,7 +131,7 @@ public sealed partial class AppleMFS if(!string.IsNullOrEmpty(path) && string.Compare(path, "/", StringComparison.OrdinalIgnoreCase) != 0) return ErrorNumber.NotSupported; - var contents = _idToFilename.Select(kvp => kvp.Value).ToList(); + var contents = _idToFilename.Select(static kvp => kvp.Value).ToList(); if(_debug) { diff --git a/Aaru.Filesystems/FAT/Dir.cs b/Aaru.Filesystems/FAT/Dir.cs index f0b2a4b9c..5c64d6fbb 100644 --- a/Aaru.Filesystems/FAT/Dir.cs +++ b/Aaru.Filesystems/FAT/Dir.cs @@ -308,7 +308,7 @@ public sealed partial class FAT // Check OS/2 .LONGNAME if(_eaCache != null && _namespace is Namespace.Os2 or Namespace.Ecs && !_fat32) { - var filesWithEas = currentDirectory.Where(t => t.Value.Dirent.ea_handle != 0).ToList(); + var filesWithEas = currentDirectory.Where(static t => t.Value.Dirent.ea_handle != 0).ToList(); foreach(KeyValuePair fileWithEa in filesWithEas) { diff --git a/Aaru.Filesystems/FAT/Super.cs b/Aaru.Filesystems/FAT/Super.cs index d28ed8a6c..8ebdf7b67 100644 --- a/Aaru.Filesystems/FAT/Super.cs +++ b/Aaru.Filesystems/FAT/Super.cs @@ -194,9 +194,8 @@ public sealed partial class FAT }; if((fat32Bpb.flags & 0xF8) == 0x00) - { - if((fat32Bpb.flags & 0x01) == 0x01) Metadata.Dirty = true; - } + if((fat32Bpb.flags & 0x01) == 0x01) + Metadata.Dirty = true; if((fat32Bpb.mirror_flags & 0x80) == 0x80) _useFirstFat = (fat32Bpb.mirror_flags & 0xF) != 1; @@ -461,9 +460,8 @@ public sealed partial class FAT if(fakeBpb.signature is 0x28 or 0x29 || andosOemCorrect) { if((fakeBpb.flags & 0xF8) == 0x00) - { - if((fakeBpb.flags & 0x01) == 0x01) Metadata.Dirty = true; - } + if((fakeBpb.flags & 0x01) == 0x01) + Metadata.Dirty = true; if(fakeBpb.signature == 0x29 || andosOemCorrect) { @@ -884,7 +882,7 @@ public sealed partial class FAT // Check OS/2 .LONGNAME if(_eaCache != null && _namespace is Namespace.Os2 or Namespace.Ecs && !_fat32) { - var rootFilesWithEas = _rootDirectoryCache.Where(t => t.Value.Dirent.ea_handle != 0).ToList(); + var rootFilesWithEas = _rootDirectoryCache.Where(static t => t.Value.Dirent.ea_handle != 0).ToList(); foreach(KeyValuePair fileWithEa in rootFilesWithEas) { diff --git a/Aaru.Filesystems/ISO9660/Dir.cs b/Aaru.Filesystems/ISO9660/Dir.cs index 719cb582f..ad3f013bc 100644 --- a/Aaru.Filesystems/ISO9660/Dir.cs +++ b/Aaru.Filesystems/ISO9660/Dir.cs @@ -55,9 +55,7 @@ public sealed partial class ISO9660 while(entryOff + _cdiDirectoryRecordSize < data.Length) { CdiDirectoryRecord record = - Marshal.ByteArrayToStructureBigEndian(data, - entryOff, - _cdiDirectoryRecordSize); + Marshal.ByteArrayToStructureBigEndian(data, entryOff, _cdiDirectoryRecordSize); if(record.length == 0) { @@ -107,9 +105,7 @@ public sealed partial class ISO9660 if(systemAreaStart % 2 != 0) systemAreaStart++; entry.CdiSystemArea = - Marshal.ByteArrayToStructureBigEndian(data, - systemAreaStart, - _cdiSystemAreaSize); + Marshal.ByteArrayToStructureBigEndian(data, systemAreaStart, _cdiSystemAreaSize); if(entry.CdiSystemArea.Value.attributes.HasFlag(CdiAttributes.Directory)) entry.Flags |= FileFlags.Directory; @@ -352,18 +348,19 @@ public sealed partial class ISO9660 // Relocated directories should be shown in correct place when using Rock Ridge namespace return _namespace == Namespace.Rrip - ? entries.Where(e => !e.Value.RockRidgeRelocated).ToDictionary(x => x.Key, x => x.Value) + ? entries.Where(static e => !e.Value.RockRidgeRelocated) + .ToDictionary(static x => x.Key, static x => x.Value) : entries; } void DecodeTransTable(Dictionary entries) { KeyValuePair transTblEntry = - entries.FirstOrDefault(e => !e.Value.Flags.HasFlag(FileFlags.Directory) && - (e.Value.Filename.Equals("trans.tbl", - StringComparison.CurrentCultureIgnoreCase) || - e.Value.Filename.Equals("trans.tbl;1", - StringComparison.CurrentCultureIgnoreCase))); + entries.FirstOrDefault(static e => !e.Value.Flags.HasFlag(FileFlags.Directory) && + (e.Value.Filename.Equals("trans.tbl", + StringComparison.CurrentCultureIgnoreCase) || + e.Value.Filename.Equals("trans.tbl;1", + StringComparison.CurrentCultureIgnoreCase))); if(transTblEntry.Value == null) return; @@ -568,8 +565,8 @@ public sealed partial class ISO9660 break; case XA_MAGIC: entry.XA = Marshal.ByteArrayToStructureBigEndian(data, - systemAreaOff, - Marshal.SizeOf()); + systemAreaOff, + Marshal.SizeOf()); systemAreaOff += Marshal.SizeOf(); @@ -580,8 +577,8 @@ public sealed partial class ISO9660 case AMIGA_MAGIC: AmigaEntry amiga = Marshal.ByteArrayToStructureBigEndian(data, - systemAreaOff, - Marshal.SizeOf()); + systemAreaOff, + Marshal.SizeOf()); var protectionLength = 0; @@ -996,8 +993,8 @@ public sealed partial class ISO9660 CdiDirectoryRecord record = Marshal.ByteArrayToStructureBigEndian(sector, - tEntry.XattrLength, - _cdiDirectoryRecordSize); + tEntry.XattrLength, + _cdiDirectoryRecordSize); if(record.length == 0) break; @@ -1020,9 +1017,7 @@ public sealed partial class ISO9660 if(systemAreaStart % 2 != 0) systemAreaStart++; entry.CdiSystemArea = - Marshal.ByteArrayToStructureBigEndian(sector, - systemAreaStart, - _cdiSystemAreaSize); + Marshal.ByteArrayToStructureBigEndian(sector, systemAreaStart, _cdiSystemAreaSize); if(entry.CdiSystemArea.Value.attributes.HasFlag(CdiAttributes.Directory)) entry.Flags |= FileFlags.Directory; diff --git a/Aaru.Generators/PluginRegisterGenerator.cs b/Aaru.Generators/PluginRegisterGenerator.cs index 18352d489..19294280a 100644 --- a/Aaru.Generators/PluginRegisterGenerator.cs +++ b/Aaru.Generators/PluginRegisterGenerator.cs @@ -43,7 +43,7 @@ public class PluginRegisterGenerator : ISourceGenerator public void Initialize(GeneratorInitializationContext context) => // Nothing to do - context.RegisterForSyntaxNotifications(() => new PluginFinder()); + context.RegisterForSyntaxNotifications(static () => new PluginFinder()); /// public void Execute(GeneratorExecutionContext context) @@ -62,11 +62,11 @@ public class PluginRegisterGenerator : ISourceGenerator if(pluginRegister == null) return; var @namespace = - (pluginRegister.Ancestors().FirstOrDefault(x => x is FileScopedNamespaceDeclarationSyntax) as + (pluginRegister.Ancestors().FirstOrDefault(static x => x is FileScopedNamespaceDeclarationSyntax) as FileScopedNamespaceDeclarationSyntax)?.Name.ToString(); @namespace ??= - (pluginRegister.Ancestors().FirstOrDefault(x => x is NamespaceDeclarationSyntax) as + (pluginRegister.Ancestors().FirstOrDefault(static x => x is NamespaceDeclarationSyntax) as NamespaceDeclarationSyntax)?.ToString(); string className = pluginRegister.Identifier.Text; @@ -357,114 +357,127 @@ public class PluginRegisterGenerator : ISourceGenerator { if(syntaxNode is not ClassDeclarationSyntax plugin) return; - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText == - "IPluginRegister") == + if(plugin.BaseList?.Types.Any(static t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax) + ?.Identifier.ValueText == + "IPluginRegister") == true) Register = plugin; - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText == - "IArchive") == + if(plugin.BaseList?.Types.Any(static t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax) + ?.Identifier.ValueText == + "IArchive") == true) - if(!Archives.Contains(plugin.Identifier.Text)) - Archives.Add(plugin.Identifier.Text); + { + if(!Archives.Contains(plugin.Identifier.Text)) Archives.Add(plugin.Identifier.Text); + } - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText == - "IChecksum") == + if(plugin.BaseList?.Types.Any(static t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax) + ?.Identifier.ValueText == + "IChecksum") == true) - if(!Checksums.Contains(plugin.Identifier.Text)) - Checksums.Add(plugin.Identifier.Text); + { + if(!Checksums.Contains(plugin.Identifier.Text)) Checksums.Add(plugin.Identifier.Text); + } - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText == - "IFilesystem") == + if(plugin.BaseList?.Types.Any(static t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax) + ?.Identifier.ValueText == + "IFilesystem") == true) - if(!FileSystems.Contains(plugin.Identifier.Text)) - FileSystems.Add(plugin.Identifier.Text); + { + if(!FileSystems.Contains(plugin.Identifier.Text)) FileSystems.Add(plugin.Identifier.Text); + } - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText == - "IFilter") == + if(plugin.BaseList?.Types.Any(static t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax) + ?.Identifier.ValueText == + "IFilter") == true) - if(!Filters.Contains(plugin.Identifier.Text)) - Filters.Add(plugin.Identifier.Text); + { + if(!Filters.Contains(plugin.Identifier.Text)) Filters.Add(plugin.Identifier.Text); + } - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText == - "IFloppyImage") == + if(plugin.BaseList?.Types.Any(static t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax) + ?.Identifier.ValueText == + "IFloppyImage") == true) - if(!FloppyImagePlugins.Contains(plugin.Identifier.Text)) - FloppyImagePlugins.Add(plugin.Identifier.Text); + { + if(!FloppyImagePlugins.Contains(plugin.Identifier.Text)) FloppyImagePlugins.Add(plugin.Identifier.Text); + } - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText == - "IFluxImage") == + if(plugin.BaseList?.Types.Any(static t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax) + ?.Identifier.ValueText == + "IFluxImage") == true) - if(!FluxImagePlugins.Contains(plugin.Identifier.Text)) - FluxImagePlugins.Add(plugin.Identifier.Text); + { + if(!FluxImagePlugins.Contains(plugin.Identifier.Text)) FluxImagePlugins.Add(plugin.Identifier.Text); + } - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText is "IMediaImage" - or "IOpticalMediaImage" - or "IFloppyImage" - or "ITapeImage" - or "IFluxImage") == + if(plugin.BaseList?.Types.Any(static t => + ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier + .ValueText is "IMediaImage" + or "IOpticalMediaImage" + or "IFloppyImage" + or "ITapeImage" + or "IFluxImage") == true) - if(!MediaImagePlugins.Contains(plugin.Identifier.Text)) - MediaImagePlugins.Add(plugin.Identifier.Text); + { + if(!MediaImagePlugins.Contains(plugin.Identifier.Text)) MediaImagePlugins.Add(plugin.Identifier.Text); + } - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText == - "IPartition") == + if(plugin.BaseList?.Types.Any(static t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax) + ?.Identifier.ValueText == + "IPartition") == true) - if(!PartitionPlugins.Contains(plugin.Identifier.Text)) - PartitionPlugins.Add(plugin.Identifier.Text); + { + if(!PartitionPlugins.Contains(plugin.Identifier.Text)) PartitionPlugins.Add(plugin.Identifier.Text); + } - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText == - "IReadOnlyFilesystem") == + if(plugin.BaseList?.Types.Any(static t => + ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier + .ValueText == + "IReadOnlyFilesystem") == true) { if(!ReadOnlyFileSystems.Contains(plugin.Identifier.Text)) ReadOnlyFileSystems.Add(plugin.Identifier.Text); } - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText == - "IWritableFloppyImage") == + if(plugin.BaseList?.Types.Any(static t => + ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier + .ValueText == + "IWritableFloppyImage") == true) { if(!WritableFloppyImagePlugins.Contains(plugin.Identifier.Text)) WritableFloppyImagePlugins.Add(plugin.Identifier.Text); } - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText == - "IWritableFluxImage") == + if(plugin.BaseList?.Types.Any(static t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax) + ?.Identifier.ValueText == + "IWritableFluxImage") == true) { if(!WritableFluxImagePlugins.Contains(plugin.Identifier.Text)) WritableFluxImagePlugins.Add(plugin.Identifier.Text); } - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText is "IWritableImage" - or "IWritableOpticalImage" - or "IWritableTapeImage" - or "IByteAddressableImage" - or "IWritableFluxImage") == + if(plugin.BaseList?.Types.Any(static t => + ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier + .ValueText is "IWritableImage" + or "IWritableOpticalImage" + or "IWritableTapeImage" + or "IByteAddressableImage" + or "IWritableFluxImage") == true) { if(!WritableImagePlugins.Contains(plugin.Identifier.Text)) WritableImagePlugins.Add(plugin.Identifier.Text); } - if(plugin.BaseList?.Types.Any(t => ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier - .ValueText == - "IByteAddressableImage") == + if(plugin.BaseList?.Types.Any(static t => + ((t as SimpleBaseTypeSyntax)?.Type as IdentifierNameSyntax)?.Identifier + .ValueText == + "IByteAddressableImage") == true) { if(!ByteAddressableImagePlugins.Contains(plugin.Identifier.Text)) diff --git a/Aaru.Generators/SwapEndianGenerator.cs b/Aaru.Generators/SwapEndianGenerator.cs index 2a3b8bcc5..3aa8b8cd0 100644 --- a/Aaru.Generators/SwapEndianGenerator.cs +++ b/Aaru.Generators/SwapEndianGenerator.cs @@ -108,7 +108,7 @@ public class SwapEndianGenerator : IIncrementalGenerator // Create unique file name by including containing types string fileName = containingTypes.Count > 0 - ? $"{string.Join("_", containingTypes.Select(t => t.Name))}_{structName}_SwapEndian.g.cs" + ? $"{string.Join("_", containingTypes.Select(static t => t.Name))}_{structName}_SwapEndian.g.cs" : $"{structName}_SwapEndian.g.cs"; context.AddSource(fileName, SourceText.From(generatedSource, Encoding.UTF8)); @@ -361,8 +361,7 @@ public class SwapEndianGenerator : IIncrementalGenerator "byte" or "Byte" or "sbyte" or "SByte" => $" // {fieldName} - no swap needed for byte types", - "string" or "String" => - $" // {fieldName} - no swap needed for string types", + "string" or "String" => $" // {fieldName} - no swap needed for string types", "Guid" => $" // TODO: Implement GUID swap for {fieldName}", @@ -442,7 +441,7 @@ public class SwapEndianGenerator : IIncrementalGenerator // Fallback to assuming it's a nested struct } - private static (string code, bool usesEnumHelper) HandleStructOrEnumArray(string fieldName, string elementType, + private static (string code, bool usesEnumHelper) HandleStructOrEnumArray(string fieldName, string elementType, ITypeSymbol typeSymbol) { // Check if we have semantic information about the array type @@ -614,5 +613,4 @@ public class SwapEndianGenerator : IIncrementalGenerator return value; } """; -} - +} \ No newline at end of file diff --git a/Aaru.Generators/SwapPdpEndianGenerator.cs b/Aaru.Generators/SwapPdpEndianGenerator.cs index a8fe0d7d1..e1235dca5 100644 --- a/Aaru.Generators/SwapPdpEndianGenerator.cs +++ b/Aaru.Generators/SwapPdpEndianGenerator.cs @@ -106,7 +106,7 @@ public class SwapPdpEndianGenerator : IIncrementalGenerator // Create unique file name by including containing types string fileName = containingTypes.Count > 0 - ? $"{string.Join("_", containingTypes.Select(t => t.Name))}_{structName}_SwapPdpEndian.g.cs" + ? $"{string.Join("_", containingTypes.Select(static t => t.Name))}_{structName}_SwapPdpEndian.g.cs" : $"{structName}_SwapPdpEndian.g.cs"; context.AddSource(fileName, SourceText.From(generatedSource, Encoding.UTF8)); diff --git a/Aaru.Gui/Controls/SpectreTextBlock.cs b/Aaru.Gui/Controls/SpectreTextBlock.cs index 8291d6a8a..efa42d705 100644 --- a/Aaru.Gui/Controls/SpectreTextBlock.cs +++ b/Aaru.Gui/Controls/SpectreTextBlock.cs @@ -384,8 +384,8 @@ public partial class SpectreTextBlock : TextBlock // Find which markup tags apply to this content segment var applicableMarkups = markups.Where(m => m.OpenTagEnd <= start && m.CloseTagStart >= end) - .OrderBy(m => m.Start) // Outermost first (earliest start) - .ThenByDescending(m => m.End) // Then by latest end + .OrderBy(static m => m.Start) // Outermost first (earliest start) + .ThenByDescending(static m => m.End) // Then by latest end .ToList(); var run = new Run(Text.Substring(start, end - start)); diff --git a/Aaru.Gui/Main.cs b/Aaru.Gui/Main.cs index b5a4e6032..2ca59852d 100644 --- a/Aaru.Gui/Main.cs +++ b/Aaru.Gui/Main.cs @@ -37,7 +37,7 @@ public static class Main { public static int Start(string[] args) { - SentrySdk.Init(options => + SentrySdk.Init(static options => { // A Sentry Data Source Name (DSN) is required. // See https://docs.sentry.io/product/sentry-basics/dsn-explainer/ diff --git a/Aaru.Gui/ViewModels/Dialogs/AboutViewModel.cs b/Aaru.Gui/ViewModels/Dialogs/AboutViewModel.cs index f5c116c9e..f30b55cff 100644 --- a/Aaru.Gui/ViewModels/Dialogs/AboutViewModel.cs +++ b/Aaru.Gui/ViewModels/Dialogs/AboutViewModel.cs @@ -69,7 +69,7 @@ public sealed partial class AboutViewModel : ViewModelBase _ = Task.Run(() => { - foreach(Assembly assembly in AppDomain.CurrentDomain.GetAssemblies().OrderBy(a => a.FullName)) + foreach(Assembly assembly in AppDomain.CurrentDomain.GetAssemblies().OrderBy(static a => a.FullName)) { string name = assembly.GetName().Name; diff --git a/Aaru.Gui/ViewModels/Dialogs/StatisticsViewModel.cs b/Aaru.Gui/ViewModels/Dialogs/StatisticsViewModel.cs index 832fcf73f..67381d9bc 100644 --- a/Aaru.Gui/ViewModels/Dialogs/StatisticsViewModel.cs +++ b/Aaru.Gui/ViewModels/Dialogs/StatisticsViewModel.cs @@ -70,7 +70,7 @@ public sealed partial class StatisticsViewModel : ViewModelBase [ObservableProperty] bool _decodeVisible; [ObservableProperty] - string _DeviceInfoText; + string _deviceInfoText; [ObservableProperty] bool _deviceInfoVisible; [ObservableProperty] @@ -140,9 +140,9 @@ public sealed partial class StatisticsViewModel : ViewModelBase if(ctx.Commands.Any()) { - if(ctx.Commands.Any(c => c.Name == "analyze")) + if(ctx.Commands.Any(static c => c.Name == "analyze")) { - foreach(Command oldAnalyze in ctx.Commands.Where(c => c.Name == "analyze")) + foreach(Command oldAnalyze in ctx.Commands.Where(static c => c.Name == "analyze")) { oldAnalyze.Name = "fs-info"; ctx.Commands.Update(oldAnalyze); @@ -150,7 +150,7 @@ public sealed partial class StatisticsViewModel : ViewModelBase ulong count = 0; - foreach(Command fsInfo in ctx.Commands.Where(c => c.Name == "fs-info" && c.Synchronized)) + foreach(Command fsInfo in ctx.Commands.Where(static c => c.Name == "fs-info" && c.Synchronized)) { count += fsInfo.Count; ctx.Remove(fsInfo); @@ -169,193 +169,193 @@ public sealed partial class StatisticsViewModel : ViewModelBase ctx.SaveChanges(); } - if(ctx.Commands.Any(c => c.Name == "fs-info")) + if(ctx.Commands.Any(static c => c.Name == "fs-info")) { - ulong count = ctx.Commands.Where(c => c.Name == "fs-info" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "fs-info" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "fs-info" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "fs-info" && !c.Synchronized); FsInfoVisible = true; FsInfoText = string.Format(UI.You_have_called_the_Filesystem_Info_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "checksum")) + if(ctx.Commands.Any(static c => c.Name == "checksum")) { - ulong count = ctx.Commands.Where(c => c.Name == "checksum" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "checksum" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "checksum" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "checksum" && !c.Synchronized); ChecksumVisible = true; ChecksumText = string.Format(UI.You_have_called_the_Checksum_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "compare")) + if(ctx.Commands.Any(static c => c.Name == "compare")) { - ulong count = ctx.Commands.Where(c => c.Name == "compare" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "compare" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "compare" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "compare" && !c.Synchronized); CompareVisible = true; CompareText = string.Format(UI.You_have_called_the_Compare_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "convert-image")) + if(ctx.Commands.Any(static c => c.Name == "convert-image")) { - ulong count = ctx.Commands.Where(c => c.Name == "convert-image" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "convert-image" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "convert-image" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "convert-image" && !c.Synchronized); ConvertImageVisible = true; ConvertImageText = string.Format(UI.You_have_called_the_Convert_Image_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "create-sidecar")) + if(ctx.Commands.Any(static c => c.Name == "create-sidecar")) { - ulong count = ctx.Commands.Where(c => c.Name == "create-sidecar" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "create-sidecar" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "create-sidecar" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "create-sidecar" && !c.Synchronized); CreateSidecarVisible = true; CreateSidecarText = string.Format(UI.You_have_called_the_Create_Sidecar_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "decode")) + if(ctx.Commands.Any(static c => c.Name == "decode")) { - ulong count = ctx.Commands.Where(c => c.Name == "decode" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "decode" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "decode" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "decode" && !c.Synchronized); DecodeVisible = true; DecodeText = string.Format(UI.You_have_called_the_Decode_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "device-info")) + if(ctx.Commands.Any(static c => c.Name == "device-info")) { - ulong count = ctx.Commands.Where(c => c.Name == "device-info" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "device-info" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "device-info" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "device-info" && !c.Synchronized); DeviceInfoVisible = true; DeviceInfoText = string.Format(UI.You_have_called_the_Device_Info_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "device-report")) + if(ctx.Commands.Any(static c => c.Name == "device-report")) { - ulong count = ctx.Commands.Where(c => c.Name == "device-report" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "device-report" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "device-report" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "device-report" && !c.Synchronized); DeviceReportVisible = true; DeviceReportText = string.Format(UI.You_have_called_the_Device_Report_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "dump-media")) + if(ctx.Commands.Any(static c => c.Name == "dump-media")) { - ulong count = ctx.Commands.Where(c => c.Name == "dump-media" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "dump-media" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "dump-media" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "dump-media" && !c.Synchronized); DumpMediaVisible = true; DumpMediaText = string.Format(UI.You_have_called_the_Dump_Media_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "entropy")) + if(ctx.Commands.Any(static c => c.Name == "entropy")) { - ulong count = ctx.Commands.Where(c => c.Name == "entropy" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "entropy" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "entropy" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "entropy" && !c.Synchronized); EntropyVisible = true; EntropyText = string.Format(UI.You_have_called_the_Entropy_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "formats")) + if(ctx.Commands.Any(static c => c.Name == "formats")) { - ulong count = ctx.Commands.Where(c => c.Name == "formats" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "formats" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "formats" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "formats" && !c.Synchronized); FormatsCommandVisible = true; FormatsCommandText = string.Format(UI.You_have_called_the_Formats_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "image-info")) + if(ctx.Commands.Any(static c => c.Name == "image-info")) { - ulong count = ctx.Commands.Where(c => c.Name == "image-info" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "image-info" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "image-info" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "image-info" && !c.Synchronized); ImageInfoVisible = true; ImageInfoText = string.Format(UI.You_have_called_the_Image_Info_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "media-info")) + if(ctx.Commands.Any(static c => c.Name == "media-info")) { - ulong count = ctx.Commands.Where(c => c.Name == "media-info" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "media-info" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "media-info" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "media-info" && !c.Synchronized); MediaInfoVisible = true; MediaInfoText = string.Format(UI.You_have_called_the_Media_Info_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "media-scan")) + if(ctx.Commands.Any(static c => c.Name == "media-scan")) { - ulong count = ctx.Commands.Where(c => c.Name == "media-scan" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "media-scan" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "media-scan" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "media-scan" && !c.Synchronized); MediaScanVisible = true; MediaScanText = string.Format(UI.You_have_called_the_Media_Scan_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "printhex")) + if(ctx.Commands.Any(static c => c.Name == "printhex")) { - ulong count = ctx.Commands.Where(c => c.Name == "printhex" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "printhex" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "printhex" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "printhex" && !c.Synchronized); PrintHexVisible = true; PrintHexText = string.Format(UI.You_have_called_the_Print_Hex_command_0_times, count); } - if(ctx.Commands.Any(c => c.Name == "verify")) + if(ctx.Commands.Any(static c => c.Name == "verify")) { - ulong count = ctx.Commands.Where(c => c.Name == "verify" && c.Synchronized) - .Select(c => c.Count) + ulong count = ctx.Commands.Where(static c => c.Name == "verify" && c.Synchronized) + .Select(static c => c.Count) .FirstOrDefault(); - count += (ulong)ctx.Commands.LongCount(c => c.Name == "verify" && !c.Synchronized); + count += (ulong)ctx.Commands.LongCount(static c => c.Name == "verify" && !c.Synchronized); VerifyVisible = true; VerifyText = string.Format(UI.You_have_called_the_Verify_command_0_times, count); @@ -383,10 +383,10 @@ public sealed partial class StatisticsViewModel : ViewModelBase { FiltersVisible = true; - foreach(string nvs in ctx.Filters.Select(n => n.Name).Distinct()) + foreach(string nvs in ctx.Filters.Select(static n => n.Name).Distinct()) { ulong count = ctx.Filters.Where(c => c.Name == nvs && c.Synchronized) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.Filters.LongCount(c => c.Name == nvs && !c.Synchronized); @@ -403,10 +403,10 @@ public sealed partial class StatisticsViewModel : ViewModelBase { FormatsVisible = true; - foreach(string nvs in ctx.MediaFormats.Select(n => n.Name).Distinct()) + foreach(string nvs in ctx.MediaFormats.Select(static n => n.Name).Distinct()) { ulong count = ctx.MediaFormats.Where(c => c.Name == nvs && c.Synchronized) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.MediaFormats.LongCount(c => c.Name == nvs && !c.Synchronized); @@ -423,10 +423,10 @@ public sealed partial class StatisticsViewModel : ViewModelBase { PartitionsVisible = true; - foreach(string nvs in ctx.Partitions.Select(n => n.Name).Distinct()) + foreach(string nvs in ctx.Partitions.Select(static n => n.Name).Distinct()) { ulong count = ctx.Partitions.Where(c => c.Name == nvs && c.Synchronized) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.Partitions.LongCount(c => c.Name == nvs && !c.Synchronized); @@ -443,10 +443,10 @@ public sealed partial class StatisticsViewModel : ViewModelBase { FilesystemsVisible = true; - foreach(string nvs in ctx.Filesystems.Select(n => n.Name).Distinct()) + foreach(string nvs in ctx.Filesystems.Select(static n => n.Name).Distinct()) { ulong count = ctx.Filesystems.Where(c => c.Name == nvs && c.Synchronized) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.Filesystems.LongCount(c => c.Name == nvs && !c.Synchronized); @@ -463,10 +463,10 @@ public sealed partial class StatisticsViewModel : ViewModelBase { DevicesVisible = true; - foreach(DeviceStat ds in ctx.SeenDevices.OrderBy(n => n.Manufacturer) - .ThenBy(n => n.Manufacturer) - .ThenBy(n => n.Revision) - .ThenBy(n => n.Bus)) + foreach(DeviceStat ds in ctx.SeenDevices.OrderBy(static n => n.Manufacturer) + .ThenBy(static n => n.Manufacturer) + .ThenBy(static n => n.Revision) + .ThenBy(static n => n.Bus)) { Devices.Add(new DeviceStatsModel { @@ -482,10 +482,10 @@ public sealed partial class StatisticsViewModel : ViewModelBase MediasVisible = true; - foreach(string media in ctx.Medias.OrderBy(ms => ms.Type).Select(ms => ms.Type).Distinct()) + foreach(string media in ctx.Medias.OrderBy(static ms => ms.Type).Select(static ms => ms.Type).Distinct()) { ulong count = ctx.Medias.Where(c => c.Type == media && c.Synchronized && c.Real) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.Medias.LongCount(c => c.Type == media && !c.Synchronized && c.Real); @@ -501,7 +501,7 @@ public sealed partial class StatisticsViewModel : ViewModelBase } count = ctx.Medias.Where(c => c.Type == media && c.Synchronized && !c.Real) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.Medias.LongCount(c => c.Type == media && !c.Synchronized && !c.Real); diff --git a/Aaru.Gui/ViewModels/Panels/SubdirectoryViewModel.cs b/Aaru.Gui/ViewModels/Panels/SubdirectoryViewModel.cs index a214a222c..bf8f5ebce 100644 --- a/Aaru.Gui/ViewModels/Panels/SubdirectoryViewModel.cs +++ b/Aaru.Gui/ViewModels/Panels/SubdirectoryViewModel.cs @@ -164,7 +164,7 @@ public sealed class SubdirectoryViewModel filename.Contains('|') || filename.Contains('?') || filename.Contains('*') || - filename.Any(c => c < 32) || + filename.Any(static c => c < 32) || filename.Equals("CON", StringComparison.InvariantCultureIgnoreCase) || filename.Equals("PRN", StringComparison.InvariantCultureIgnoreCase) || filename.Equals("AUX", StringComparison.InvariantCultureIgnoreCase) || diff --git a/Aaru.Gui/ViewModels/Tabs/ScsiInfoViewModel.cs b/Aaru.Gui/ViewModels/Tabs/ScsiInfoViewModel.cs index 46e246345..1ca8ac068 100644 --- a/Aaru.Gui/ViewModels/Tabs/ScsiInfoViewModel.cs +++ b/Aaru.Gui/ViewModels/Tabs/ScsiInfoViewModel.cs @@ -98,7 +98,8 @@ public sealed partial class ScsiInfoViewModel : ViewModelBase if(scsiMode.Value.Pages != null) { - foreach(Modes.ModePage page in scsiMode.Value.Pages.OrderBy(t => t.Page).ThenBy(t => t.Subpage)) + foreach(Modes.ModePage page in scsiMode.Value.Pages.OrderBy(static t => t.Page) + .ThenBy(static t => t.Subpage)) { string pageNumberText = page.Subpage == 0 ? string.Format(UI.MODE_0, page.Page) @@ -437,7 +438,7 @@ public sealed partial class ScsiInfoViewModel : ViewModelBase if(scsiEvpdPages != null) { - foreach(KeyValuePair page in scsiEvpdPages.OrderBy(t => t.Key)) + foreach(KeyValuePair page in scsiEvpdPages.OrderBy(static t => t.Key)) { var evpdPageTitle = ""; string evpdDecodedPage; diff --git a/Aaru.Gui/ViewModels/Windows/ImageConvertViewModel.cs b/Aaru.Gui/ViewModels/Windows/ImageConvertViewModel.cs index 01b8ff6d5..15b3c44d7 100644 --- a/Aaru.Gui/ViewModels/Windows/ImageConvertViewModel.cs +++ b/Aaru.Gui/ViewModels/Windows/ImageConvertViewModel.cs @@ -871,7 +871,8 @@ public sealed partial class ImageConvertViewModel : ViewModelBase HashSet subchannelExtents = []; Dictionary smallestPregapLbaPerTrack = []; - foreach(SectorTagType tag in _inputFormat.Info.ReadableSectorTags.Where(t => t == SectorTagType.CdTrackIsrc) + foreach(SectorTagType tag in _inputFormat.Info.ReadableSectorTags + .Where(static t => t == SectorTagType.CdTrackIsrc) .Order()) { foreach(Track track in inputOptical.Tracks) @@ -885,7 +886,7 @@ public sealed partial class ImageConvertViewModel : ViewModelBase } foreach(SectorTagType tag in _inputFormat.Info.ReadableSectorTags - .Where(t => t == SectorTagType.CdTrackFlags) + .Where(static t => t == SectorTagType.CdTrackFlags) .Order()) { foreach(Track track in inputOptical.Tracks) diff --git a/Aaru.Gui/ViewModels/Windows/SplashWindowViewModel.cs b/Aaru.Gui/ViewModels/Windows/SplashWindowViewModel.cs index 8e7145abc..d5b688e8e 100644 --- a/Aaru.Gui/ViewModels/Windows/SplashWindowViewModel.cs +++ b/Aaru.Gui/ViewModels/Windows/SplashWindowViewModel.cs @@ -147,16 +147,16 @@ public sealed partial class SplashWindowViewModel(SplashWindow view) : ViewModel // Remove duplicates foreach(var duplicate in ctx.SeenDevices.AsEnumerable() - .GroupBy(a => new + .GroupBy(static a => new { a.Manufacturer, a.Model, a.Revision, a.Bus }) - .Where(a => a.Count() > 1) + .Where(static a => a.Count() > 1) .Distinct() - .Select(a => a.Key)) + .Select(static a => a.Key)) { ctx.RemoveRange(ctx.SeenDevices .Where(d => d.Manufacturer == duplicate.Manufacturer && @@ -167,9 +167,9 @@ public sealed partial class SplashWindowViewModel(SplashWindow view) : ViewModel } // Remove nulls - ctx.RemoveRange(ctx.SeenDevices.Where(d => d.Manufacturer == null && - d.Model == null && - d.Revision == null)); + ctx.RemoveRange(ctx.SeenDevices.Where(static d => d.Manufacturer == null && + d.Model == null && + d.Revision == null)); ctx.SaveChanges(); diff --git a/Aaru.Helpers/ArrayIsEmpty.cs b/Aaru.Helpers/ArrayIsEmpty.cs index ae40f11a5..0f7cdeefa 100644 --- a/Aaru.Helpers/ArrayIsEmpty.cs +++ b/Aaru.Helpers/ArrayIsEmpty.cs @@ -40,10 +40,10 @@ public static partial class ArrayHelpers /// Checks if an array is null, filled with the NULL byte (0x00) or ASCII whitespace (0x20) /// Array /// True if null or whitespace - public static bool ArrayIsNullOrWhiteSpace(byte[] array) => array?.All(b => b is 0x00 or 0x20) != false; + public static bool ArrayIsNullOrWhiteSpace(byte[] array) => array?.All(static b => b is 0x00 or 0x20) != false; /// Checks if an array is null or filled with the NULL byte (0x00) /// Array /// True if null - public static bool ArrayIsNullOrEmpty(byte[] array) => array?.All(b => b == 0x00) != false; + public static bool ArrayIsNullOrEmpty(byte[] array) => array?.All(static b => b == 0x00) != false; } \ No newline at end of file diff --git a/Aaru.Helpers/DirColorsParser.cs b/Aaru.Helpers/DirColorsParser.cs index f3f251d6c..ce4558837 100644 --- a/Aaru.Helpers/DirColorsParser.cs +++ b/Aaru.Helpers/DirColorsParser.cs @@ -41,7 +41,7 @@ namespace Aaru.Helpers; /// public sealed class DirColorsParser { - private static readonly Lazy _instance = new(() => new DirColorsParser()); + private static readonly Lazy _instance = new(static () => new DirColorsParser()); private DirColorsParser() { @@ -83,13 +83,13 @@ public sealed class DirColorsParser sgr = parts[1]; } - if(!pattern.StartsWith("DIR", StringComparison.OrdinalIgnoreCase) && - pattern is not ['.', ..] && + if(!pattern.StartsWith("DIR", StringComparison.OrdinalIgnoreCase) && + pattern is not ['.', ..] && !pattern.StartsWith("NORM", StringComparison.OrdinalIgnoreCase)) continue; // ( DIR, FILE, LINK, EXECUTABLE, or SUID) // Build ANSI escape sequence - string ansi = $"\e[{sgr}m"; + var ansi = $"\e[{sgr}m"; string hex; try diff --git a/Aaru.Images/A2R/Read.cs b/Aaru.Images/A2R/Read.cs index 689bc37b2..e77285730 100644 --- a/Aaru.Images/A2R/Read.cs +++ b/Aaru.Images/A2R/Read.cs @@ -290,8 +290,8 @@ public sealed partial class A2R string[] metaFields = metaData.Split('\n'); - foreach(string[] keyValue in metaFields.Select(field => field.Split('\t')) - .Where(keyValue => keyValue.Length == 2)) + foreach(string[] keyValue in metaFields.Select(static field => field.Split('\t')) + .Where(static keyValue => keyValue.Length == 2)) _meta.Add(keyValue[0], keyValue[1]); if(_meta.TryGetValue("image_date", out string imageDate)) diff --git a/Aaru.Images/AaruFormat/DumpHardware.cs b/Aaru.Images/AaruFormat/DumpHardware.cs index 5352ff7ae..992ea3194 100644 --- a/Aaru.Images/AaruFormat/DumpHardware.cs +++ b/Aaru.Images/AaruFormat/DumpHardware.cs @@ -14,6 +14,16 @@ namespace Aaru.Images; public sealed partial class AaruFormat { + // AARU_EXPORT int32_t AARU_CALL aaruf_set_dumphw(void *context, uint8_t *data, size_t length) + [LibraryImport("libaaruformat", EntryPoint = "aaruf_set_dumphw", SetLastError = true)] + [UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])] + private static partial Status aaruf_set_dumphw(IntPtr context, [In] byte[] data, nuint length); + + // AARU_EXPORT int32_t AARU_CALL aaruf_get_dumphw(void *context, uint8_t *buffer, size_t *length) + [LibraryImport("libaaruformat", EntryPoint = "aaruf_get_dumphw", SetLastError = true)] + [UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])] + private static partial Status aaruf_get_dumphw(IntPtr context, byte[] buffer, ref nuint length); + #region IWritableOpticalImage Members /// @@ -283,7 +293,7 @@ public sealed partial class AaruFormat }); } - dump.Extents = dump.Extents.OrderBy(t => t.Start).ToList(); + dump.Extents = dump.Extents.OrderBy(static t => t.Start).ToList(); if(dump.Extents.Count > 0) dumpHardware.Add(dump); } @@ -295,14 +305,4 @@ public sealed partial class AaruFormat } #endregion - - // AARU_EXPORT int32_t AARU_CALL aaruf_set_dumphw(void *context, uint8_t *data, size_t length) - [LibraryImport("libaaruformat", EntryPoint = "aaruf_set_dumphw", SetLastError = true)] - [UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])] - private static partial Status aaruf_set_dumphw(IntPtr context, [In] byte[] data, nuint length); - - // AARU_EXPORT int32_t AARU_CALL aaruf_get_dumphw(void *context, uint8_t *buffer, size_t *length) - [LibraryImport("libaaruformat", EntryPoint = "aaruf_get_dumphw", SetLastError = true)] - [UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])] - private static partial Status aaruf_get_dumphw(IntPtr context, byte[] buffer, ref nuint length); } \ No newline at end of file diff --git a/Aaru.Images/AaruFormat/Optical.cs b/Aaru.Images/AaruFormat/Optical.cs index 46fb39c9d..9e984dc9f 100644 --- a/Aaru.Images/AaruFormat/Optical.cs +++ b/Aaru.Images/AaruFormat/Optical.cs @@ -113,7 +113,7 @@ public sealed partial class AaruFormat if(_tracks is null) return _tracks; - foreach(Track track in Tracks.OrderBy(t => t.StartSector)) + foreach(Track track in Tracks.OrderBy(static t => t.StartSector)) { switch(track.Sequence) { @@ -123,7 +123,7 @@ public sealed partial class AaruFormat track.Indexes[1] = (int)track.StartSector; continue; - case 1 when Tracks.All(t => t.Sequence != 0): + case 1 when Tracks.All(static t => t.Sequence != 0): track.Pregap = 150; track.Indexes[0] = -150; track.Indexes[1] = (int)track.StartSector; @@ -171,7 +171,7 @@ public sealed partial class AaruFormat List sessions = []; - for(var i = 1; i <= Tracks.Max(t => t.Session); i++) + for(var i = 1; i <= Tracks.Max(static t => t.Session); i++) { sessions.Add(new Session { diff --git a/Aaru.Images/AaruFormat/Properties.cs b/Aaru.Images/AaruFormat/Properties.cs index 36e58cba4..b46d403c9 100644 --- a/Aaru.Images/AaruFormat/Properties.cs +++ b/Aaru.Images/AaruFormat/Properties.cs @@ -77,7 +77,7 @@ public sealed partial class AaruFormat ulong currentTrackOffset = 0; List partitions = []; - foreach(Track track in Tracks.OrderBy(t => t.StartSector)) + foreach(Track track in Tracks.OrderBy(static t => t.StartSector)) { partitions.Add(new Partition { diff --git a/Aaru.Images/AaruFormat/Write.cs b/Aaru.Images/AaruFormat/Write.cs index b047a01f1..d0afbaef8 100644 --- a/Aaru.Images/AaruFormat/Write.cs +++ b/Aaru.Images/AaruFormat/Write.cs @@ -190,7 +190,7 @@ public sealed partial class AaruFormat { // Convert options dictionary to string format string optionsString = options is { Count: > 0 } - ? string.Join(";", options.Select(kvp => $"{kvp.Key}={kvp.Value}")) + ? string.Join(";", options.Select(static kvp => $"{kvp.Key}={kvp.Value}")) : null; // Create new image @@ -288,8 +288,9 @@ public sealed partial class AaruFormat // Convert array of booleans to List of enums for(nuint i = 0; i < sizet_length; i++) - if(sectorTagsBuffer[i] != 0) - _imageInfo.ReadableSectorTags.Add((SectorTagType)i); + { + if(sectorTagsBuffer[i] != 0) _imageInfo.ReadableSectorTags.Add((SectorTagType)i); + } sizet_length = 0; ret = aaruf_get_readable_media_tags(_context, null, ref sizet_length); @@ -313,8 +314,9 @@ public sealed partial class AaruFormat // Convert array of booleans to List of enums for(nuint i = 0; i < sizet_length; i++) - if(mediaTagsBuffer[i] != 0) - _imageInfo.ReadableMediaTags.Add((MediaTagType)i); + { + if(mediaTagsBuffer[i] != 0) _imageInfo.ReadableMediaTags.Add((MediaTagType)i); + } ret = aaruf_get_media_sequence(_context, out int sequence, out int lastSequence); diff --git a/Aaru.Images/Alcohol120/Write.cs b/Aaru.Images/Alcohol120/Write.cs index 3dc7e321d..26bed6285 100644 --- a/Aaru.Images/Alcohol120/Write.cs +++ b/Aaru.Images/Alcohol120/Write.cs @@ -482,7 +482,7 @@ public sealed partial class Alcohol120 if(!_isDvd) { - CommonTypes.Structs.Track[] tmpTracks = tracks.OrderBy(t => t.Sequence).ToArray(); + CommonTypes.Structs.Track[] tmpTracks = tracks.OrderBy(static t => t.Sequence).ToArray(); for(var i = 1; i < tmpTracks.Length; i++) { @@ -506,7 +506,7 @@ public sealed partial class Alcohol120 tracks = tmpTracks.ToList(); } - foreach(CommonTypes.Structs.Track track in tracks.OrderBy(t => t.Sequence)) + foreach(CommonTypes.Structs.Track track in tracks.OrderBy(static t => t.Sequence)) { uint subchannelSize; @@ -550,7 +550,7 @@ public sealed partial class Alcohol120 byte sessions = byte.MinValue; - foreach(CommonTypes.Structs.Track t in _writingTracks.Where(t => t.Session > byte.MinValue)) + foreach(CommonTypes.Structs.Track t in _writingTracks.Where(static t => t.Session > byte.MinValue)) sessions = (byte)t.Session; var header = new Header @@ -573,7 +573,7 @@ public sealed partial class Alcohol120 _alcSessions = new Dictionary(); _alcTracks = new Dictionary(); _alcToc = new Dictionary>(); - _writingTracks = _writingTracks.OrderBy(t => t.Session).ThenBy(t => t.Sequence).ToList(); + _writingTracks = _writingTracks.OrderBy(static t => t.Session).ThenBy(static t => t.Sequence).ToList(); _alcTrackExtras = new Dictionary(); long currentTrackOffset = header.sessionOffset + Marshal.SizeOf() * sessions; @@ -740,10 +740,10 @@ public sealed partial class Alcohol120 unknown2 = new byte[24], psec = (byte)(_imageInfo.MediaType == MediaType.CDI ? 0x10 - : _writingTracks.Any(t => t.Type is TrackType - .CdMode2Form1 - or TrackType.CdMode2Form2 - or TrackType.CdMode2Formless) + : _writingTracks.Any(static t => + t.Type is TrackType.CdMode2Form1 + or TrackType.CdMode2Form2 + or TrackType.CdMode2Formless) ? 0x20 : 0), extraOffset = (uint)currentExtraOffset @@ -781,7 +781,7 @@ public sealed partial class Alcohol120 } foreach(CommonTypes.Structs.Track track in _writingTracks.Where(t => t.Session == i) - .OrderBy(t => t.Sequence)) + .OrderBy(static t => t.Sequence)) { var alcTrk = new Track(); @@ -911,7 +911,10 @@ public sealed partial class Alcohol120 LbaToMsf(_writingTracks.First(t => t.Session == i + 1).StartSector - 150); (byte minute, byte second, byte frame) leadoutPmsf = - LbaToMsf(_writingTracks.OrderBy(t => t.Session).ThenBy(t => t.Sequence).Last().StartSector); + LbaToMsf(_writingTracks.OrderBy(static t => t.Session) + .ThenBy(static t => t.Sequence) + .Last() + .StartSector); thisSessionTracks.Add(0xB0, new Track diff --git a/Aaru.Images/BlindWrite4/Read.cs b/Aaru.Images/BlindWrite4/Read.cs index 5548ebce4..b9c8055f8 100644 --- a/Aaru.Images/BlindWrite4/Read.cs +++ b/Aaru.Images/BlindWrite4/Read.cs @@ -744,9 +744,10 @@ public sealed partial class BlindWrite4 } // As long as subchannel is written for any track, it is present for all tracks - if(Tracks.Any(t => t.SubchannelType == TrackSubchannelType.Packed)) - foreach(Track track in Tracks) - track.SubchannelType = TrackSubchannelType.Packed; + if(Tracks.Any(static t => t.SubchannelType == TrackSubchannelType.Packed)) + { + foreach(Track track in Tracks) track.SubchannelType = TrackSubchannelType.Packed; + } _imageInfo.MediaType = MediaType.CD; diff --git a/Aaru.Images/BlindWrite5/Read.cs b/Aaru.Images/BlindWrite5/Read.cs index b200b1906..856b9d37a 100644 --- a/Aaru.Images/BlindWrite5/Read.cs +++ b/Aaru.Images/BlindWrite5/Read.cs @@ -840,10 +840,11 @@ public sealed partial class BlindWrite5 .ToList(); if(fileCharsForThisTrack.Count == 0 && - _filePaths.Any(f => Path.GetExtension(f.FilePath).ToLowerInvariant() == ".b00")) + _filePaths.Any(static f => Path.GetExtension(f.FilePath).ToLowerInvariant() == ".b00")) { DataFileCharacteristics splitStartChars = - _filePaths.FirstOrDefault(f => Path.GetExtension(f.FilePath).ToLowerInvariant() == ".b00"); + _filePaths.FirstOrDefault(static f => Path.GetExtension(f.FilePath).ToLowerInvariant() == + ".b00"); string filename = Path.GetFileNameWithoutExtension(splitStartChars.FilePath); var lowerCaseExtension = false; diff --git a/Aaru.Images/CDRDAO/Properties.cs b/Aaru.Images/CDRDAO/Properties.cs index a86f20476..3de0ab9a9 100644 --- a/Aaru.Images/CDRDAO/Properties.cs +++ b/Aaru.Images/CDRDAO/Properties.cs @@ -84,8 +84,8 @@ public sealed partial class Cdrdao { get { - Track firstTrack = Tracks.First(t => t.Sequence == Tracks.Min(m => m.Sequence)); - Track lastTrack = Tracks.First(t => t.Sequence == Tracks.Max(m => m.Sequence)); + Track firstTrack = Tracks.First(t => t.Sequence == Tracks.Min(static m => m.Sequence)); + Track lastTrack = Tracks.First(t => t.Sequence == Tracks.Max(static m => m.Sequence)); return [ @@ -160,13 +160,13 @@ public sealed partial class Cdrdao { aaruTrack.Indexes[0] = -150; - foreach(KeyValuePair idx in cdrTrack.Indexes.OrderBy(i => i.Key)) + foreach(KeyValuePair idx in cdrTrack.Indexes.OrderBy(static i => i.Key)) aaruTrack.Indexes[(ushort)idx.Key] = (int)idx.Value; } } else { - foreach(KeyValuePair idx in cdrTrack.Indexes.OrderBy(i => i.Key)) + foreach(KeyValuePair idx in cdrTrack.Indexes.OrderBy(static i => i.Key)) aaruTrack.Indexes[(ushort)idx.Key] = (int)idx.Value; } diff --git a/Aaru.Images/CDRDAO/Write.cs b/Aaru.Images/CDRDAO/Write.cs index 2091488ab..e7dba950a 100644 --- a/Aaru.Images/CDRDAO/Write.cs +++ b/Aaru.Images/CDRDAO/Write.cs @@ -501,14 +501,13 @@ public sealed partial class Cdrdao } if(_writingTracks != null && _writingStreams != null) - { - foreach(FileStream oldTrack in _writingStreams.Select(t => t.Value).Distinct()) oldTrack.Close(); - } + foreach(FileStream oldTrack in _writingStreams.Select(static t => t.Value).Distinct()) + oldTrack.Close(); ulong currentOffset = 0; _writingTracks = []; - foreach(Track track in tracks.OrderBy(t => t.Sequence)) + foreach(Track track in tracks.OrderBy(static t => t.Sequence)) { if(track.SubchannelType is TrackSubchannelType.Q16 or TrackSubchannelType.Q16Interleaved) { @@ -582,12 +581,12 @@ public sealed partial class Cdrdao _writingStreams.First().Value.Close(); } - bool data = _writingTracks.Count(t => t.Type != TrackType.Audio) > 0; + bool data = _writingTracks.Count(static t => t.Type != TrackType.Audio) > 0; bool mode2 = - _writingTracks.Count(t => t.Type is TrackType.CdMode2Form1 - or TrackType.CdMode2Form2 - or TrackType.CdMode2Formless) > + _writingTracks.Count(static t => t.Type is TrackType.CdMode2Form1 + or TrackType.CdMode2Form2 + or TrackType.CdMode2Formless) > 0; if(mode2) @@ -654,7 +653,8 @@ public sealed partial class Cdrdao (ulong)(track.RawBytesPerSector + (track.SubchannelType != TrackSubchannelType.None ? 96 : 0))); - foreach(KeyValuePair index in track.Indexes.OrderBy(i => i.Key).Where(i => i.Key > 1)) + foreach(KeyValuePair index in track.Indexes.OrderBy(static i => i.Key) + .Where(static i => i.Key > 1)) { msf = LbaToMsf((ulong)index.Value - (track.Pregap + track.StartSector)); diff --git a/Aaru.Images/CDRWin/Read.cs b/Aaru.Images/CDRWin/Read.cs index 9a9da812d..af1f7c198 100644 --- a/Aaru.Images/CDRWin/Read.cs +++ b/Aaru.Images/CDRWin/Read.cs @@ -346,7 +346,7 @@ public sealed partial class CdrWin Start = extentStart, End = extentEnd } - }.OrderBy(e => e.Start) + }.OrderBy(static e => e.Start) .ToList(); } } @@ -1021,7 +1021,7 @@ public sealed partial class CdrWin else sessions[s - 1].EndSector = sessions[s - 1].StartSector + sessionSectors - 1; - CdrWinTrack firstSessionTrack = cueTracks.OrderBy(t => t.Sequence).First(t => t.Session == s); + CdrWinTrack firstSessionTrack = cueTracks.OrderBy(static t => t.Sequence).First(t => t.Session == s); firstSessionTrack.Indexes.TryGetValue(0, out firstSessionTrack.Pregap); @@ -1364,7 +1364,7 @@ public sealed partial class CdrWin for(var s = 1; s <= sessions.Length; s++) _discImage.Sessions.Add(sessions[s - 1]); - _imageInfo.Sectors = _discImage.Sessions.MaxBy(s => s.EndSector).EndSector + 1; + _imageInfo.Sectors = _discImage.Sessions.MaxBy(static s => s.EndSector).EndSector + 1; AaruLogging.Debug(MODULE_NAME, Localization.Session_information); @@ -1613,7 +1613,7 @@ public sealed partial class CdrWin return ErrorNumber.InvalidArgument; } - if(_discImage.Tracks.All(t => t.Isrc == null)) + if(_discImage.Tracks.All(static t => t.Isrc == null)) _imageInfo.ReadableSectorTags.Remove(SectorTagType.CdTrackIsrc); if(_isCd) return ErrorNumber.NoError; @@ -1997,7 +1997,7 @@ public sealed partial class CdrWin case CDRWIN_TRACK_TYPE_MODE2_FORM2: if(tag != SectorTagType.CdSectorSubchannel || !_imageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubchannel) || - _discImage.Tracks.All(t => t.TrackType != CDRWIN_TRACK_TYPE_CDG)) + _discImage.Tracks.All(static t => t.TrackType != CDRWIN_TRACK_TYPE_CDG)) return ErrorNumber.NoData; buffer = new byte[length * 96]; @@ -2017,7 +2017,7 @@ public sealed partial class CdrWin case SectorTagType.CdSectorEccQ: if(tag != SectorTagType.CdSectorSubchannel || !_imageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubchannel) || - _discImage.Tracks.All(t => t.TrackType != CDRWIN_TRACK_TYPE_CDG)) + _discImage.Tracks.All(static t => t.TrackType != CDRWIN_TRACK_TYPE_CDG)) return ErrorNumber.NotSupported; buffer = new byte[length * 96]; @@ -2070,7 +2070,7 @@ public sealed partial class CdrWin case SectorTagType.CdSectorSubHeader: if(tag != SectorTagType.CdSectorSubchannel || !_imageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubchannel) || - _discImage.Tracks.All(t => t.TrackType != CDRWIN_TRACK_TYPE_CDG)) + _discImage.Tracks.All(static t => t.TrackType != CDRWIN_TRACK_TYPE_CDG)) return ErrorNumber.NotSupported; buffer = new byte[length * 96]; @@ -2455,7 +2455,7 @@ public sealed partial class CdrWin /// public List GetSessionTracks(ushort session) => - Tracks.Where(t => t.Session == session).OrderBy(t => t.Sequence).ToList(); + Tracks.Where(t => t.Session == session).OrderBy(static t => t.Sequence).ToList(); #endregion } \ No newline at end of file diff --git a/Aaru.Images/CDRWin/Verify.cs b/Aaru.Images/CDRWin/Verify.cs index fe09c97aa..2f640ee1e 100644 --- a/Aaru.Images/CDRWin/Verify.cs +++ b/Aaru.Images/CDRWin/Verify.cs @@ -56,8 +56,8 @@ public sealed partial class CdrWin long readBytes; byte[] verifyBytes; - IFilter[] filters = _discImage.Tracks.OrderBy(t => t.Sequence) - .Select(t => t.TrackFile.DataFilter) + IFilter[] filters = _discImage.Tracks.OrderBy(static t => t.Sequence) + .Select(static t => t.TrackFile.DataFilter) .Distinct() .ToArray(); @@ -65,7 +65,7 @@ public sealed partial class CdrWin { var ctx = new Sha1Context(); - foreach(Stream stream in filters.Select(filter => filter.GetDataForkStream())) + foreach(Stream stream in filters.Select(static filter => filter.GetDataForkStream())) { readBytes = 0; verifyBytes = new byte[verifySize]; @@ -93,7 +93,7 @@ public sealed partial class CdrWin { var ctx = new Md5Context(); - foreach(Stream stream in filters.Select(filter => filter.GetDataForkStream())) + foreach(Stream stream in filters.Select(static filter => filter.GetDataForkStream())) { readBytes = 0; verifyBytes = new byte[verifySize]; @@ -121,7 +121,7 @@ public sealed partial class CdrWin { var ctx = new Crc32Context(); - foreach(Stream stream in filters.Select(filter => filter.GetDataForkStream())) + foreach(Stream stream in filters.Select(static filter => filter.GetDataForkStream())) { readBytes = 0; verifyBytes = new byte[verifySize]; diff --git a/Aaru.Images/CDRWin/Write.cs b/Aaru.Images/CDRWin/Write.cs index 084a13287..c151f5f20 100644 --- a/Aaru.Images/CDRWin/Write.cs +++ b/Aaru.Images/CDRWin/Write.cs @@ -436,13 +436,12 @@ public sealed partial class CdrWin } if(_writingTracks != null && _writingStreams != null) - { - foreach(FileStream oldTrack in _writingStreams.Select(t => t.Value).Distinct()) oldTrack.Close(); - } + foreach(FileStream oldTrack in _writingStreams.Select(static t => t.Value).Distinct()) + oldTrack.Close(); _writingTracks = []; - foreach(Track track in tracks.OrderBy(t => t.Sequence)) + foreach(Track track in tracks.OrderBy(static t => t.Sequence)) { track.File = _separateTracksWriting ? _writingBaseName + $"_track{track.Sequence:D2}.bin" @@ -530,7 +529,7 @@ public sealed partial class CdrWin if(DumpHardware != null) { foreach(var dumpData in from dump in DumpHardware - from extent in dump.Extents.OrderBy(e => e.Start) + from extent in dump.Extents.OrderBy(static e => e.Start) select new { dump.Manufacturer, @@ -608,7 +607,7 @@ public sealed partial class CdrWin if(track.Pregap > 0 && _isCd) { - if(track.Sequence > _writingTracks.Where(t => t.Session == track.Session).Min(t => t.Sequence)) + if(track.Sequence > _writingTracks.Where(t => t.Session == track.Session).Min(static t => t.Sequence)) { _descriptorStream.WriteLine(" INDEX {0:D2} {1:D2}:{2:D2}:{3:D2}", 0, @@ -636,7 +635,7 @@ public sealed partial class CdrWin if(_isCd) { - foreach(KeyValuePair index in track.Indexes.Where(i => i.Key > 1)) + foreach(KeyValuePair index in track.Indexes.Where(static i => i.Key > 1)) { msf = LbaToMsf((ulong)index.Value); @@ -648,11 +647,12 @@ public sealed partial class CdrWin } } - ushort lastSession = _writingTracks.Max(t => t.Session); + ushort lastSession = _writingTracks.Max(static t => t.Session); if(currentSession >= lastSession) continue; - Track lastTrackInSession = _writingTracks.Where(t => t.Session == currentSession).MaxBy(t => t.Sequence); + Track lastTrackInSession = + _writingTracks.Where(t => t.Session == currentSession).MaxBy(static t => t.Sequence); if(track.Sequence != lastTrackInSession.Sequence) continue; diff --git a/Aaru.Images/CPCDSK/Read.cs b/Aaru.Images/CPCDSK/Read.cs index 924065e30..e04913721 100644 --- a/Aaru.Images/CPCDSK/Read.cs +++ b/Aaru.Images/CPCDSK/Read.cs @@ -63,9 +63,8 @@ public sealed partial class Cpcdsk int pos; for(pos = 0; pos < 254; pos++) - { - if(headerB[pos] == 0x0D && headerB[pos + 1] == 0x0A) break; - } + if(headerB[pos] == 0x0D && headerB[pos + 1] == 0x0A) + break; if(pos >= 254) return ErrorNumber.InvalidArgument; @@ -270,7 +269,7 @@ public sealed partial class Cpcdsk thisTrackAddressMarks[(trackInfo.sectorsInfo[k - 1].id & 0x3F) - 1] = addressMark; } - foreach(KeyValuePair s in thisTrackSectors.OrderBy(k => k.Key)) + foreach(KeyValuePair s in thisTrackSectors.OrderBy(static k => k.Key)) { _sectors.Add(currentSector, s.Value); _addressMarks.Add(currentSector, s.Value); diff --git a/Aaru.Images/CloneCD/Read.cs b/Aaru.Images/CloneCD/Read.cs index 3dd736cb2..44081cf61 100644 --- a/Aaru.Images/CloneCD/Read.cs +++ b/Aaru.Images/CloneCD/Read.cs @@ -569,7 +569,7 @@ public sealed partial class CloneCd Tracks.Add(currentTrack); } - Track[] tmpTracks = Tracks.OrderBy(t => t.Sequence).ToArray(); + Track[] tmpTracks = Tracks.OrderBy(static t => t.Sequence).ToArray(); ulong currentDataOffset = 0; ulong currentSubchannelOffset = 0; @@ -616,8 +616,8 @@ public sealed partial class CloneCd if(trackIndexes.TryGetValue((byte)tmpTrack.Sequence, out Dictionary indexes)) { - foreach((byte index, int value) in indexes.OrderBy(i => i.Key) - .Where(trackIndex => trackIndex.Key > 1)) + foreach((byte index, int value) in indexes.OrderBy(static i => i.Key) + .Where(static trackIndex => trackIndex.Key > 1)) // Untested as of 20210711 tmpTrack.Indexes[index] = value; @@ -956,15 +956,15 @@ public sealed partial class CloneCd foreach(KeyValuePair kvp in _offsetMap.Where(kvp => sectorAddress >= kvp.Value) .SelectMany(_ => Tracks, - (kvp, track) => new + static (kvp, track) => new { kvp, track }) - .Where(t => t.track.Sequence == t.kvp.Key) + .Where(static t => t.track.Sequence == t.kvp.Key) .Where(t => sectorAddress - t.kvp.Value < t.track.EndSector - t.track.StartSector + 1) - .Select(t => t.kvp)) + .Select(static t => t.kvp)) return ReadSectorsTag(sectorAddress - kvp.Value, length, kvp.Key, tag, out buffer); return ErrorNumber.SectorNotFound; diff --git a/Aaru.Images/CloneCD/Write.cs b/Aaru.Images/CloneCD/Write.cs index 0d0a473aa..9ba2e01c5 100644 --- a/Aaru.Images/CloneCD/Write.cs +++ b/Aaru.Images/CloneCD/Write.cs @@ -285,7 +285,7 @@ public sealed partial class CloneCd Tracks = []; - foreach(Track track in tracks.OrderBy(t => t.Sequence)) + foreach(Track track in tracks.OrderBy(static t => t.Sequence)) { Track newTrack = track; diff --git a/Aaru.Images/GDI/Read.cs b/Aaru.Images/GDI/Read.cs index 94c866cd6..88c87b302 100644 --- a/Aaru.Images/GDI/Read.cs +++ b/Aaru.Images/GDI/Read.cs @@ -171,7 +171,7 @@ public sealed partial class Gdi { sessions[s].Sequence = 1; - foreach(GdiTrack trk in _discImage.Tracks.Where(trk => !trk.HighDensity)) + foreach(GdiTrack trk in _discImage.Tracks.Where(static trk => !trk.HighDensity)) { if(sessions[s].StartTrack == 0) sessions[s].StartTrack = trk.Sequence; @@ -189,7 +189,7 @@ public sealed partial class Gdi { sessions[s].Sequence = 2; - foreach(GdiTrack trk in _discImage.Tracks.Where(trk => trk.HighDensity)) + foreach(GdiTrack trk in _discImage.Tracks.Where(static trk => trk.HighDensity)) { if(sessions[s].StartTrack == 0) sessions[s].StartTrack = trk.Sequence; @@ -305,8 +305,8 @@ public sealed partial class Gdi _imageInfo.SectorSize = 2352; // All others - foreach(GdiTrack unused in - _discImage.Tracks.Where(track => (track.Flags & 0x4) == 0x4 && track.Bps == 2352)) + foreach(GdiTrack unused in _discImage.Tracks.Where(static track => + (track.Flags & 0x4) == 0x4 && track.Bps == 2352)) { _imageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); _imageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); diff --git a/Aaru.Images/KryoFlux/Read.cs b/Aaru.Images/KryoFlux/Read.cs index 99316dc53..b24448d22 100644 --- a/Aaru.Images/KryoFlux/Read.cs +++ b/Aaru.Images/KryoFlux/Read.cs @@ -176,7 +176,8 @@ public sealed partial class KryoFlux DateTime blockTime = DateTime.Now; var foundDate = false; - foreach(string[] kvp in lines.Select(line => line.Split('=')).Where(kvp => kvp.Length == 2)) + foreach(string[] kvp in lines.Select(static line => line.Split('=')) + .Where(static kvp => kvp.Length == 2)) { kvp[0] = kvp[0].Trim(); kvp[1] = kvp[1].Trim(); diff --git a/Aaru.Images/Nero/Read.cs b/Aaru.Images/Nero/Read.cs index 352c5662e..b1f40857a 100644 --- a/Aaru.Images/Nero/Read.cs +++ b/Aaru.Images/Nero/Read.cs @@ -1001,7 +1001,7 @@ public sealed partial class Nero if(_cuesheetV1?.Entries?.Count > 0) { foreach(CueEntryV1 entry in _cuesheetV1.Entries.Where(e => e.TrackNumber == neroTrack.Sequence) - .OrderBy(e => e.IndexNumber)) + .OrderBy(static e => e.IndexNumber)) { track.Indexes[entry.IndexNumber] = entry.Minute * 60 * 75 + entry.Second * 75 + entry.Frame - 150; @@ -1012,7 +1012,7 @@ public sealed partial class Nero else if(_cuesheetV2?.Entries?.Count > 0) { foreach(CueEntryV2 entry in _cuesheetV2.Entries.Where(e => e.TrackNumber == neroTrack.Sequence) - .OrderBy(e => e.IndexNumber)) + .OrderBy(static e => e.IndexNumber)) { track.Indexes[entry.IndexNumber] = entry.LbaStart; _trackFlags[entry.TrackNumber] = (byte)((entry.Mode & 0xF0) >> 4); @@ -1430,7 +1430,7 @@ public sealed partial class Nero Tracks.Count > 0xF && moreTracksThanSessionTracks && onlyOneSession && - Tracks.Any(t => t.Session > 0)) + Tracks.Any(static t => t.Session > 0)) { foreach(Track track in Tracks) track.Session = 1; diff --git a/Aaru.Images/VHD/Helpers.cs b/Aaru.Images/VHD/Helpers.cs index c9f8d8175..5f3f2cfa4 100644 --- a/Aaru.Images/VHD/Helpers.cs +++ b/Aaru.Images/VHD/Helpers.cs @@ -39,7 +39,7 @@ public sealed partial class Vhd { static uint VhdChecksum(IEnumerable data) { - uint checksum = data.Aggregate(0, (current, b) => current + b); + uint checksum = data.Aggregate(0, static (current, b) => current + b); return ~checksum; } diff --git a/Aaru.Images/ZZZRawImage/Properties.cs b/Aaru.Images/ZZZRawImage/Properties.cs index e5a15eaa7..53153a23e 100644 --- a/Aaru.Images/ZZZRawImage/Properties.cs +++ b/Aaru.Images/ZZZRawImage/Properties.cs @@ -169,8 +169,8 @@ public sealed partial class ZZZRawImage /// public IEnumerable SupportedMediaTags => _readWriteSidecars.Concat(_writeOnlySidecars) - .OrderBy(t => t.tag) - .Select(t => t.tag) + .OrderBy(static t => t.tag) + .Select(static t => t.tag) .ToArray(); /// diff --git a/Aaru.Images/ZZZRawImage/Write.cs b/Aaru.Images/ZZZRawImage/Write.cs index 049c725ec..135dfe5ff 100644 --- a/Aaru.Images/ZZZRawImage/Write.cs +++ b/Aaru.Images/ZZZRawImage/Write.cs @@ -293,7 +293,7 @@ public sealed partial class ZZZRawImage { string suffix = _readWriteSidecars.Concat(_writeOnlySidecars) .Where(t => t.tag == tag.Key) - .Select(t => t.name) + .Select(static t => t.name) .FirstOrDefault(); if(suffix == null) continue; diff --git a/Aaru.Partitions/Acorn.cs b/Aaru.Partitions/Acorn.cs index b4c911898..68646afa6 100644 --- a/Aaru.Partitions/Acorn.cs +++ b/Aaru.Partitions/Acorn.cs @@ -194,7 +194,7 @@ public sealed class Acorn : IPartition IcsTable table = Marshal.ByteArrayToStructureLittleEndian(sector); - foreach(IcsEntry entry in table.entries.Where(entry => entry.size != 0)) + foreach(IcsEntry entry in table.entries.Where(static entry => entry.size != 0)) { // FileCore partition Partition part; diff --git a/Aaru.Partitions/DEC.cs b/Aaru.Partitions/DEC.cs index a1cc7c75f..51c876db9 100644 --- a/Aaru.Partitions/DEC.cs +++ b/Aaru.Partitions/DEC.cs @@ -110,7 +110,7 @@ public sealed class DEC : IPartition Sequence = counter, Scheme = Name }) - .Where(part => part.Size > 0)) + .Where(static part => part.Size > 0)) { partitions.Add(part); counter++; diff --git a/Aaru.Partitions/GPT.cs b/Aaru.Partitions/GPT.cs index ef3a5b1bd..e42c8257c 100644 --- a/Aaru.Partitions/GPT.cs +++ b/Aaru.Partitions/GPT.cs @@ -186,8 +186,8 @@ public sealed class GuidPartitionTable : IPartition ulong pSeq = 0; - foreach(Entry entry in entries.Where(entry => entry.partitionType != Guid.Empty && - entry.partitionId != Guid.Empty)) + foreach(Entry entry in entries.Where(static entry => entry.partitionType != Guid.Empty && + entry.partitionId != Guid.Empty)) { AaruLogging.Debug(MODULE_NAME, "entry.partitionType = {0}", entry.partitionType); AaruLogging.Debug(MODULE_NAME, "entry.partitionId = {0}", entry.partitionId); diff --git a/Aaru.Partitions/Plan9.cs b/Aaru.Partitions/Plan9.cs index 96db0c55a..e533ac867 100644 --- a/Aaru.Partitions/Plan9.cs +++ b/Aaru.Partitions/Plan9.cs @@ -74,9 +74,9 @@ public sealed class Plan9 : IPartition // While all of Plan9 is supposedly UTF-8, it uses ASCII strcmp for reading its partition table string[] really = StringHandlers.CToString(sector).Split('\n'); - foreach(string[] tokens in really.TakeWhile(part => part.Length >= 5 && part[..5] == "part ") - .Select(part => part.Split(' ')) - .TakeWhile(tokens => tokens.Length == 4)) + foreach(string[] tokens in really.TakeWhile(static part => part.Length >= 5 && part[..5] == "part ") + .Select(static part => part.Split(' ')) + .TakeWhile(static tokens => tokens.Length == 4)) { if(!ulong.TryParse(tokens[2], out ulong start) || !ulong.TryParse(tokens[3], out ulong end)) break; diff --git a/Aaru.Tests.Devices/Main.cs b/Aaru.Tests.Devices/Main.cs index 0b82daa09..ad160a1a5 100644 --- a/Aaru.Tests.Devices/Main.cs +++ b/Aaru.Tests.Devices/Main.cs @@ -37,11 +37,11 @@ static partial class MainClass { public static void Main() { - AaruLogging.WriteLineEvent += Console.WriteLine; - AaruLogging.WriteEvent += Console.Write; - AaruLogging.ErrorEvent += Console.Error.WriteLine; - AaruLogging.DebugEvent += Console.Error.WriteLine; - AaruLogging.VerboseEvent += Console.WriteLine; + AaruLogging.WriteLineEvent += Console.WriteLine; + AaruLogging.WriteEvent += Console.Write; + AaruLogging.ErrorEvent += Console.Error.WriteLine; + AaruLogging.DebugEvent += Console.Error.WriteLine; + AaruLogging.VerboseEvent += Console.WriteLine; DeviceInfo[] devices = Aaru.Devices.Device.ListDevices(); @@ -52,7 +52,7 @@ static partial class MainClass return; } - devices = devices.OrderBy(d => d.Path).ToArray(); + devices = devices.OrderBy(static d => d.Path).ToArray(); while(true) { @@ -78,7 +78,7 @@ static partial class MainClass "----------", "--------"); - for(int i = 0; i < devices.Length; i++) + for(var i = 0; i < devices.Length; i++) { AaruLogging.WriteLine("{6,-8}|{0,-22}|{1,-16}|{2,-24}|{3,-24}|{4,-10}|{5,-10}", devices[i].Path, diff --git a/Aaru.Tests.Devices/SCSI_MMC/GdRom.cs b/Aaru.Tests.Devices/SCSI_MMC/GdRom.cs index af39b9eda..b959a6158 100644 --- a/Aaru.Tests.Devices/SCSI_MMC/GdRom.cs +++ b/Aaru.Tests.Devices/SCSI_MMC/GdRom.cs @@ -13,7 +13,7 @@ static partial class ScsiMmc { static void CheckGdromReadability(string devPath, Device dev) { - bool tocIsNotBcd = false; + var tocIsNotBcd = false; bool sense; ReadOnlySpan senseBuffer; @@ -31,7 +31,7 @@ static partial class ScsiMmc AaruLogging.WriteLine(Localization.Sending_READ_FULL_TOC_to_the_device); - int retries = 0; + var retries = 0; do { @@ -75,7 +75,7 @@ static partial class ScsiMmc // Guaranteed to never fall into default FullTOC.CDFullTOC toc = decodedToc ?? default(FullTOC.CDFullTOC); - FullTOC.TrackDataDescriptor leadOutTrack = toc.TrackDescriptors.FirstOrDefault(t => t.POINT == 0xA2); + FullTOC.TrackDataDescriptor leadOutTrack = toc.TrackDescriptors.FirstOrDefault(static t => t.POINT == 0xA2); if(leadOutTrack.POINT != 0xA2) { @@ -180,7 +180,7 @@ static partial class ScsiMmc // Guaranteed to never fall into default toc = decodedToc ?? default(FullTOC.CDFullTOC); - FullTOC.TrackDataDescriptor newLeadOutTrack = toc.TrackDescriptors.FirstOrDefault(t => t.POINT == 0xA2); + FullTOC.TrackDataDescriptor newLeadOutTrack = toc.TrackDescriptors.FirstOrDefault(static t => t.POINT == 0xA2); if(newLeadOutTrack.POINT != 0xA2) { diff --git a/Aaru.Tests.Devices/SCSI_MMC/LeadOutTrap.cs b/Aaru.Tests.Devices/SCSI_MMC/LeadOutTrap.cs index ad4fdfa02..2766537a0 100644 --- a/Aaru.Tests.Devices/SCSI_MMC/LeadOutTrap.cs +++ b/Aaru.Tests.Devices/SCSI_MMC/LeadOutTrap.cs @@ -13,7 +13,7 @@ static partial class ScsiMmc { static void ReadLeadOutUsingTrapDisc(string devPath, Device dev) { - bool tocIsNotBcd = false; + var tocIsNotBcd = false; bool sense; ReadOnlySpan senseBuffer; @@ -31,7 +31,7 @@ static partial class ScsiMmc AaruLogging.WriteLine(Localization.Sending_READ_FULL_TOC_to_the_device); - int retries = 0; + var retries = 0; do { @@ -74,7 +74,7 @@ static partial class ScsiMmc FullTOC.CDFullTOC toc = decodedToc.Value; - FullTOC.TrackDataDescriptor leadOutTrack = toc.TrackDescriptors.FirstOrDefault(t => t.POINT == 0xA2); + FullTOC.TrackDataDescriptor leadOutTrack = toc.TrackDescriptors.FirstOrDefault(static t => t.POINT == 0xA2); if(leadOutTrack.POINT != 0xA2) { @@ -147,7 +147,7 @@ static partial class ScsiMmc toc = decodedToc.Value; - leadOutTrack = toc.TrackDescriptors.FirstOrDefault(t => t.POINT == 0xA2); + leadOutTrack = toc.TrackDescriptors.FirstOrDefault(static t => t.POINT == 0xA2); if(leadOutTrack.POINT != 0xA2) { @@ -251,7 +251,7 @@ static partial class ScsiMmc toc = decodedToc.Value; - FullTOC.TrackDataDescriptor newLeadOutTrack = toc.TrackDescriptors.FirstOrDefault(t => t.POINT == 0xA2); + FullTOC.TrackDataDescriptor newLeadOutTrack = toc.TrackDescriptors.FirstOrDefault(static t => t.POINT == 0xA2); if(newLeadOutTrack.POINT != 0xA2) { diff --git a/Aaru.Tests/Images/OpticalMediaImageTest.cs b/Aaru.Tests/Images/OpticalMediaImageTest.cs index 713691ce7..01a127e44 100644 --- a/Aaru.Tests/Images/OpticalMediaImageTest.cs +++ b/Aaru.Tests/Images/OpticalMediaImageTest.cs @@ -88,24 +88,24 @@ public abstract class OpticalMediaImageTest : BaseMediaImageTest Has.Count.EqualTo(test.Tracks.Length), string.Format(Localization.Tracks_0, testFile)); - image.Tracks.Select(t => t.Session) + image.Tracks.Select(static t => t.Session) .Should() - .BeEquivalentTo(test.Tracks.Select(s => s.Session), + .BeEquivalentTo(test.Tracks.Select(static s => s.Session), string.Format(Localization.Track_session_0, testFile)); - image.Tracks.Select(t => t.StartSector) + image.Tracks.Select(static t => t.StartSector) .Should() - .BeEquivalentTo(test.Tracks.Select(s => s.Start), + .BeEquivalentTo(test.Tracks.Select(static s => s.Start), string.Format(Localization.Track_start_0, testFile)); - image.Tracks.Select(t => t.EndSector) + image.Tracks.Select(static t => t.EndSector) .Should() - .BeEquivalentTo(test.Tracks.Select(s => s.End), + .BeEquivalentTo(test.Tracks.Select(static s => s.End), string.Format(Localization.Track_end_0, testFile)); - image.Tracks.Select(t => t.Pregap) + image.Tracks.Select(static t => t.Pregap) .Should() - .BeEquivalentTo(test.Tracks.Select(s => s.Pregap), + .BeEquivalentTo(test.Tracks.Select(static s => s.Pregap), string.Format(Localization.Track_pregap_0, testFile)); var trackNo = 0; @@ -133,7 +133,7 @@ public abstract class OpticalMediaImageTest : BaseMediaImageTest } flags.Should() - .BeEquivalentTo(test.Tracks.Select(s => s.Flags), + .BeEquivalentTo(test.Tracks.Select(static s => s.Flags), string.Format(Localization.Track_flags_0, testFile)); Assert.That(image.Info.Sectors - 1, diff --git a/Aaru.Tests/Issues/OpticalImageConvertIssueTest.cs b/Aaru.Tests/Issues/OpticalImageConvertIssueTest.cs index 15d9c60b5..d5024b974 100644 --- a/Aaru.Tests/Issues/OpticalImageConvertIssueTest.cs +++ b/Aaru.Tests/Issues/OpticalImageConvertIssueTest.cs @@ -251,8 +251,9 @@ public abstract class OpticalImageConvertIssueTest tracks[i].Indexes[idx.Key] = idx.Value; } - foreach(SectorTagType tag in inputFormat.Info.ReadableSectorTags.Where(t => t == SectorTagType.CdTrackIsrc) - .OrderBy(t => t)) + foreach(SectorTagType tag in inputFormat.Info.ReadableSectorTags + .Where(static t => t == SectorTagType.CdTrackIsrc) + .OrderBy(static t => t)) { foreach(Track track in tracks) { @@ -264,8 +265,9 @@ public abstract class OpticalImageConvertIssueTest } } - foreach(SectorTagType tag in inputFormat.Info.ReadableSectorTags.Where(t => t == SectorTagType.CdTrackFlags) - .OrderBy(t => t)) + foreach(SectorTagType tag in inputFormat.Info.ReadableSectorTags + .Where(static t => t == SectorTagType.CdTrackFlags) + .OrderBy(static t => t)) { foreach(Track track in tracks) { @@ -284,7 +286,7 @@ public abstract class OpticalImageConvertIssueTest subchannelExtents.Add((int)s); } - foreach(SectorTagType tag in inputFormat.Info.ReadableSectorTags.OrderBy(t => t).TakeWhile(_ => UseLong)) + foreach(SectorTagType tag in inputFormat.Info.ReadableSectorTags.OrderBy(static t => t).TakeWhile(_ => UseLong)) { switch(tag) { diff --git a/Aaru.Tests/WritableImages/WritableOpticalMediaImageTest.cs b/Aaru.Tests/WritableImages/WritableOpticalMediaImageTest.cs index e443f5295..234907dbb 100644 --- a/Aaru.Tests/WritableImages/WritableOpticalMediaImageTest.cs +++ b/Aaru.Tests/WritableImages/WritableOpticalMediaImageTest.cs @@ -83,24 +83,24 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest Has.Count.EqualTo(test.Tracks.Length), string.Format(Localization.Tracks_0, testFile)); - image.Tracks.Select(t => t.Session) + image.Tracks.Select(static t => t.Session) .Should() - .BeEquivalentTo(test.Tracks.Select(s => s.Session), + .BeEquivalentTo(test.Tracks.Select(static s => s.Session), string.Format(Localization.Track_session_0, testFile)); - image.Tracks.Select(t => t.StartSector) + image.Tracks.Select(static t => t.StartSector) .Should() - .BeEquivalentTo(test.Tracks.Select(s => s.Start), + .BeEquivalentTo(test.Tracks.Select(static s => s.Start), string.Format(Localization.Track_start_0, testFile)); - image.Tracks.Select(t => t.EndSector) + image.Tracks.Select(static t => t.EndSector) .Should() - .BeEquivalentTo(test.Tracks.Select(s => s.End), + .BeEquivalentTo(test.Tracks.Select(static s => s.End), string.Format(Localization.Track_end_0, testFile)); - image.Tracks.Select(t => t.Pregap) + image.Tracks.Select(static t => t.Pregap) .Should() - .BeEquivalentTo(test.Tracks.Select(s => s.Pregap), + .BeEquivalentTo(test.Tracks.Select(static s => s.Pregap), string.Format(Localization.Track_pregap_0, testFile)); var trackNo = 0; @@ -126,7 +126,7 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest } flags.Should() - .BeEquivalentTo(test.Tracks.Select(s => s.Flags), + .BeEquivalentTo(test.Tracks.Select(static s => s.Flags), string.Format(Localization.Track_flags_0, testFile)); Assert.That(image.Info.Sectors - 1, @@ -199,7 +199,7 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest .Where(sectorTag => !outputFormat.SupportedSectorTags .Contains(sectorTag)) - .Where(sectorTag => + .Where(static sectorTag => sectorTag != SectorTagType.CdTrackFlags && sectorTag != SectorTagType.CdTrackIsrc && sectorTag != SectorTagType.CdSectorSubchannel)) @@ -345,8 +345,8 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest } foreach(SectorTagType tag in inputFormat.Info.ReadableSectorTags - .Where(t => t == SectorTagType.CdTrackIsrc) - .OrderBy(t => t)) + .Where(static t => t == SectorTagType.CdTrackIsrc) + .OrderBy(static t => t)) { foreach(Track track in tracks) { @@ -359,8 +359,8 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest } foreach(SectorTagType tag in inputFormat.Info.ReadableSectorTags - .Where(t => t == SectorTagType.CdTrackFlags) - .OrderBy(t => t)) + .Where(static t => t == SectorTagType.CdTrackFlags) + .OrderBy(static t => t)) { foreach(Track track in tracks) { @@ -379,7 +379,7 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest subchannelExtents.Add((int)s); } - foreach(SectorTagType tag in inputFormat.Info.ReadableSectorTags.OrderBy(t => t) + foreach(SectorTagType tag in inputFormat.Info.ReadableSectorTags.OrderBy(static t => t) .TakeWhile(_ => useLong)) { switch(tag) @@ -650,24 +650,24 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest Has.Count.EqualTo(test.Tracks.Length), string.Format(Localization.Tracks_output_0, testFile)); - image.Tracks.Select(t => t.Session) + image.Tracks.Select(static t => t.Session) .Should() - .BeEquivalentTo(test.Tracks.Select(s => s.Session), + .BeEquivalentTo(test.Tracks.Select(static s => s.Session), string.Format(Localization.Track_session_output_0, testFile)); - image.Tracks.Select(t => t.StartSector) + image.Tracks.Select(static t => t.StartSector) .Should() - .BeEquivalentTo(test.Tracks.Select(s => s.Start), + .BeEquivalentTo(test.Tracks.Select(static s => s.Start), string.Format(Localization.Track_start_output_0, testFile)); - image.Tracks.Select(t => t.EndSector) + image.Tracks.Select(static t => t.EndSector) .Should() - .BeEquivalentTo(test.Tracks.Select(s => s.End), + .BeEquivalentTo(test.Tracks.Select(static s => s.End), string.Format(Localization.Track_end_output_0, testFile)); - image.Tracks.Select(t => t.Pregap) + image.Tracks.Select(static t => t.Pregap) .Should() - .BeEquivalentTo(test.Tracks.Select(s => s.Pregap), + .BeEquivalentTo(test.Tracks.Select(static s => s.Pregap), string.Format(Localization.Track_pregap_output_0, testFile)); var trackNo = 0; @@ -693,7 +693,7 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest } flags.Should() - .BeEquivalentTo(test.Tracks.Select(s => s.Flags), + .BeEquivalentTo(test.Tracks.Select(static s => s.Flags), string.Format(Localization.Track_flags_output_0, testFile)); Assert.That(image.Info.Sectors - 1, diff --git a/Aaru.Tui/Controls/SpectreTextBlock.cs b/Aaru.Tui/Controls/SpectreTextBlock.cs index 31e702b30..8875dba4b 100644 --- a/Aaru.Tui/Controls/SpectreTextBlock.cs +++ b/Aaru.Tui/Controls/SpectreTextBlock.cs @@ -381,8 +381,8 @@ public partial class SpectreTextBlock : TextBlock // Find which markup tags apply to this content segment var applicableMarkups = markups.Where(m => m.OpenTagEnd <= start && m.CloseTagStart >= end) - .OrderBy(m => m.Start) // Outermost first (earliest start) - .ThenByDescending(m => m.End) // Then by latest end + .OrderBy(static m => m.Start) // Outermost first (earliest start) + .ThenByDescending(static m => m.End) // Then by latest end .ToList(); var run = new Run(Text.Substring(start, end - start)); diff --git a/Aaru.Tui/Program.cs b/Aaru.Tui/Program.cs index fce7f7dc6..dc6dc1c46 100644 --- a/Aaru.Tui/Program.cs +++ b/Aaru.Tui/Program.cs @@ -35,7 +35,7 @@ public static class Program { public static int Main(string[] args) { - SentrySdk.Init(options => + SentrySdk.Init(static options => { // A Sentry Data Source Name (DSN) is required. // See https://docs.sentry.io/product/sentry-basics/dsn-explainer/ @@ -59,7 +59,7 @@ public static class Program options.IsGlobalModeEnabled = true; }); - SentrySdk.ConfigureScope(scope => scope.SetExtra("Args", Environment.GetCommandLineArgs())); + SentrySdk.ConfigureScope(static scope => scope.SetExtra("Args", Environment.GetCommandLineArgs())); // There are too many places that depend on this being inited to be sure all are covered, so init it here. PluginBase.Init(); diff --git a/Aaru.Tui/ViewModels/Windows/FileViewViewModel.cs b/Aaru.Tui/ViewModels/Windows/FileViewViewModel.cs index b95a76bfd..e47197556 100644 --- a/Aaru.Tui/ViewModels/Windows/FileViewViewModel.cs +++ b/Aaru.Tui/ViewModels/Windows/FileViewViewModel.cs @@ -192,7 +192,7 @@ public sealed partial class FileViewViewModel : ViewModelBase Files.Add(parentDirectory); foreach(FileModel model in Directory.GetDirectories(CurrentPath, "*", SearchOption.TopDirectoryOnly) - .Select(directory => new FileModel + .Select(static directory => new FileModel { Path = directory, Filename = Path.GetFileName(directory), diff --git a/Aaru.Tui/ViewModels/Windows/HexViewWindowViewModel.cs b/Aaru.Tui/ViewModels/Windows/HexViewWindowViewModel.cs index 667111ba0..3d02cfc50 100644 --- a/Aaru.Tui/ViewModels/Windows/HexViewWindowViewModel.cs +++ b/Aaru.Tui/ViewModels/Windows/HexViewWindowViewModel.cs @@ -239,7 +239,7 @@ public sealed class HexViewLine { get { - var hex = string.Join(" ", Bytes.Select(b => $"{b:X2}")); + var hex = string.Join(" ", Bytes.Select(static b => $"{b:X2}")); // Pad to 16 bytes worth of hex (16 * 3 - 1 = 47 chars) return hex.PadRight(47); diff --git a/Aaru/Commands/Database/Statistics.cs b/Aaru/Commands/Database/Statistics.cs index 4b1ca5e41..39e4f61a2 100644 --- a/Aaru/Commands/Database/Statistics.cs +++ b/Aaru/Commands/Database/Statistics.cs @@ -88,9 +88,9 @@ sealed class StatisticsCommand : AsyncCommand table.Border(TableBorder.Rounded); table.BorderColor(Color.Yellow); - if(ctx.Commands.Any(c => c.Name == "analyze")) + if(ctx.Commands.Any(static c => c.Name == "analyze")) { - foreach(Command oldAnalyze in ctx.Commands.Where(c => c.Name == "analyze")) + foreach(Command oldAnalyze in ctx.Commands.Where(static c => c.Name == "analyze")) { oldAnalyze.Name = "fs-info"; ctx.Commands.Update(oldAnalyze); @@ -98,7 +98,7 @@ sealed class StatisticsCommand : AsyncCommand ulong count = 0; - foreach(Command fsInfo in ctx.Commands.Where(c => c.Name == "fs-info" && c.Synchronized)) + foreach(Command fsInfo in ctx.Commands.Where(static c => c.Name == "fs-info" && c.Synchronized)) { count += fsInfo.Count; ctx.Remove(fsInfo); @@ -117,10 +117,10 @@ sealed class StatisticsCommand : AsyncCommand await ctx.SaveChangesAsync(cancellationToken); } - foreach(string command in ctx.Commands.Select(c => c.Name).Distinct().OrderBy(c => c)) + foreach(string command in ctx.Commands.Select(static c => c.Name).Distinct().OrderBy(static c => c)) { ulong count = ctx.Commands.Where(c => c.Name == command && c.Synchronized) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.Commands.LongCount(c => c.Name == command && !c.Synchronized); @@ -151,10 +151,10 @@ sealed class StatisticsCommand : AsyncCommand table.Border(TableBorder.Rounded); table.BorderColor(Color.Yellow); - foreach(string filter in ctx.Filters.Select(c => c.Name).Distinct().OrderBy(c => c)) + foreach(string filter in ctx.Filters.Select(static c => c.Name).Distinct().OrderBy(static c => c)) { ulong count = ctx.Filters.Where(c => c.Name == filter && c.Synchronized) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.Filters.LongCount(c => c.Name == filter && !c.Synchronized); @@ -185,10 +185,10 @@ sealed class StatisticsCommand : AsyncCommand table.Border(TableBorder.Rounded); table.BorderColor(Color.Yellow); - foreach(string format in ctx.MediaFormats.Select(c => c.Name).Distinct().OrderBy(c => c)) + foreach(string format in ctx.MediaFormats.Select(static c => c.Name).Distinct().OrderBy(static c => c)) { ulong count = ctx.MediaFormats.Where(c => c.Name == format && c.Synchronized) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.MediaFormats.LongCount(c => c.Name == format && !c.Synchronized); @@ -219,10 +219,10 @@ sealed class StatisticsCommand : AsyncCommand table.Border(TableBorder.Rounded); table.BorderColor(Color.Yellow); - foreach(string partition in ctx.Partitions.Select(c => c.Name).Distinct().OrderBy(c => c)) + foreach(string partition in ctx.Partitions.Select(static c => c.Name).Distinct().OrderBy(static c => c)) { ulong count = ctx.Partitions.Where(c => c.Name == partition && c.Synchronized) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.Partitions.LongCount(c => c.Name == partition && !c.Synchronized); @@ -253,10 +253,10 @@ sealed class StatisticsCommand : AsyncCommand table.Border(TableBorder.Rounded); table.BorderColor(Color.Yellow); - foreach(string filesystem in ctx.Filesystems.Select(c => c.Name).Distinct().OrderBy(c => c)) + foreach(string filesystem in ctx.Filesystems.Select(static c => c.Name).Distinct().OrderBy(static c => c)) { ulong count = ctx.Filesystems.Where(c => c.Name == filesystem && c.Synchronized) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.Filesystems.LongCount(c => c.Name == filesystem && !c.Synchronized); @@ -288,10 +288,10 @@ sealed class StatisticsCommand : AsyncCommand table.Border(TableBorder.Rounded); table.BorderColor(Color.Yellow); - foreach(DeviceStat ds in ctx.SeenDevices.OrderBy(ds => ds.Manufacturer) - .ThenBy(ds => ds.Model) - .ThenBy(ds => ds.Revision) - .ThenBy(ds => ds.Bus)) + foreach(DeviceStat ds in ctx.SeenDevices.OrderBy(static ds => ds.Manufacturer) + .ThenBy(static ds => ds.Model) + .ThenBy(static ds => ds.Revision) + .ThenBy(static ds => ds.Bus)) { table.AddRow($"[italic][blue]{Markup.Escape(ds.Manufacturer ?? "")}[/][/]", $"[italic][purple]{Markup.Escape(ds.Model ?? "")}[/][/]", @@ -310,7 +310,7 @@ sealed class StatisticsCommand : AsyncCommand thereAreStats = true; } - if(ctx.Medias.Any(ms => ms.Real)) + if(ctx.Medias.Any(static ms => ms.Real)) { table = new Table { @@ -327,10 +327,13 @@ sealed class StatisticsCommand : AsyncCommand table.Border(TableBorder.Rounded); table.BorderColor(Color.Yellow); - foreach(string media in ctx.Medias.Where(ms => ms.Real).Select(ms => ms.Type).Distinct().OrderBy(ms => ms)) + foreach(string media in ctx.Medias.Where(static ms => ms.Real) + .Select(static ms => ms.Type) + .Distinct() + .OrderBy(static ms => ms)) { ulong count = ctx.Medias.Where(c => c.Type == media && c.Synchronized && c.Real) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.Medias.LongCount(c => c.Type == media && !c.Synchronized && c.Real); @@ -347,7 +350,7 @@ sealed class StatisticsCommand : AsyncCommand AaruLogging.WriteLine(); } - if(ctx.Medias.Any(ms => !ms.Real)) + if(ctx.Medias.Any(static ms => !ms.Real)) { table = new Table { @@ -364,10 +367,13 @@ sealed class StatisticsCommand : AsyncCommand table.Border(TableBorder.Rounded); table.BorderColor(Color.Yellow); - foreach(string media in ctx.Medias.Where(ms => !ms.Real).Select(ms => ms.Type).Distinct().OrderBy(ms => ms)) + foreach(string media in ctx.Medias.Where(static ms => !ms.Real) + .Select(static ms => ms.Type) + .Distinct() + .OrderBy(static ms => ms)) { ulong count = ctx.Medias.Where(c => c.Type == media && c.Synchronized && !c.Real) - .Select(c => c.Count) + .Select(static c => c.Count) .FirstOrDefault(); count += (ulong)ctx.Medias.LongCount(c => c.Type == media && !c.Synchronized && !c.Real); diff --git a/Aaru/Commands/Device/List.cs b/Aaru/Commands/Device/List.cs index 42cf24fd9..9c7f2da4d 100644 --- a/Aaru/Commands/Device/List.cs +++ b/Aaru/Commands/Device/List.cs @@ -95,7 +95,7 @@ sealed class ListDevicesCommand : Command table.Border(TableBorder.Rounded); table.BorderColor(Color.Yellow); - foreach(DeviceInfo dev in devices.OrderBy(d => d.Path)) + foreach(DeviceInfo dev in devices.OrderBy(static d => d.Path)) { table.AddRow($"[italic][olive]{Markup.Escape(dev.Path ?? "")}[/][/]", $"[italic][slateblue1]{Markup.Escape(dev.Vendor ?? "")}[/][/]", diff --git a/Aaru/Commands/Filesystem/Ls.cs b/Aaru/Commands/Filesystem/Ls.cs index 88a25fcb5..055378f7c 100644 --- a/Aaru/Commands/Filesystem/Ls.cs +++ b/Aaru/Commands/Filesystem/Ls.cs @@ -373,8 +373,10 @@ sealed class LsCommand : Command Alignment = Justify.Left }); - foreach(KeyValuePair entry in - stats.OrderBy(e => e.Value?.Attributes.HasFlag(FileAttributes.Directory) == false)) + foreach(KeyValuePair entry in stats.OrderBy(static e => + e.Value?.Attributes + .HasFlag(FileAttributes.Directory) == + false)) { if(entry.Value != null) { @@ -433,7 +435,7 @@ sealed class LsCommand : Command foreach(KeyValuePair subdirectory in - stats.Where(e => e.Value?.Attributes.HasFlag(FileAttributes.Directory) == true)) + stats.Where(static e => e.Value?.Attributes.HasFlag(FileAttributes.Directory) == true)) ListFilesInDir(path + "/" + subdirectory.Key, fs); } diff --git a/Aaru/Commands/Filesystem/Options.cs b/Aaru/Commands/Filesystem/Options.cs index e638e9897..8c096fefb 100644 --- a/Aaru/Commands/Filesystem/Options.cs +++ b/Aaru/Commands/Filesystem/Options.cs @@ -82,7 +82,7 @@ sealed class ListOptionsCommand : Command table.Border(TableBorder.Rounded); table.BorderColor(Color.Yellow); - foreach((string name, Type type, string description) option in options.OrderBy(t => t.name)) + foreach((string name, Type type, string description) option in options.OrderBy(static t => t.name)) { table.AddRow($"[purple]{Markup.Escape(option.name)}[/]", $"[italic][olive]{TypeToString(option.type)}[/][/]", diff --git a/Aaru/Commands/Formats.cs b/Aaru/Commands/Formats.cs index b411912ca..9f2fec3a8 100644 --- a/Aaru/Commands/Formats.cs +++ b/Aaru/Commands/Formats.cs @@ -168,8 +168,8 @@ sealed class FormatsCommand : Command AnsiConsole.WriteLine(); var idOnlyFilesystems = plugins.Filesystems.Where(t => !plugins.ReadOnlyFilesystems.ContainsKey(t.Key)) - .Select(t => t.Value) - .Where(t => t is not null) + .Select(static t => t.Value) + .Where(static t => t is not null) .ToList(); table = new Table diff --git a/Aaru/Commands/Image/Compare.cs b/Aaru/Commands/Image/Compare.cs index bcb00bb01..646a65b11 100644 --- a/Aaru/Commands/Image/Compare.cs +++ b/Aaru/Commands/Image/Compare.cs @@ -338,7 +338,7 @@ sealed class CompareCommand : Command $"[blue]{Markup.Escape(image2Info.DriveSerialNumber ?? "")}[/]"); foreach(MediaTagType diskTag in - (Enum.GetValues(typeof(MediaTagType)) as MediaTagType[]).OrderBy(e => e.ToString())) + (Enum.GetValues(typeof(MediaTagType)) as MediaTagType[]).OrderBy(static e => e.ToString())) { table.AddRow(string.Format(UI.Has_tag_0_Question, diskTag), image1DiskTags.ContainsKey(diskTag) diff --git a/Aaru/Commands/Image/Convert.cs b/Aaru/Commands/Image/Convert.cs index 82c17d182..9b7c81880 100644 --- a/Aaru/Commands/Image/Convert.cs +++ b/Aaru/Commands/Image/Convert.cs @@ -295,7 +295,7 @@ sealed class ConvertImageCommand : Command if((outputFormat as IWritableOpticalImage)?.OpticalCapabilities.HasFlag(OpticalImageCapabilities .CanStoreHiddenTracks) != true && - (inputFormat as IOpticalMediaImage)?.Tracks?.Any(t => t.Sequence == 0) == true) + (inputFormat as IOpticalMediaImage)?.Tracks?.Any(static t => t.Sequence == 0) == true) { // TODO: Disabled until 6.0 /*if(!_force) @@ -578,8 +578,9 @@ sealed class ConvertImageCommand : Command tracks[i].Indexes[idx.Key] = idx.Value; } - foreach(SectorTagType tag in inputOptical.Info.ReadableSectorTags.Where(t => t == SectorTagType.CdTrackIsrc) - .OrderBy(t => t)) + foreach(SectorTagType tag in inputOptical.Info.ReadableSectorTags + .Where(static t => t == SectorTagType.CdTrackIsrc) + .OrderBy(static t => t)) { foreach(Track track in tracks) { @@ -592,8 +593,8 @@ sealed class ConvertImageCommand : Command } foreach(SectorTagType tag in inputOptical.Info.ReadableSectorTags - .Where(t => t == SectorTagType.CdTrackFlags) - .OrderBy(t => t)) + .Where(static t => t == SectorTagType.CdTrackFlags) + .OrderBy(static t => t)) { foreach(Track track in tracks) { @@ -612,7 +613,8 @@ sealed class ConvertImageCommand : Command subchannelExtents.Add((int)s); } - foreach(SectorTagType tag in inputOptical.Info.ReadableSectorTags.OrderBy(t => t).TakeWhile(_ => useLong)) + foreach(SectorTagType tag in inputOptical.Info.ReadableSectorTags.OrderBy(static t => t) + .TakeWhile(_ => useLong)) { switch(tag) { diff --git a/Aaru/Commands/Image/CreateSidecar.cs b/Aaru/Commands/Image/CreateSidecar.cs index 58394bf66..819054c61 100644 --- a/Aaru/Commands/Image/CreateSidecar.cs +++ b/Aaru/Commands/Image/CreateSidecar.cs @@ -199,19 +199,19 @@ sealed class CreateSidecarCommand : Command _progressTask2.MaxValue = maximum; }; - sidecarClass.EndProgressEvent += () => + sidecarClass.EndProgressEvent += static () => { _progressTask1?.StopTask(); _progressTask1 = null; }; - sidecarClass.EndProgressEvent2 += () => + sidecarClass.EndProgressEvent2 += static () => { _progressTask2?.StopTask(); _progressTask2 = null; }; - sidecarClass.UpdateStatusEvent += text => { AaruLogging.WriteLine(text); }; + sidecarClass.UpdateStatusEvent += static text => { AaruLogging.WriteLine(text); }; Console.CancelKeyPress += (_, e) => { @@ -294,19 +294,19 @@ sealed class CreateSidecarCommand : Command _progressTask2.MaxValue = maximum; }; - sidecarClass.EndProgressEvent += () => + sidecarClass.EndProgressEvent += static () => { _progressTask1?.StopTask(); _progressTask1 = null; }; - sidecarClass.EndProgressEvent2 += () => + sidecarClass.EndProgressEvent2 += static () => { _progressTask2?.StopTask(); _progressTask2 = null; }; - sidecarClass.UpdateStatusEvent += text => { AaruLogging.WriteLine(text); }; + sidecarClass.UpdateStatusEvent += static text => { AaruLogging.WriteLine(text); }; Console.CancelKeyPress += (_, e) => { diff --git a/Aaru/Commands/Image/Entropy.cs b/Aaru/Commands/Image/Entropy.cs index b99d7661b..deaff0d03 100644 --- a/Aaru/Commands/Image/Entropy.cs +++ b/Aaru/Commands/Image/Entropy.cs @@ -143,13 +143,13 @@ sealed class EntropyCommand : Command _progressTask2.MaxValue = maximum; }; - entropyCalculator.EndProgressEvent += () => + entropyCalculator.EndProgressEvent += static () => { _progressTask1?.StopTask(); _progressTask1 = null; }; - entropyCalculator.EndProgress2Event += () => + entropyCalculator.EndProgress2Event += static () => { _progressTask2?.StopTask(); _progressTask2 = null; diff --git a/Aaru/Commands/Image/Options.cs b/Aaru/Commands/Image/Options.cs index 92d6e84cc..8dbdcc4ff 100644 --- a/Aaru/Commands/Image/Options.cs +++ b/Aaru/Commands/Image/Options.cs @@ -84,7 +84,7 @@ sealed class ListOptionsCommand : Command table.BorderColor(Color.Yellow); foreach((string name, Type type, string description, object @default) option in - options.OrderBy(t => t.name)) + options.OrderBy(static t => t.name)) { table.AddRow($"[darkgreen]{Markup.Escape(option.name)}[/]", $"[italic][olive]{TypeToString(option.type)}[/][/]", diff --git a/Aaru/Commands/ListEncodings.cs b/Aaru/Commands/ListEncodings.cs index dfb8a6428..71e61311c 100644 --- a/Aaru/Commands/ListEncodings.cs +++ b/Aaru/Commands/ListEncodings.cs @@ -59,7 +59,7 @@ sealed class ListEncodingsCommand : Command AaruLogging.Information(UI.List_encodings_command); var encodings = Encoding.GetEncodings() - .Select(info => new CommonEncodingInfo + .Select(static info => new CommonEncodingInfo { Name = info.Name, DisplayName = info.GetEncoding().EncodingName @@ -67,7 +67,7 @@ sealed class ListEncodingsCommand : Command .ToList(); encodings.AddRange(Claunia.Encoding.Encoding.GetEncodings() - .Select(info => new CommonEncodingInfo + .Select(static info => new CommonEncodingInfo { Name = info.Name, DisplayName = info.DisplayName @@ -79,7 +79,7 @@ sealed class ListEncodingsCommand : Command table.Border(TableBorder.Rounded); table.BorderColor(Color.Yellow); - foreach(CommonEncodingInfo info in encodings.OrderBy(t => t.DisplayName)) + foreach(CommonEncodingInfo info in encodings.OrderBy(static t => t.DisplayName)) { table.AddRow($"[italic][darkgreen]{Markup.Escape(info.Name)}[/][/]", $"[italic][slateblue1]{Markup.Escape(info.DisplayName)}[/][/]"); diff --git a/Aaru/Commands/ListNamespaces.cs b/Aaru/Commands/ListNamespaces.cs index 83b278c20..b2490cb7e 100644 --- a/Aaru/Commands/ListNamespaces.cs +++ b/Aaru/Commands/ListNamespaces.cs @@ -77,7 +77,7 @@ sealed class ListNamespacesCommand : Command table.AddColumn(new TableColumn(new Markup(UI.Title_Namespace).Centered())); table.AddColumn(new TableColumn(new Markup(UI.Title_Description).Centered())); - foreach(KeyValuePair @namespace in fs.Namespaces.OrderBy(t => t.Key)) + foreach(KeyValuePair @namespace in fs.Namespaces.OrderBy(static t => t.Key)) { table.AddRow($"[italic][darkgreen]{Markup.Escape(@namespace.Key)}[/][/]", $"[italic][slateblue1]{Markup.Escape(@namespace.Value)}[/][/]"); diff --git a/Aaru/Commands/Media/Dump.cs b/Aaru/Commands/Media/Dump.cs index 4c122f51b..9684d61b0 100644 --- a/Aaru/Commands/Media/Dump.cs +++ b/Aaru/Commands/Media/Dump.cs @@ -234,7 +234,7 @@ sealed class DumpMediaCommand : Command if(responseLine is null) break; - if(responseLine.Any(c => c < 0x20)) + if(responseLine.Any(static c => c < 0x20)) { AaruLogging.Error(UI.Invalid_characters_found_in_list_of_files); @@ -536,11 +536,11 @@ sealed class DumpMediaCommand : Command .Columns(new TaskDescriptionColumn(), new ProgressBarColumn(), new PercentageColumn()) .Start(ctx => { - dumper.UpdateStatus += text => { AaruLogging.WriteLine(text); }; + dumper.UpdateStatus += static text => { AaruLogging.WriteLine(text); }; - dumper.ErrorMessage += text => { AaruLogging.Error(text); }; + dumper.ErrorMessage += static text => AaruLogging.Error(text); - dumper.StoppingErrorMessage += text => { AaruLogging.Error(text); }; + dumper.StoppingErrorMessage += static text => { AaruLogging.Error(text); }; dumper.UpdateProgress += (text, current, maximum) => { @@ -563,7 +563,7 @@ sealed class DumpMediaCommand : Command dumper.InitProgress += () => { _progressTask1 = ctx.AddTask("Progress"); }; - dumper.EndProgress += () => + dumper.EndProgress += static () => { _progressTask1?.StopTask(); _progressTask1 = null; @@ -571,7 +571,7 @@ sealed class DumpMediaCommand : Command dumper.InitProgress2 += () => { _progressTask2 = ctx.AddTask("Progress"); }; - dumper.EndProgress2 += () => + dumper.EndProgress2 += static () => { _progressTask2?.StopTask(); _progressTask2 = null; diff --git a/Aaru/Commands/Media/Info.cs b/Aaru/Commands/Media/Info.cs index 227729891..4b80039da 100644 --- a/Aaru/Commands/Media/Info.cs +++ b/Aaru/Commands/Media/Info.cs @@ -807,7 +807,7 @@ sealed class MediaInfoCommand : Command if(tracks != null) { - var firstLba = (uint)tracks.Min(t => t.StartSector); + var firstLba = (uint)tracks.Min(static t => t.StartSector); bool supportsPqSubchannel = Dump.SupportsPqSubchannel(dev, null, firstLba); bool supportsRwSubchannel = Dump.SupportsRwSubchannel(dev, null, firstLba); diff --git a/Aaru/Commands/Media/Scan.cs b/Aaru/Commands/Media/Scan.cs index 27d9fe70f..a33e67bc8 100644 --- a/Aaru/Commands/Media/Scan.cs +++ b/Aaru/Commands/Media/Scan.cs @@ -114,9 +114,9 @@ sealed class MediaScanCommand : Command .Columns(new TaskDescriptionColumn(), new ProgressBarColumn(), new PercentageColumn()) .Start(ctx => { - scanner.UpdateStatus += text => { AaruLogging.WriteLine(text); }; + scanner.UpdateStatus += static text => { AaruLogging.WriteLine(text); }; - scanner.StoppingErrorMessage += text => { AaruLogging.Error(text); }; + scanner.StoppingErrorMessage += static text => { AaruLogging.Error(text); }; scanner.UpdateProgress += (text, current, maximum) => { @@ -139,7 +139,7 @@ sealed class MediaScanCommand : Command scanner.InitProgress += () => { _progressTask1 = ctx.AddTask("Progress"); }; - scanner.EndProgress += () => + scanner.EndProgress += static () => { _progressTask1?.StopTask(); _progressTask1 = null; diff --git a/Aaru/LoggingInterceptor.cs b/Aaru/LoggingInterceptor.cs index bd40a25d7..8ad0018c1 100644 --- a/Aaru/LoggingInterceptor.cs +++ b/Aaru/LoggingInterceptor.cs @@ -33,11 +33,11 @@ public class LoggingInterceptor : ICommandInterceptor // Configure Serilog LoggerConfiguration loggerConfig = new LoggerConfiguration().MinimumLevel.ControlledBy(_levelSwitch) .Enrich.FromLogContext() - .WriteTo.Logger(lc => lc - .Filter.ByExcluding(e => + .WriteTo.Logger(static lc => lc + .Filter.ByExcluding(static e => e.Level == LogEventLevel.Information) .WriteTo.Spectre(renderTextAsMarkup: true) - .WriteTo.Sentry(o => + .WriteTo.Sentry(static o => { o.Dsn = "https://153a04fb97b78bb57a8013b8b30db04f@sentry.claunia.com/8"; diff --git a/Aaru/Main.cs b/Aaru/Main.cs index c3055ab96..287926701 100644 --- a/Aaru/Main.cs +++ b/Aaru/Main.cs @@ -82,7 +82,7 @@ class MainClass if(args.Length == 1 && args[0].Equals("gui", StringComparison.InvariantCultureIgnoreCase)) return Gui.Main.Start(args); - SentrySdk.Init(options => + SentrySdk.Init(static options => { // A Sentry Data Source Name (DSN) is required. // See https://docs.sentry.io/product/sentry-basics/dsn-explainer/ @@ -106,11 +106,11 @@ class MainClass options.IsGlobalModeEnabled = true; }); - SentrySdk.ConfigureScope(scope => scope.SetExtra("Args", Environment.GetCommandLineArgs())); + SentrySdk.ConfigureScope(static scope => scope.SetExtra("Args", Environment.GetCommandLineArgs())); try { - AaruLogging.WriteLineEvent += (format, objects) => + AaruLogging.WriteLineEvent += static (format, objects) => { if(objects is null) AnsiConsole.MarkupLine(format); @@ -125,7 +125,7 @@ class MainClass Log.Information(formatted); }; - AaruLogging.WriteEvent += (format, objects) => + AaruLogging.WriteEvent += static (format, objects) => { if(objects is null) AnsiConsole.Markup(format); @@ -143,10 +143,10 @@ class MainClass AaruLogging.ErrorEvent += Log.Error; AaruLogging.VerboseEvent += Log.Verbose; - AaruLogging.DebugEvent += (module, format, objects) => + AaruLogging.DebugEvent += static (module, format, objects) => Log.Debug(string.Format($"[blue]({module})[/] {format}", objects)); - AaruLogging.WriteExceptionEvent += (ex, message, objects) => + AaruLogging.WriteExceptionEvent += static (ex, message, objects) => { // Display exception on console AnsiConsole.WriteException(ex); @@ -217,16 +217,16 @@ class MainClass // Remove duplicates foreach(var duplicate in ctx.SeenDevices.AsEnumerable() - .GroupBy(a => new + .GroupBy(static a => new { a.Manufacturer, a.Model, a.Revision, a.Bus }) - .Where(a => a.Count() > 1) + .Where(static a => a.Count() > 1) .Distinct() - .Select(a => a.Key)) + .Select(static a => a.Key)) { ctx.RemoveRange(ctx.SeenDevices .Where(d => d.Manufacturer == duplicate.Manufacturer && @@ -237,9 +237,9 @@ class MainClass } // Remove nulls - ctx.RemoveRange(ctx.SeenDevices.Where(d => d.Manufacturer == null && - d.Model == null && - d.Revision == null)); + ctx.RemoveRange(ctx.SeenDevices.Where(static d => d.Manufacturer == null && + d.Model == null && + d.Revision == null)); await ctx.SaveChangesAsync(); @@ -292,12 +292,12 @@ class MainClass var app = new CommandApp(); - app.Configure(config => + app.Configure(static config => { config.UseAssemblyInformationalVersion(); config.AddBranch("archive", - archive => + static archive => { archive.SetDescription(UI.Archive_Command_Family_Description); @@ -317,7 +317,7 @@ class MainClass .WithAlias("arc"); config.AddBranch("device", - device => + static device => { device.SetDescription(UI.Device_Command_Family_Description); @@ -336,7 +336,7 @@ class MainClass .WithAlias("dev"); config.AddBranch("filesystem", - fs => + static fs => { fs.SetDescription(UI.Filesystem_Command_Family_Description); @@ -359,7 +359,7 @@ class MainClass .WithAlias("fi"); config.AddBranch("image", - image => + static image => { image.SetDescription(UI.Image_Command_Family_Description); @@ -404,7 +404,7 @@ class MainClass .WithAlias("img"); config.AddBranch("media", - media => + static media => { media.SetDescription(UI.Media_Command_Family_Description); @@ -423,7 +423,7 @@ class MainClass .WithAlias("m"); config.AddBranch("database", - db => + static db => { db.SetDescription(UI.Database_Command_Family_Description);