From ca47896204482bf4a6979e3838bf7f09f61cebeb Mon Sep 17 00:00:00 2001
From: giy <giy@omp-system.ru>
Date: Fri, 02 Sep 2022 14:16:56 +0300
Subject: [PATCH] Обновление до версии 2.9.0

---
 QtVsTools.Package/Common/PriorityQueue.cs |   19 ++++++++-----------
 1 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/QtVsTools.Package/Common/PriorityQueue.cs b/QtVsTools.Package/Common/PriorityQueue.cs
index cdc57e7..af8fffd 100644
--- a/QtVsTools.Package/Common/PriorityQueue.cs
+++ b/QtVsTools.Package/Common/PriorityQueue.cs
@@ -51,8 +51,8 @@
     public abstract class BasePriorityQueue<T, TPriority> : Concurrent, IEnumerable<T>
         where TPriority : IComparable<TPriority>
     {
-        SortedDictionary<TPriority, T> ItemsByPriority { get; set; }
-        Dictionary<object, TPriority> ItemPriority { get; set; }
+        SortedDictionary<TPriority, T> ItemsByPriority { get; }
+        Dictionary<object, TPriority> ItemPriority { get; }
         T Head { get; set; }
         public int Count { get; private set; }
         public bool IsEmpty => (Count == 0);
@@ -61,7 +61,7 @@
         IEnumerator<T> IEnumerable<T>.GetEnumerator() => Items.GetEnumerator();
         IEnumerator IEnumerable.GetEnumerator() => Items.GetEnumerator();
 
-        Func<T, object> GetItemKey { get; set; }
+        Func<T, object> GetItemKey { get; }
 
         public BasePriorityQueue() : this(x => x)
         { }
@@ -102,11 +102,10 @@
             if (item == null)
                 throw new InvalidOperationException("Item cannot be null.");
             lock (CriticalSection) {
-                T oldItem;
-                if (ItemsByPriority.TryGetValue(priority, out oldItem) && !item.Equals(oldItem))
+                if (ItemsByPriority.TryGetValue(priority, out T oldItem) && !item.Equals(oldItem))
                     throw new InvalidOperationException("An item with the same priority exists.");
-                TPriority oldPriority;
-                if (ItemPriority.TryGetValue(GetItemKey(item), out oldPriority)) {
+
+                if (ItemPriority.TryGetValue(GetItemKey(item), out TPriority oldPriority)) {
                     ItemsByPriority.Remove(oldPriority);
                     --Count;
                 }
@@ -128,8 +127,7 @@
         public T Peek()
         {
             lock (CriticalSection) {
-                T result;
-                if (!TryPeek(out result))
+                if (!TryPeek(out T result))
                     throw new InvalidOperationException("Queue is empty.");
                 return result;
             }
@@ -167,8 +165,7 @@
         public T Dequeue()
         {
             lock (CriticalSection) {
-                T result;
-                if (!TryDequeue(out result))
+                if (!TryDequeue(out T result))
                     throw new InvalidOperationException("Queue is empty.");
                 return result;
             }

--
Gitblit v1.9.1