Kaynağa Gözat

misc: chore: Use collection expressions in Horizon project

Evan Husted 1 yıl önce
ebeveyn
işleme
9f3eac7f26

+ 1 - 1
src/Ryujinx.Horizon/HeapAllocator.cs

@@ -31,7 +31,7 @@ namespace Ryujinx.Horizon
 
 
         public HeapAllocator()
         public HeapAllocator()
         {
         {
-            _freeRanges = new List<Range>();
+            _freeRanges = [];
             _currentHeapSize = 0;
             _currentHeapSize = 0;
         }
         }
 
 

+ 1 - 1
src/Ryujinx.Horizon/MmNv/Ipc/Request.cs

@@ -8,7 +8,7 @@ namespace Ryujinx.Horizon.MmNv.Ipc
 {
 {
     partial class Request : IRequest
     partial class Request : IRequest
     {
     {
-        private readonly List<Session> _sessionList = new();
+        private readonly List<Session> _sessionList = [];
 
 
         private uint _uniqueId = 1;
         private uint _uniqueId = 1;
 
 

+ 2 - 2
src/Ryujinx.Horizon/Sdk/Arp/ArpApi.cs

@@ -100,8 +100,8 @@ namespace Ryujinx.Horizon.Sdk.Arp
                 1,
                 1,
                 sendPid: false,
                 sendPid: false,
                 data,
                 data,
-                stackalloc[] { HipcBufferFlags.Out | HipcBufferFlags.MapAlias | HipcBufferFlags.FixedSize },
-                stackalloc[] { new PointerAndSize(bufferAddress, bufferSize) });
+                [HipcBufferFlags.Out | HipcBufferFlags.MapAlias | HipcBufferFlags.FixedSize],
+                [new PointerAndSize(bufferAddress, bufferSize)]);
 
 
             if (result.IsFailure)
             if (result.IsFailure)
             {
             {

+ 1 - 1
src/Ryujinx.Horizon/Sdk/Friends/Detail/Ipc/NotificationService.cs

@@ -28,7 +28,7 @@ namespace Ryujinx.Horizon.Sdk.Friends.Detail.Ipc
             _notificationEventHandler = notificationEventHandler;
             _notificationEventHandler = notificationEventHandler;
             _userId = userId;
             _userId = userId;
             _permissionLevel = permissionLevel;
             _permissionLevel = permissionLevel;
-            _notifications = new LinkedList<SizedNotificationInfo>();
+            _notifications = [];
             Os.CreateSystemEvent(out _notificationEvent, EventClearMode.AutoClear, interProcess: true).AbortOnFailure();
             Os.CreateSystemEvent(out _notificationEvent, EventClearMode.AutoClear, interProcess: true).AbortOnFailure();
 
 
             _hasNewFriendRequest = false;
             _hasNewFriendRequest = false;

+ 4 - 4
src/Ryujinx.Horizon/Sdk/Ngc/Detail/EmbeddedTries.cs

@@ -4,8 +4,8 @@ namespace Ryujinx.Horizon.Sdk.Ngc.Detail
 {
 {
     static class EmbeddedTries
     static class EmbeddedTries
     {
     {
-        public static ReadOnlySpan<byte> NotSeparatorTrie => new byte[]
-        {
+        public static ReadOnlySpan<byte> NotSeparatorTrie =>
+        [
             0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
             0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
             0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
             0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
             0x04, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
             0x04, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
@@ -260,7 +260,7 @@ namespace Ryujinx.Horizon.Sdk.Ngc.Detail
             0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
             0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
             0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x30, 0x00,
             0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x30, 0x00,
             0x00, 0x00, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A,
             0x00, 0x00, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A,
-            0x0C, 0x0E, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x00, 0x02, 0x04, 0x06, 0x08,
-        };
+            0x0C, 0x0E, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x00, 0x02, 0x04, 0x06, 0x08
+        ];
     }
     }
 }
 }

+ 1 - 1
src/Ryujinx.Horizon/Sdk/Ngc/Detail/MatchRangeList.cs

@@ -28,7 +28,7 @@ namespace Ryujinx.Horizon.Sdk.Ngc.Detail
         {
         {
             _capacity = 0;
             _capacity = 0;
             _count = 0;
             _count = 0;
-            _ranges = Array.Empty<MatchRange>();
+            _ranges = [];
         }
         }
 
 
         public void Add(int startOffset, int endOffset)
         public void Add(int startOffset, int endOffset)

+ 83 - 82
src/Ryujinx.Horizon/Sdk/Ngc/Detail/ProfanityFilterBase.cs

@@ -9,88 +9,89 @@ namespace Ryujinx.Horizon.Sdk.Ngc.Detail
     abstract class ProfanityFilterBase
     abstract class ProfanityFilterBase
     {
     {
 #pragma warning disable IDE0230 // Use UTF-8 string literal
 #pragma warning disable IDE0230 // Use UTF-8 string literal
-        private static readonly byte[][] _wordSeparators = {
-            new byte[] { 0x0D },
-            new byte[] { 0x0A },
-            new byte[] { 0xC2, 0x85 },
-            new byte[] { 0xE2, 0x80, 0xA8 },
-            new byte[] { 0xE2, 0x80, 0xA9 },
-            new byte[] { 0x09 },
-            new byte[] { 0x0B },
-            new byte[] { 0x0C },
-            new byte[] { 0x20 },
-            new byte[] { 0xEF, 0xBD, 0xA1 },
-            new byte[] { 0xEF, 0xBD, 0xA4 },
-            new byte[] { 0x2E },
-            new byte[] { 0x2C },
-            new byte[] { 0x5B },
-            new byte[] { 0x21 },
-            new byte[] { 0x22 },
-            new byte[] { 0x23 },
-            new byte[] { 0x24 },
-            new byte[] { 0x25 },
-            new byte[] { 0x26 },
-            new byte[] { 0x27 },
-            new byte[] { 0x28 },
-            new byte[] { 0x29 },
-            new byte[] { 0x2A },
-            new byte[] { 0x2B },
-            new byte[] { 0x2F },
-            new byte[] { 0x3A },
-            new byte[] { 0x3B },
-            new byte[] { 0x3C },
-            new byte[] { 0x3D },
-            new byte[] { 0x3E },
-            new byte[] { 0x3F },
-            new byte[] { 0x5C },
-            new byte[] { 0x40 },
-            new byte[] { 0x5E },
-            new byte[] { 0x5F },
-            new byte[] { 0x60 },
-            new byte[] { 0x7B },
-            new byte[] { 0x7C },
-            new byte[] { 0x7D },
-            new byte[] { 0x7E },
-            new byte[] { 0x2D },
-            new byte[] { 0x5D },
-            new byte[] { 0xE3, 0x80, 0x80 },
-            new byte[] { 0xE3, 0x80, 0x82 },
-            new byte[] { 0xE3, 0x80, 0x81 },
-            new byte[] { 0xEF, 0xBC, 0x8E },
-            new byte[] { 0xEF, 0xBC, 0x8C },
-            new byte[] { 0xEF, 0xBC, 0xBB },
-            new byte[] { 0xEF, 0xBC, 0x81 },
-            new byte[] { 0xE2, 0x80, 0x9C },
-            new byte[] { 0xE2, 0x80, 0x9D },
-            new byte[] { 0xEF, 0xBC, 0x83 },
-            new byte[] { 0xEF, 0xBC, 0x84 },
-            new byte[] { 0xEF, 0xBC, 0x85 },
-            new byte[] { 0xEF, 0xBC, 0x86 },
-            new byte[] { 0xE2, 0x80, 0x98 },
-            new byte[] { 0xE2, 0x80, 0x99 },
-            new byte[] { 0xEF, 0xBC, 0x88 },
-            new byte[] { 0xEF, 0xBC, 0x89 },
-            new byte[] { 0xEF, 0xBC, 0x8A },
-            new byte[] { 0xEF, 0xBC, 0x8B },
-            new byte[] { 0xEF, 0xBC, 0x8F },
-            new byte[] { 0xEF, 0xBC, 0x9A },
-            new byte[] { 0xEF, 0xBC, 0x9B },
-            new byte[] { 0xEF, 0xBC, 0x9C },
-            new byte[] { 0xEF, 0xBC, 0x9D },
-            new byte[] { 0xEF, 0xBC, 0x9E },
-            new byte[] { 0xEF, 0xBC, 0x9F },
-            new byte[] { 0xEF, 0xBC, 0xA0 },
-            new byte[] { 0xEF, 0xBF, 0xA5 },
-            new byte[] { 0xEF, 0xBC, 0xBE },
-            new byte[] { 0xEF, 0xBC, 0xBF },
-            new byte[] { 0xEF, 0xBD, 0x80 },
-            new byte[] { 0xEF, 0xBD, 0x9B },
-            new byte[] { 0xEF, 0xBD, 0x9C },
-            new byte[] { 0xEF, 0xBD, 0x9D },
-            new byte[] { 0xEF, 0xBD, 0x9E },
-            new byte[] { 0xEF, 0xBC, 0x8D },
-            new byte[] { 0xEF, 0xBC, 0xBD },
-        };
+        private static readonly byte[][] _wordSeparators =
+        [
+            [0x0D],
+            [0x0A],
+            [0xC2, 0x85],
+            [0xE2, 0x80, 0xA8],
+            [0xE2, 0x80, 0xA9],
+            [0x09],
+            [0x0B],
+            [0x0C],
+            [0x20],
+            [0xEF, 0xBD, 0xA1],
+            [0xEF, 0xBD, 0xA4],
+            [0x2E],
+            [0x2C],
+            [0x5B],
+            [0x21],
+            [0x22],
+            [0x23],
+            [0x24],
+            [0x25],
+            [0x26],
+            [0x27],
+            [0x28],
+            [0x29],
+            [0x2A],
+            [0x2B],
+            [0x2F],
+            [0x3A],
+            [0x3B],
+            [0x3C],
+            [0x3D],
+            [0x3E],
+            [0x3F],
+            [0x5C],
+            [0x40],
+            [0x5E],
+            [0x5F],
+            [0x60],
+            [0x7B],
+            [0x7C],
+            [0x7D],
+            [0x7E],
+            [0x2D],
+            [0x5D],
+            [0xE3, 0x80, 0x80],
+            [0xE3, 0x80, 0x82],
+            [0xE3, 0x80, 0x81],
+            [0xEF, 0xBC, 0x8E],
+            [0xEF, 0xBC, 0x8C],
+            [0xEF, 0xBC, 0xBB],
+            [0xEF, 0xBC, 0x81],
+            [0xE2, 0x80, 0x9C],
+            [0xE2, 0x80, 0x9D],
+            [0xEF, 0xBC, 0x83],
+            [0xEF, 0xBC, 0x84],
+            [0xEF, 0xBC, 0x85],
+            [0xEF, 0xBC, 0x86],
+            [0xE2, 0x80, 0x98],
+            [0xE2, 0x80, 0x99],
+            [0xEF, 0xBC, 0x88],
+            [0xEF, 0xBC, 0x89],
+            [0xEF, 0xBC, 0x8A],
+            [0xEF, 0xBC, 0x8B],
+            [0xEF, 0xBC, 0x8F],
+            [0xEF, 0xBC, 0x9A],
+            [0xEF, 0xBC, 0x9B],
+            [0xEF, 0xBC, 0x9C],
+            [0xEF, 0xBC, 0x9D],
+            [0xEF, 0xBC, 0x9E],
+            [0xEF, 0xBC, 0x9F],
+            [0xEF, 0xBC, 0xA0],
+            [0xEF, 0xBF, 0xA5],
+            [0xEF, 0xBC, 0xBE],
+            [0xEF, 0xBC, 0xBF],
+            [0xEF, 0xBD, 0x80],
+            [0xEF, 0xBD, 0x9B],
+            [0xEF, 0xBD, 0x9C],
+            [0xEF, 0xBD, 0x9D],
+            [0xEF, 0xBD, 0x9E],
+            [0xEF, 0xBC, 0x8D],
+            [0xEF, 0xBC, 0xBD]
+        ];
 #pragma warning restore IDE0230
 #pragma warning restore IDE0230
 
 
         private enum SignFilterStep
         private enum SignFilterStep

+ 2 - 2
src/Ryujinx.Horizon/Sdk/Ngc/Detail/Utf8Text.cs

@@ -12,8 +12,8 @@ namespace Ryujinx.Horizon.Sdk.Ngc.Detail
 
 
         public Utf8Text()
         public Utf8Text()
         {
         {
-            _text = Array.Empty<byte>();
-            _charOffsets = Array.Empty<int>();
+            _text = [];
+            _charOffsets = [];
         }
         }
 
 
         public Utf8Text(byte[] text)
         public Utf8Text(byte[] text)

+ 1 - 1
src/Ryujinx.Horizon/Sdk/OsTypes/Impl/MultiWaitImpl.cs

@@ -26,7 +26,7 @@ namespace Ryujinx.Horizon.Sdk.OsTypes.Impl
 
 
         public MultiWaitImpl()
         public MultiWaitImpl()
         {
         {
-            _multiWaits = new List<MultiWaitHolderBase>();
+            _multiWaits = [];
         }
         }
 
 
         public void LinkMultiWaitHolder(MultiWaitHolderBase multiWaitHolder)
         public void LinkMultiWaitHolder(MultiWaitHolderBase multiWaitHolder)

+ 1 - 1
src/Ryujinx.Horizon/Sdk/OsTypes/OsEvent.cs

@@ -10,7 +10,7 @@ namespace Ryujinx.Horizon.Sdk.OsTypes
         {
         {
             evnt = new EventType
             evnt = new EventType
             {
             {
-                MultiWaitHolders = new LinkedList<MultiWaitHolderBase>(),
+                MultiWaitHolders = [],
                 Signaled = signaled,
                 Signaled = signaled,
                 InitiallySignaled = signaled,
                 InitiallySignaled = signaled,
                 ClearMode = clearMode,
                 ClearMode = clearMode,

+ 3 - 3
src/Ryujinx.Horizon/Sdk/Settings/LanguageCode.cs

@@ -8,8 +8,8 @@ namespace Ryujinx.Horizon.Sdk.Settings
     [StructLayout(LayoutKind.Sequential, Size = 0x8, Pack = 0x1)]
     [StructLayout(LayoutKind.Sequential, Size = 0x8, Pack = 0x1)]
     struct LanguageCode
     struct LanguageCode
     {
     {
-        private static readonly string[] _languageCodes = new string[]
-        {
+        private static readonly string[] _languageCodes =
+        [
             "ja",
             "ja",
             "en-US",
             "en-US",
             "fr",
             "fr",
@@ -28,7 +28,7 @@ namespace Ryujinx.Horizon.Sdk.Settings
             "zh-Hans",
             "zh-Hans",
             "zh-Hant",
             "zh-Hant",
             "pt-BR"
             "pt-BR"
-        };
+        ];
 
 
         public Array8<byte> Value;
         public Array8<byte> Value;
 
 

+ 3 - 3
src/Ryujinx.Horizon/Sdk/Sf/Cmif/ServerDomainManager.cs

@@ -27,7 +27,7 @@ namespace Ryujinx.Horizon.Sdk.Sf.Cmif
 
 
             public EntryManager(int count)
             public EntryManager(int count)
             {
             {
-                _freeList = new LinkedList<Entry>();
+                _freeList = [];
                 _entries = new Entry[count];
                 _entries = new Entry[count];
 
 
                 for (int i = 0; i < count; i++)
                 for (int i = 0; i < count; i++)
@@ -87,7 +87,7 @@ namespace Ryujinx.Horizon.Sdk.Sf.Cmif
             public Domain(ServerDomainManager manager)
             public Domain(ServerDomainManager manager)
             {
             {
                 _manager = manager;
                 _manager = manager;
-                _entries = new LinkedList<EntryManager.Entry>();
+                _entries = [];
             }
             }
 
 
             public override ServiceObjectHolder GetObject(int id)
             public override ServiceObjectHolder GetObject(int id)
@@ -217,7 +217,7 @@ namespace Ryujinx.Horizon.Sdk.Sf.Cmif
         public ServerDomainManager(int entryCount, int maxDomains)
         public ServerDomainManager(int entryCount, int maxDomains)
         {
         {
             _entryManager = new EntryManager(entryCount);
             _entryManager = new EntryManager(entryCount);
-            _domains = new HashSet<Domain>();
+            _domains = [];
             _maxDomains = maxDomains;
             _maxDomains = maxDomains;
         }
         }
 
 

+ 2 - 2
src/Ryujinx.Horizon/Sdk/Sf/Hipc/ServerManager.cs

@@ -44,8 +44,8 @@ namespace Ryujinx.Horizon.Sdk.Sf.Hipc
             }
             }
 
 
             _sessionAllocationBitmap = new ulong[(maxSessions + 63) / 64];
             _sessionAllocationBitmap = new ulong[(maxSessions + 63) / 64];
-            _sessions = new HashSet<ServerSession>();
-            _servers = new HashSet<Server>();
+            _sessions = [];
+            _servers = [];
         }
         }
 
 
         private static PointerAndSize GetObjectBySessionIndex(ServerSession session, ulong baseAddress, ulong size)
         private static PointerAndSize GetObjectBySessionIndex(ServerSession session, ulong baseAddress, ulong size)

+ 1 - 1
src/Ryujinx.Horizon/ServiceTable.cs

@@ -33,7 +33,7 @@ namespace Ryujinx.Horizon
 
 
         public IEnumerable<ServiceEntry> GetServices(HorizonOptions options)
         public IEnumerable<ServiceEntry> GetServices(HorizonOptions options)
         {
         {
-            List<ServiceEntry> entries = new();
+            List<ServiceEntry> entries = [];
 
 
             void RegisterService<T>() where T : IService
             void RegisterService<T>() where T : IService
             {
             {