Skip to content

Commit abd651a

Browse files
Run some built-in .NET SDK perf analyzers over several WPF assemblies (#6274)
* CA2251 on PresentationCore (use string.Equals instead of string.Compare == 0) * CA1846 on PresentationCore (use AsSpan instead of Substring) * CA1840 on PresentationCore (use Environment.CurrentManagedThreadId) * CA1825 on PresentationCore (avoid zero-length array allocations) * CA1802 on PresentationCore (make constants const) * CA1834 on PresentationCore (use StringBuilder.Append(char) instead of Append(string)) * CA2249 on PresentationCore (use Contains instead of IndexOf != -1) * CA2249 on PresentationFramework * CA1834 on PresentationFramework (StringBuilder.Append) * CA1845 on PresentationFramework (string.Concat with Substring) * CA1847 on WindowsBase (use Contains(char)) * CA1840 on WindowsBase (use Environment.CurrentManagedThreadId) * CA1825 on WindowsBase (empty array allocation) * CA1834 on WindowsBase (StringBuilder.Append(char)) * More StringBuilder.Append fixes (including generator files) Co-authored-by: Dipesh Kumar <[email protected]>
1 parent 4912f48 commit abd651a

File tree

78 files changed

+263
-263
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+263
-263
lines changed

src/Microsoft.DotNet.Wpf/src/PresentationBuildTasks/MS/Internal/Tasks/CompilerState.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ private static string GenerateStringFromFileNames(ITaskItem[] fileItemList)
242242
for (int i = 0; i < fileItemList.Length; i++)
243243
{
244244
sb.Append(fileItemList[i].ItemSpec);
245-
sb.Append(";");
245+
sb.Append(';');
246246
}
247247

248248
fileNames = sb.ToString();

src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/AppModel/CookieHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ internal static void HandleWebResponse(WebResponse response)
8282
// associated with it. (WebHeaderCollection's internal storage is a string->ArrayList(of string) map.)
8383
for (int i = headers.Count-1; i >= 0; i--)
8484
{
85-
if (string.Compare(headers.Keys[i], "Set-Cookie", StringComparison.OrdinalIgnoreCase) == 0)
85+
if (string.Equals(headers.Keys[i], "Set-Cookie", StringComparison.OrdinalIgnoreCase))
8686
{
8787
string p3pHeader = httpResponse.Headers["P3P"];
8888
foreach (string cookie in headers.GetValues(i))

src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/AppModel/SiteOfOriginContainer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ internal static Uri SiteOfOrigin
5959
if (_traceSwitch.Enabled)
6060
System.Diagnostics.Trace.TraceInformation(
6161
DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond + " " +
62-
System.Threading.Thread.CurrentThread.ManagedThreadId +
62+
Environment.CurrentManagedThreadId +
6363
": SiteOfOriginContainer: returning site of origin " + siteOfOrigin);
6464
#endif
6565

@@ -230,7 +230,7 @@ protected override PackagePart GetPartCore(Uri uri)
230230
if (_traceSwitch.Enabled)
231231
System.Diagnostics.Trace.TraceInformation(
232232
DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond + " " +
233-
System.Threading.Thread.CurrentThread.ManagedThreadId +
233+
Environment.CurrentManagedThreadId +
234234
": SiteOfOriginContainer: Creating SiteOfOriginPart for Uri " + uri);
235235
#endif
236236
return new SiteOfOriginPart(this, uri);

src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/AppModel/SiteOfOriginPart.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ protected override Stream GetStreamCore(FileMode mode, FileAccess access)
5656
if (SiteOfOriginContainer._traceSwitch.Enabled)
5757
System.Diagnostics.Trace.TraceInformation(
5858
DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond + " " +
59-
System.Threading.Thread.CurrentThread.ManagedThreadId +
59+
Environment.CurrentManagedThreadId +
6060
": SiteOfOriginPart: Getting stream.");
6161
#endif
6262
return GetStreamAndSetContentType(false);
@@ -68,7 +68,7 @@ protected override string GetContentTypeCore()
6868
if (SiteOfOriginContainer._traceSwitch.Enabled)
6969
System.Diagnostics.Trace.TraceInformation(
7070
DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond + " " +
71-
System.Threading.Thread.CurrentThread.ManagedThreadId +
71+
Environment.CurrentManagedThreadId +
7272
": SiteOfOriginPart: Getting content type.");
7373
#endif
7474

@@ -96,7 +96,7 @@ private Stream GetStreamAndSetContentType(bool onlyNeedContentType)
9696
if (SiteOfOriginContainer._traceSwitch.Enabled)
9797
System.Diagnostics.Trace.TraceInformation(
9898
DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond + " " +
99-
System.Threading.Thread.CurrentThread.ManagedThreadId +
99+
Environment.CurrentManagedThreadId +
100100
": SiteOfOriginPart: Getting content type and using previously determined value");
101101
#endif
102102
return null;
@@ -112,7 +112,7 @@ private Stream GetStreamAndSetContentType(bool onlyNeedContentType)
112112
if (SiteOfOriginContainer._traceSwitch.Enabled)
113113
System.Diagnostics.Trace.TraceInformation(
114114
DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond + " " +
115-
System.Threading.Thread.CurrentThread.ManagedThreadId +
115+
Environment.CurrentManagedThreadId +
116116
"SiteOfOriginPart: Using Cached stream");
117117
#endif
118118
Stream temp = _cacheStream;
@@ -126,7 +126,7 @@ private Stream GetStreamAndSetContentType(bool onlyNeedContentType)
126126
if (SiteOfOriginContainer._traceSwitch.Enabled)
127127
System.Diagnostics.Trace.TraceInformation(
128128
DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond + " " +
129-
System.Threading.Thread.CurrentThread.ManagedThreadId +
129+
Environment.CurrentManagedThreadId +
130130
": SiteOfOriginPart: Determining absolute uri for this resource");
131131
#endif
132132
string original = Uri.ToString();
@@ -139,7 +139,7 @@ private Stream GetStreamAndSetContentType(bool onlyNeedContentType)
139139
if (SiteOfOriginContainer._traceSwitch.Enabled)
140140
System.Diagnostics.Trace.TraceInformation(
141141
DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond + " " +
142-
System.Threading.Thread.CurrentThread.ManagedThreadId +
142+
Environment.CurrentManagedThreadId +
143143
": SiteOfOriginPart: Making web request to " + _absoluteLocation);
144144
#endif
145145

@@ -165,7 +165,7 @@ private Stream HandleFileSource(bool onlyNeedContentType)
165165
if (SiteOfOriginContainer._traceSwitch.Enabled)
166166
System.Diagnostics.Trace.TraceInformation(
167167
DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond + " " +
168-
System.Threading.Thread.CurrentThread.ManagedThreadId +
168+
Environment.CurrentManagedThreadId +
169169
": Opening local file " + _absoluteLocation);
170170
#endif
171171
if (_contentType == MS.Internal.ContentType.Empty)
@@ -189,7 +189,7 @@ private Stream HandleWebSource(bool onlyNeedContentType)
189189
if (SiteOfOriginContainer._traceSwitch.Enabled)
190190
System.Diagnostics.Trace.TraceInformation(
191191
DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond + " " +
192-
System.Threading.Thread.CurrentThread.ManagedThreadId +
192+
Environment.CurrentManagedThreadId +
193193
": Successfully retrieved stream from " + _absoluteLocation);
194194
#endif
195195

@@ -199,7 +199,7 @@ private Stream HandleWebSource(bool onlyNeedContentType)
199199
if (SiteOfOriginContainer._traceSwitch.Enabled)
200200
System.Diagnostics.Trace.TraceInformation(
201201
DateTime.Now.ToLongTimeString() + " " + DateTime.Now.Millisecond + " " +
202-
System.Threading.Thread.CurrentThread.ManagedThreadId +
202+
Environment.CurrentManagedThreadId +
203203
": SiteOfOriginPart: Setting _contentType");
204204
#endif
205205

src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/FontCache/DWriteFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ private static Text.TextInterface.FontCollection GetFontCollectionFromFileOrFold
7474
}
7575

7676
// If the directory specifed is the windows fonts directory then no need to reenumerate system fonts.
77-
if (String.Compare(((localPath.Length > 0 && localPath[localPath.Length - 1] != Path.DirectorySeparatorChar) ? localPath + Path.DirectorySeparatorChar : localPath), Util.WindowsFontsUriObject.LocalPath, StringComparison.OrdinalIgnoreCase) == 0)
77+
if (string.Equals((localPath.Length > 0 && localPath[localPath.Length - 1] != Path.DirectorySeparatorChar) ? localPath + Path.DirectorySeparatorChar : localPath, Util.WindowsFontsUriObject.LocalPath, StringComparison.OrdinalIgnoreCase))
7878
{
7979
return SystemFontCollection;
8080
}

src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/FontCache/FamilyCollection.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ internal static bool IsLegacyArabicFont(string familyName)
140140
{
141141
for (int i = 0; i < _legacyArabicFonts.Length; ++i)
142142
{
143-
if (String.Compare(familyName, _legacyArabicFonts[i], StringComparison.OrdinalIgnoreCase) == 0)
143+
if (string.Equals(familyName, _legacyArabicFonts[i], StringComparison.OrdinalIgnoreCase))
144144
{
145145
return true;
146146
}
@@ -270,7 +270,7 @@ private static int GetIndexOfFamily(string familyName)
270270
{
271271
for (int i = 0; i < _systemCompositeFontsNames.Length; ++i)
272272
{
273-
if (String.Compare(_systemCompositeFontsNames[i], familyName, StringComparison.OrdinalIgnoreCase) == 0)
273+
if (string.Equals(_systemCompositeFontsNames[i], familyName, StringComparison.OrdinalIgnoreCase))
274274
{
275275
return i;
276276
}
@@ -396,7 +396,7 @@ ref FontStretch fontStretch
396396
else
397397
{
398398
// store the stripped off style names to look for the specific face later.
399-
potentialFaceName.Insert(0, familyName.Substring(indexOfSpace));
399+
potentialFaceName.Insert(0, familyName.AsSpan(indexOfSpace));
400400
familyName = familyName.Substring(0, indexOfSpace);
401401
}
402402

@@ -447,7 +447,7 @@ private CompositeFontFamily LookUpUserCompositeFamily(string familyName)
447447
{
448448
foreach (KeyValuePair<XmlLanguage, string> localizedFamilyName in compositeFamily.FamilyNames)
449449
{
450-
if (String.Compare(localizedFamilyName.Value, familyName, StringComparison.OrdinalIgnoreCase) == 0)
450+
if (string.Equals(localizedFamilyName.Value, familyName, StringComparison.OrdinalIgnoreCase))
451451
{
452452
return compositeFamily;
453453
}

src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/FontCache/FontCacheUtil.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,7 @@ internal static bool IsSupportedFontExtension(string extension, out bool isCompo
545545
for (int i = 0; i < SupportedExtensions.Length; ++i)
546546
{
547547
string supportedExtension = SupportedExtensions[i];
548-
if (String.Compare(extension, supportedExtension, StringComparison.OrdinalIgnoreCase) == 0)
548+
if (string.Equals(extension, supportedExtension, StringComparison.OrdinalIgnoreCase))
549549
{
550550
isComposite = (i == 0); // First array entry is *.CompositeFont
551551
return true;
@@ -557,7 +557,7 @@ internal static bool IsSupportedFontExtension(string extension, out bool isCompo
557557

558558
internal static bool IsCompositeFont(string extension)
559559
{
560-
return (String.Compare(extension, CompositeFontExtension, StringComparison.OrdinalIgnoreCase) == 0);
560+
return (string.Equals(extension, CompositeFontExtension, StringComparison.OrdinalIgnoreCase));
561561
}
562562

563563
internal static bool IsEnumerableFontUriScheme(Uri fontLocation)

src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/FontFace/FontDifferentiator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ FontStretch fontStretch
6868
{
6969
if (faceNameBuilder.Length > 0)
7070
{
71-
faceNameBuilder.Append(" ");
71+
faceNameBuilder.Append(' ');
7272
}
7373
faceNameBuilder.Append(parsedWeightName);
7474
}
@@ -77,7 +77,7 @@ FontStretch fontStretch
7777
{
7878
if (faceNameBuilder.Length > 0)
7979
{
80-
faceNameBuilder.Append(" ");
80+
faceNameBuilder.Append(' ');
8181
}
8282
faceNameBuilder.Append(parsedStyleName);
8383
}

src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/IO/Packaging/ByteRangeDownloader.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -417,8 +417,7 @@ private ByteRangeDownloader(Uri requestedUri, SafeWaitHandle eventHandle)
417417
}
418418

419419
// Ensure uri is correct scheme (http or https) Do case-sensitive comparison since Uri.Scheme contract is to return in lower case only.
420-
if (String.Compare(requestedUri.Scheme, Uri.UriSchemeHttp, StringComparison.Ordinal) != 0
421-
&& String.Compare(requestedUri.Scheme, Uri.UriSchemeHttps, StringComparison.Ordinal) != 0)
420+
if (!string.Equals(requestedUri.Scheme, Uri.UriSchemeHttp, StringComparison.Ordinal) && !string.Equals(requestedUri.Scheme, Uri.UriSchemeHttps, StringComparison.Ordinal))
422421
{
423422
throw new ArgumentException(SR.Get(SRID.InvalidScheme), "requestedUri");
424423
}

src/Microsoft.DotNet.Wpf/src/PresentationCore/MS/internal/IO/Packaging/DeobfuscatingStream.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ private static byte[] GetGuidByteArray(string guidString)
326326
{
327327
// Make sure we have at least on '-' since Guid constructor will take both dash'ed and non-dash'ed format of GUID string
328328
// while XPS spec requires dash'ed format of GUID
329-
if (guidString.IndexOf('-') == -1)
329+
if (!guidString.Contains('-'))
330330
{
331331
throw new ArgumentException(SR.Get(SRID.InvalidPartName));
332332
}

0 commit comments

Comments
 (0)