Skip to content

Commit e4f42f9

Browse files
committed
avoid redundant set.Contains before Add/Remove
1 parent a6b5b32 commit e4f42f9

4 files changed

Lines changed: 5 additions & 19 deletions

File tree

src/SMAPI.Toolkit/Framework/Clients/CompatibilityRepo/ChangeDescriptor.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,8 @@ public void Apply(List<string> values)
111111
HashSet<string> curValues = new(values.Select(p => p.Trim()), StringComparer.OrdinalIgnoreCase);
112112
foreach (string add in this.Add)
113113
{
114-
if (!curValues.Contains(add))
115-
{
114+
if (curValues.Add(add))
116115
values.Add(add);
117-
curValues.Add(add);
118-
}
119116
}
120117
}
121118
}

src/SMAPI/Framework/Extensions/MonitorExtensions.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,8 @@ internal static class MonitorExtensions
1414
/// <param name="level">The log severity level.</param>
1515
public void LogOnce(HashSet<string> hash, string message, LogLevel level = LogLevel.Trace)
1616
{
17-
if (!hash.Contains(message))
18-
{
17+
if (hash.Add(message))
1918
monitor.Log(message, level);
20-
hash.Add(message);
21-
}
2219
}
2320
}
2421
}

src/SMAPI/Framework/ModLoading/Finders/FieldFinder.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,8 @@ public override bool Handle(ModuleDefinition module, ILProcessor cil, Instructio
5050
if (this.FieldNames.Count > 0)
5151
{
5252
FieldReference? fieldRef = RewriteHelper.AsFieldReference(instruction);
53-
if (fieldRef != null && fieldRef.DeclaringType.FullName == this.FullTypeName && this.FieldNames.Contains(fieldRef.Name))
53+
if (fieldRef != null && fieldRef.DeclaringType.FullName == this.FullTypeName && this.FieldNames.Remove(fieldRef.Name))
5454
{
55-
this.FieldNames.Remove(fieldRef.Name);
56-
5755
this.MarkFlag(this.Result);
5856
this.Phrases.Add($"{this.FullTypeName}.{fieldRef.Name} field");
5957
}

src/SMAPI/Framework/StateTracking/FieldWatchers/InventoryWatcher.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,8 @@ private void Add(Item? value)
120120
if (value == null)
121121
return;
122122

123-
if (this.RemovedImpl.Contains(value))
124-
{
123+
if (this.RemovedImpl.Remove(value))
125124
this.AddedImpl.Remove(value);
126-
this.RemovedImpl.Remove(value);
127-
}
128125
else
129126
this.AddedImpl.Add(value);
130127
}
@@ -136,11 +133,8 @@ private void Remove(Item? value)
136133
if (value == null)
137134
return;
138135

139-
if (this.AddedImpl.Contains(value))
140-
{
141-
this.AddedImpl.Remove(value);
136+
if (this.AddedImpl.Remove(value))
142137
this.RemovedImpl.Remove(value);
143-
}
144138
else
145139
this.RemovedImpl.Add(value);
146140
}

0 commit comments

Comments
 (0)