Inconsistent DebuggerDisplay formatting - Fix space, equal for name/value and Indirec...
authorWasiim Hosenbocus <wasiim.hosenbocus@outlook.com>
Mon, 7 Aug 2023 22:27:30 +0000 (18:27 -0400)
committerGitHub <noreply@github.com>
Mon, 7 Aug 2023 22:27:30 +0000 (15:27 -0700)
* Fix space, equal for name/value in DebuggerDisplay

Task 1 - Replace colons with equal, added spaces in between key/value

* Fix failing test

* Update src/libraries/System.Speech/src/Result/SemanticValue.cs

Co-authored-by: James Newton-King <james@newtonking.com>
* Update src/libraries/System.Threading/src/System/Threading/Barrier.cs

Co-authored-by: James Newton-King <james@newtonking.com>
* Update src/libraries/System.Threading/src/System/Threading/CountdownEvent.cs

Co-authored-by: James Newton-King <james@newtonking.com>
* Changes to indirect value in Debugger

Changing string in indirect value; either part of a variable or a method

* Revert Stopwatch debug string

---------

Co-authored-by: James Newton-King <james@newtonking.com>
70 files changed:
src/libraries/Common/src/System/Collections/Generic/SparseArrayBuilder.cs
src/libraries/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableStack_1.cs
src/libraries/System.Diagnostics.Process/src/System/Diagnostics/ProcessStartInfo.cs
src/libraries/System.DirectoryServices.AccountManagement/src/System/DirectoryServices/AccountManagement/Principal.cs
src/libraries/System.Drawing.Primitives/src/System/Drawing/Color.cs
src/libraries/System.IO.Hashing/src/System/IO/Hashing/XxHash128.cs
src/libraries/System.IO.Pipelines/src/System/IO/Pipelines/PipeAwaitable.cs
src/libraries/System.IO.Pipelines/src/System/IO/Pipelines/PipeCompletion.cs
src/libraries/System.IO.Pipelines/src/System/IO/Pipelines/PipeOperationState.cs
src/libraries/System.Memory/src/System/Buffers/ReadOnlySequenceDebugView.cs
src/libraries/System.Private.CoreLib/src/System/Lazy.cs
src/libraries/System.Private.CoreLib/src/System/SearchValues/SearchValues.T.cs
src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/ConcurrentExclusiveSchedulerPair.cs
src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/TaskScheduler.cs
src/libraries/System.Private.CoreLib/src/System/Threading/ThreadLocal.cs
src/libraries/System.Private.Xml/src/System/Xml/XPath/Internal/XPathArrayIterator.cs
src/libraries/System.Private.Xml/src/System/Xml/XPath/XPathNodeIterator.cs
src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/ECCurve.cs
src/libraries/System.Speech/src/Internal/SrgsCompiler/ArcList.cs
src/libraries/System.Speech/src/Internal/SrgsCompiler/ScriptRef.cs
src/libraries/System.Speech/src/Internal/SrgsCompiler/State.cs
src/libraries/System.Speech/src/Recognition/Grammar.cs
src/libraries/System.Speech/src/Recognition/SrgsGrammar/SrgsElement.cs
src/libraries/System.Speech/src/Recognition/SrgsGrammar/SrgsNameValueTag.cs
src/libraries/System.Speech/src/Recognition/SrgsGrammar/SrgsRule.cs
src/libraries/System.Speech/src/Recognition/SrgsGrammar/SrgsRuleRef.cs
src/libraries/System.Speech/src/Recognition/SrgsGrammar/SrgsSemanticInterpretationTag.cs
src/libraries/System.Speech/src/Recognition/SrgsGrammar/SrgsSubset.cs
src/libraries/System.Speech/src/Recognition/SrgsGrammar/SrgsText.cs
src/libraries/System.Speech/src/Recognition/SrgsGrammar/SrgsToken.cs
src/libraries/System.Speech/src/Result/RecognitionResult.cs
src/libraries/System.Speech/src/Result/RecognizedPhrase.cs
src/libraries/System.Speech/src/Result/RecognizedWordUnit.cs
src/libraries/System.Speech/src/Result/SemanticValue.cs
src/libraries/System.Speech/src/Synthesis/InstalledVoice.cs
src/libraries/System.Speech/src/Synthesis/TTSEngine/TTSEngineTypes.cs
src/libraries/System.Text.Json/gen/Model/ContextGenerationSpec.cs
src/libraries/System.Text.Json/gen/Model/PropertyGenerationSpec.cs
src/libraries/System.Text.Json/gen/Model/TypeGenerationSpec.cs
src/libraries/System.Text.Json/gen/Model/TypeRef.cs
src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.cs
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/ReadStack.cs
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/WriteStack.cs
src/libraries/System.Threading.Channels/src/System/Threading/Channels/BoundedChannel.cs
src/libraries/System.Threading.Channels/src/System/Threading/Channels/SingleConsumerUnboundedChannel.cs
src/libraries/System.Threading.Channels/src/System/Threading/Channels/UnboundedChannel.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Base/DataflowBlock.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Blocks/ActionBlock.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Blocks/BatchBlock.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Blocks/BatchedJoinBlock.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Blocks/BroadcastBlock.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Blocks/BufferBlock.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Blocks/JoinBlock.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Blocks/TransformBlock.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Blocks/TransformManyBlock.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Blocks/WriteOnceBlock.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Internal/Common.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Internal/ImmutableArray.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Internal/ReorderingBuffer.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Internal/SourceCore.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Internal/SpscTargetCore.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Internal/TargetCore.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Internal/TargetRegistry.cs
src/libraries/System.Threading/src/System/Threading/Barrier.cs
src/libraries/System.Threading/src/System/Threading/CountdownEvent.cs
src/mono/wasm/debugger/DebuggerTestSuite/CustomViewTests.cs
src/mono/wasm/debugger/tests/debugger-test/debugger-custom-view-test.cs
src/tests/JIT/Performance/CodeQuality/HWIntrinsic/X86/PacketTracer/ObjectPool.cs
src/tests/JIT/Performance/CodeQuality/SIMD/RayTracer/ObjectPool.cs
src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/ReversedServer/IpcEndpointInfo.cs

index dfe8d9f..b027b21 100644 (file)
@@ -38,7 +38,7 @@ namespace System.Collections.Generic
         /// <summary>
         /// Gets a string suitable for display in the debugger.
         /// </summary>
-        private string DebuggerDisplay => $"{nameof(Index)}: {Index}, {nameof(Count)}: {Count}";
+        private string DebuggerDisplay => $"{nameof(Index)} = {Index}, {nameof(Count)} = {Count}";
     }
 
     /// <summary>
index 2eefbb8..8ef7eaf 100644 (file)
@@ -14,7 +14,7 @@ namespace System.Collections.Immutable
     /// </summary>
     /// <typeparam name="T">The type of element stored by the stack.</typeparam>
     [CollectionBuilder(typeof(ImmutableStack), nameof(ImmutableStack.Create))]
-    [DebuggerDisplay("IsEmpty = {IsEmpty}; Top = {_head}")]
+    [DebuggerDisplay("IsEmpty = {IsEmpty}, Top = {_head}")]
     [DebuggerTypeProxy(typeof(ImmutableEnumerableDebuggerProxy<>))]
     public sealed partial class ImmutableStack<T> : IImmutableStack<T>
     {
index 888c4ce..0f4fc0a 100644 (file)
@@ -16,7 +16,7 @@ namespace System.Diagnostics
     ///     used in conjunction with the <see cref='System.Diagnostics.Process'/>
     ///     component.
     /// </devdoc>
-    [DebuggerDisplay("FileName={FileName}, Arguments={BuildArguments()}, WorkingDirectory={WorkingDirectory}")]
+    [DebuggerDisplay("FileName = {FileName}, Arguments = {BuildArguments()}, WorkingDirectory = {WorkingDirectory}")]
     public sealed partial class ProcessStartInfo
     {
         private string? _fileName;
index d0d1e95..c7b5144 100644 (file)
@@ -11,7 +11,7 @@ using System.Collections;
 
 namespace System.DirectoryServices.AccountManagement
 {
-    [System.Diagnostics.DebuggerDisplay("Name ( {Name} )")]
+    [System.Diagnostics.DebuggerDisplay("Name = {Name}")]
     public abstract class Principal : IDisposable
     {
         //
index dc7130b..1e7e9cc 100644 (file)
@@ -384,7 +384,7 @@ namespace System.Drawing
         // against best practices as the current project language parses the string with
         // language specific heuristics.
 
-        private string NameAndARGBValue => $"{{Name={Name}, ARGB=({A}, {R}, {G}, {B})}}";
+        private string NameAndARGBValue => $"{{Name = {Name}, ARGB = ({A}, {R}, {G}, {B})}}";
 
         public string Name
         {
index bfd99b2..46e326e 100644 (file)
@@ -429,7 +429,7 @@ namespace System.IO.Hashing
             accHigh ^= ReadUInt64LE(input1) + ReadUInt64LE(input1 + 8);
         }
 
-        [DebuggerDisplay("Low64: {" + nameof(Low64) + "}, High64: {" + nameof(High64) + "}")]
+        [DebuggerDisplay("Low64 = {" + nameof(Low64) + "}, High64 = {" + nameof(High64) + "}")]
         private readonly struct Hash128
         {
             public readonly ulong Low64;
index b6159a9..57013bb 100644 (file)
@@ -8,7 +8,7 @@ using System.Threading.Tasks.Sources;
 
 namespace System.IO.Pipelines
 {
-    [DebuggerDisplay("CanceledState: {_awaitableState}, IsCompleted: {IsCompleted}")]
+    [DebuggerDisplay("CanceledState = {_awaitableState}, IsCompleted = {IsCompleted}")]
     internal struct PipeAwaitable
     {
         private AwaitableState _awaitableState;
index 5c0ff7b..c5bb32b 100644 (file)
@@ -8,7 +8,7 @@ using System.Runtime.ExceptionServices;
 
 namespace System.IO.Pipelines
 {
-    [DebuggerDisplay("IsCompleted: {" + nameof(IsCompleted) + "}")]
+    [DebuggerDisplay("IsCompleted = {" + nameof(IsCompleted) + "}")]
     internal struct PipeCompletion
     {
         private static readonly object s_completedSuccessfully = new object();
index 3207bdd..39acf75 100644 (file)
@@ -6,7 +6,7 @@ using System.Runtime.CompilerServices;
 
 namespace System.IO.Pipelines
 {
-    [DebuggerDisplay("State: {_state}")]
+    [DebuggerDisplay("State = {_state}")]
     internal struct PipeOperationState
     {
         private State _state;
index 3bdaf76..59965f8 100644 (file)
@@ -39,7 +39,7 @@ namespace System.Buffers
         [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
         public T[] Items => _array;
 
-        [DebuggerDisplay("Count: {Segments.Length}", Name = "Segments")]
+        [DebuggerDisplay("Count = {Segments.Length}", Name = "Segments")]
         public struct ReadOnlySequenceDebugViewSegments
         {
             [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
index cfae4e6..61bb823 100644 (file)
@@ -182,7 +182,7 @@ namespace System
     /// </para>
     /// </remarks>
     [DebuggerTypeProxy(typeof(LazyDebugView<>))]
-    [DebuggerDisplay("ThreadSafetyMode={Mode}, IsValueCreated={IsValueCreated}, IsValueFaulted={IsValueFaulted}, Value={ValueForDebugDisplay}")]
+    [DebuggerDisplay("ThreadSafetyMode = {Mode}, IsValueCreated = {IsValueCreated}, IsValueFaulted = {IsValueFaulted}, Value = {ValueForDebugDisplay}")]
     public class Lazy<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]T>
     {
         private static T CreateViaDefaultConstructor() => LazyHelper.CreateViaDefaultConstructor<T>();
index 3188dab..dac4fda 100644 (file)
@@ -88,10 +88,10 @@ namespace System.Buffers
             {
                 T[] values = GetValues();
 
-                string display = $"{GetType().Name}, Count={values.Length}";
+                string display = $"{GetType().Name}, Count = {values.Length}";
                 if (values.Length > 0)
                 {
-                    display += ", Values=";
+                    display += ", Values = ";
                     display += typeof(T) == typeof(char) ?
                         "\"" + new string(Unsafe.As<T[], char[]>(ref values)) + "\"" :
                         string.Join(",", values);
index eb52c6b..29b8e6c 100644 (file)
@@ -23,7 +23,7 @@ namespace System.Threading.Tasks
     /// Provides concurrent and exclusive task schedulers that coordinate to execute
     /// tasks while ensuring that concurrent tasks may run concurrently and exclusive tasks never do.
     /// </summary>
-    [DebuggerDisplay("Concurrent={ConcurrentTaskCountForDebugger}, Exclusive={ExclusiveTaskCountForDebugger}, Mode={ModeForDebugger}")]
+    [DebuggerDisplay("Concurrent = {ConcurrentTaskCountForDebugger}, Exclusive = {ExclusiveTaskCountForDebugger}, Mode = {ModeForDebugger}")]
     [DebuggerTypeProxy(typeof(DebugView))]
     public class ConcurrentExclusiveSchedulerPair
     {
@@ -502,7 +502,7 @@ namespace System.Threading.Tasks
         /// <summary>
         /// A scheduler shim used to queue tasks to the pair and execute those tasks on request of the pair.
         /// </summary>
-        [DebuggerDisplay("Count={CountForDebugger}, MaxConcurrencyLevel={m_maxConcurrencyLevel}, Id={Id}")]
+        [DebuggerDisplay("Count = {CountForDebugger}, MaxConcurrencyLevel = {m_maxConcurrencyLevel}, Id = {Id}")]
         [DebuggerTypeProxy(typeof(DebugView))]
         private sealed class ConcurrentExclusiveTaskScheduler : TaskScheduler
         {
index 5d31ac0..30fc1e9 100644 (file)
@@ -29,7 +29,7 @@ namespace System.Threading.Tasks
     /// and may be used from multiple threads concurrently.
     /// </para>
     /// </remarks>
-    [DebuggerDisplay("Id={Id}")]
+    [DebuggerDisplay("Id = {Id}")]
     [DebuggerTypeProxy(typeof(SystemThreadingTasks_TaskSchedulerDebugView))]
     public abstract class TaskScheduler
     {
index 7099c45..2a98be6 100644 (file)
@@ -23,7 +23,7 @@ namespace System.Threading
     /// </para>
     /// </remarks>
     [DebuggerTypeProxy(typeof(SystemThreading_ThreadLocalDebugView<>))]
-    [DebuggerDisplay("IsValueCreated={IsValueCreated}, Value={ValueForDebugDisplay}, Count={ValuesCountForDebugDisplay}")]
+    [DebuggerDisplay("IsValueCreated = {IsValueCreated}, Value = {ValueForDebugDisplay}, Count = {ValuesCountForDebugDisplay}")]
     public class ThreadLocal<T> : IDisposable
     {
         // a delegate that returns the created value, if null the created value will be default(T)
index 6bfaa68..56d0173 100644 (file)
@@ -10,7 +10,7 @@ using System.Xml.XPath;
 
 namespace MS.Internal.Xml.XPath
 {
-    [DebuggerDisplay("Position={CurrentPosition}, Current={debuggerDisplayProxy, nq}")]
+    [DebuggerDisplay("Position = {CurrentPosition}, Current = {debuggerDisplayProxy, nq}")]
     internal class XPathArrayIterator : ResettableIterator
     {
         protected IList list;
index f02047d..ea88409 100644 (file)
@@ -6,7 +6,7 @@ using System.Diagnostics;
 
 namespace System.Xml.XPath
 {
-    [DebuggerDisplay("Position={CurrentPosition}, Current={debuggerDisplayProxy}")]
+    [DebuggerDisplay("Position = {CurrentPosition}, Current = {debuggerDisplayProxy}")]
     public abstract class XPathNodeIterator : ICloneable, IEnumerable
     {
         internal int count = -1;
index a4d1c45..f8c66ee 100644 (file)
@@ -13,7 +13,7 @@ namespace System.Security.Cryptography
     /// The CurveType property determines whether the curve is a named curve or an explicit curve
     /// which is either a prime curve or a characteristic-2 curve.
     /// </remarks>
-    [DebuggerDisplay("ECCurve: {Oid}")]
+    [DebuggerDisplay("ECCurve = {Oid}")]
     public partial struct ECCurve
     {
         /// <summary>
index 2142889..00f7e0f 100644 (file)
@@ -7,7 +7,7 @@ using System.Diagnostics;
 namespace System.Speech.Internal.SrgsCompiler
 {
 #if DEBUG
-    [DebuggerDisplay("Count #{Count}")]
+    [DebuggerDisplay("Count {Count}")]
     [DebuggerTypeProxy(typeof(ArcListDebugDisplay))]
 #endif
     internal class ArcList : RBList
index 11ecc10..b0e05b1 100644 (file)
@@ -7,7 +7,7 @@ using System.Speech.Internal.SrgsParser;
 namespace System.Speech.Internal.SrgsCompiler
 {
     // list of rules with scripts
-    [DebuggerDisplay("rule=\"{_rule}\" method=\"{_sMethod}\" operation=\"{_method.ToString ()}\"")]
+    [DebuggerDisplay("rule = \"{_rule}\", method = \"{_sMethod}\", operation = \"{_method.ToString ()}\"")]
     internal class ScriptRef
     {
         #region Constructors
index 36ec363..4ed91e2 100644 (file)
@@ -14,7 +14,7 @@ namespace System.Speech.Internal.SrgsCompiler
     /// instead all the arcs are, with a flag to indicate the end arc out of a state */
     /// </summary>
 #if DEBUG
-    [DebuggerDisplay("{ToString ()}")]
+    [DebuggerDisplay("{ToString()}")]
 #endif
     internal sealed class State : IComparable<State>
     {
index 39f79ba..95d8a33 100644 (file)
@@ -19,7 +19,7 @@ namespace System.Speech.Recognition
 {
     // Class for grammars which are to be loaded from SRGS or CFG.
     // In contrast to dictation grammars which inherit from this.
-    [DebuggerDisplay("Grammar: {(_uri != null ? \"uri=\" + _uri.ToString () + \" \" : \"\") + \"rule=\" + _ruleName }")]
+    [DebuggerDisplay("Grammar = {(_uri != null ? \"uri=\" + _uri.ToString () + \" \" : \"\") + \"rule=\" + _ruleName }")]
     public class Grammar
     {
         #region Constructors
index f371e01..cec7317 100644 (file)
@@ -11,7 +11,7 @@ namespace System.Speech.Recognition.SrgsGrammar
     /// Base class for all SRGS object to build XML fragment corresponding to the object.
     /// </summary>
     [Serializable]
-    [DebuggerDisplay("SrgsElement Children:[{_items.Count}]")]
+    [DebuggerDisplay("SrgsElement Children = [{_items.Count}]")]
     [DebuggerTypeProxy(typeof(SrgsElementDebugDisplay))]
     public abstract class SrgsElement : MarshalByRefObject, IElement
     {
index cb134eb..5a26762 100644 (file)
@@ -11,7 +11,7 @@ using System.Xml;
 namespace System.Speech.Recognition.SrgsGrammar
 {
     [Serializable]
-    [DebuggerDisplay("{DebuggerDisplayString ()}")]
+    [DebuggerDisplay("{DebuggerDisplayString()}")]
     public class SrgsNameValueTag : SrgsElement, IPropertyTag
     {
         #region Constructors
@@ -131,7 +131,7 @@ namespace System.Speech.Recognition.SrgsGrammar
 
         internal override string DebuggerDisplayString()
         {
-            StringBuilder sb = new("SrgsNameValue ");
+            StringBuilder sb = new("SrgsNameValue ");
 
             if (_name != null)
             {
index 3554220..7709a8f 100644 (file)
@@ -10,7 +10,7 @@ using System.Xml;
 namespace System.Speech.Recognition.SrgsGrammar
 {
     [Serializable]
-    [DebuggerDisplay("Rule={_id.ToString()} Scope={_scope.ToString()}")]
+    [DebuggerDisplay("Rule = {_id.ToString()}, Scope = {_scope.ToString()}")]
     [DebuggerTypeProxy(typeof(SrgsRuleDebugDisplay))]
     public class SrgsRule : IRule
     {
index 2675494..77e81de 100644 (file)
@@ -220,13 +220,13 @@ namespace System.Speech.Recognition.SrgsGrammar
             StringBuilder sb = new("SrgsRuleRef");
             if (_uri != null)
             {
-                sb.Append(" uri='");
+                sb.Append(" uri = '");
                 sb.Append(_uri.ToString());
                 sb.Append('\'');
             }
             else
             {
-                sb.Append(" special='");
+                sb.Append(" special = '");
                 sb.Append(_type.ToString());
                 sb.Append('\'');
             }
index aefa025..58dc8ec 100644 (file)
@@ -10,7 +10,7 @@ using System.Xml;
 namespace System.Speech.Recognition.SrgsGrammar
 {
     [Serializable]
-    [DebuggerDisplay("{DebuggerDisplayString ()}")]
+    [DebuggerDisplay("{DebuggerDisplayString()}")]
     public class SrgsSemanticInterpretationTag : SrgsElement, ISemanticTag
     {
         #region Constructors
@@ -80,7 +80,7 @@ namespace System.Speech.Recognition.SrgsGrammar
 
         internal override string DebuggerDisplayString()
         {
-            StringBuilder sb = new("SrgsSemanticInterpretationTag '");
+            StringBuilder sb = new("SrgsSemanticInterpretationTag '");
             sb.Append(_script);
             sb.Append('\'');
             return sb.ToString();
index 1e10859..735582a 100644 (file)
@@ -11,7 +11,7 @@ namespace System.Speech.Recognition.SrgsGrammar
     // Note that currently if multiple words are stored in a Subset they are treated internally
     // and in the result as multiple tokens.
     [Serializable]
-    [DebuggerDisplay("{DebuggerDisplayString ()}")]
+    [DebuggerDisplay("{DebuggerDisplayString()}")]
     public class SrgsSubset : SrgsElement, ISubset
     {
         #region Constructors
index e24762d..18142e5 100644 (file)
@@ -9,7 +9,7 @@ using System.Xml;
 namespace System.Speech.Recognition.SrgsGrammar
 {
     [Serializable]
-    [DebuggerDisplay("{DebuggerDisplayString ()}")]
+    [DebuggerDisplay("{DebuggerDisplayString()}")]
     public class SrgsText : SrgsElement, IElementText
     {
         #region Constructors
index e5f6d03..d521dc4 100644 (file)
@@ -12,7 +12,7 @@ namespace System.Speech.Recognition.SrgsGrammar
     // Note that currently if multiple words are stored in a Token they are treated internally
     // and in the result as multiple tokens.
     [Serializable]
-    [DebuggerDisplay("{DebuggerDisplayString ()}")]
+    [DebuggerDisplay("{DebuggerDisplayString()}")]
     public class SrgsToken : SrgsElement, IToken
     {
         #region Constructors
@@ -141,13 +141,13 @@ namespace System.Speech.Recognition.SrgsGrammar
 
         internal override string DebuggerDisplayString()
         {
-            StringBuilder sb = new("Token '");
+            StringBuilder sb = new("Token '");
             sb.Append(_text);
             sb.Append('\'');
 
             if (_pronunciation != null)
             {
-                sb.Append(" Pronunciation '");
+                sb.Append(", Pronunciation = '");
                 sb.Append(_pronunciation);
                 sb.Append('\'');
             }
index 9f09e7c..c8146ff 100644 (file)
@@ -500,24 +500,24 @@ namespace System.Speech.Recognition
 
         internal string DebuggerDisplayString()
         {
-            StringBuilder sb = new("Recognized text: '");
+            StringBuilder sb = new("Recognized text = '");
             sb.Append(Text);
             sb.Append('\'');
             if (Semantics.Value != null)
             {
-                sb.Append(" - Semantic Value  = ");
+                sb.Append(", Semantic Value  = ");
                 sb.Append(Semantics.Value.ToString());
             }
 
             if (Semantics.Count > 0)
             {
-                sb.Append(" - Semantic children count = ");
+                sb.Append(", Semantic children count = ");
                 sb.Append(Semantics.Count.ToString(CultureInfo.InvariantCulture));
             }
 
             if (Alternates.Count > 1)
             {
-                sb.Append(" - Alternate word count = ");
+                sb.Append(", Alternate word count = ");
                 sb.Append(Alternates.Count.ToString(CultureInfo.InvariantCulture));
             }
 
index d09144c..77289cf 100644 (file)
@@ -1163,7 +1163,7 @@ namespace System.Speech.Recognition
 
             private string DisplayDebugInfo()
             {
-                return $"'rule={_rule}";
+                return $"'rule = {_rule}";
             }
             internal Grammar _grammar;
             internal string _rule;
@@ -1176,7 +1176,7 @@ namespace System.Speech.Recognition
             internal RuleNode _next;
             internal RuleNode _child;
         }
-        [DebuggerDisplay("Name={_name} node={_ruleNode._rule} value={_value != null && _value.Value != null ? _value.Value.ToString() : \"\"}")]
+        [DebuggerDisplay("Name = {_name}, node = {_ruleNode._rule}, value = {_value != null && _value.Value != null ? _value.Value.ToString() : \"\"}")]
         private struct ResultPropertiesRef
         {
             internal string _name;
index 659cae7..c2c15ee 100644 (file)
@@ -6,7 +6,7 @@ using System.Diagnostics;
 namespace System.Speech.Recognition
 {
     [Serializable]
-    [DebuggerDisplay("Text: {Text}")]
+    [DebuggerDisplay("Text = {Text}")]
 
     public class RecognizedWordUnit
     {
index 7cfc9d0..10a44f8 100644 (file)
@@ -9,7 +9,7 @@ using System.Speech.Internal;
 namespace System.Speech.Recognition
 {
     [Serializable]
-    [DebuggerDisplay("'{_keyName}'= {Value}  -  Children = {_dictionary.Count}")]
+    [DebuggerDisplay("{_keyName} = {Value}, Children = {_dictionary.Count}")]
     [DebuggerTypeProxy(typeof(SemanticValueDebugDisplay))]
     public sealed class SemanticValue : IDictionary<string, SemanticValue>
     {
index ebcc74d..23d819c 100644 (file)
@@ -9,7 +9,7 @@ using System.Speech.Internal.Synthesis;
 
 namespace System.Speech.Synthesis
 {
-    [DebuggerDisplay("{VoiceInfo.Name} [{Enabled ? \"Enabled\" : \"Disabled\"}]")]
+    [DebuggerDisplay("{VoiceInfo.Name} [{Enabled ? \"Enabled\" : \"Disabled\"}]")]
     public class InstalledVoice
     {
         #region Constructors
index 7fe6b0c..68dc820 100644 (file)
@@ -166,7 +166,7 @@ namespace System.Speech.Synthesis.TtsEngine
 
     #region Public Types
     [StructLayout(LayoutKind.Sequential)]
-    [DebuggerDisplay("{State.Action} {TextToSpeak!=null?TextToSpeak:\"\"}")]
+    [DebuggerDisplay("{State.Action} {TextToSpeak!=null?TextToSpeak:\"\"}")]
     public class TextFragment
     {
         public TextFragment()
index 598d78b..1e2ee2d 100644 (file)
@@ -24,7 +24,7 @@ namespace System.Text.Json.SourceGeneration
     /// When adding new members to the type, please ensure that these properties
     /// are satisfied otherwise we risk breaking incremental caching in the source generator!
     /// </remarks>
-    [DebuggerDisplay("ContextType={ContextType.Name}")]
+    [DebuggerDisplay("ContextType = {ContextType.Name}")]
     public sealed record ContextGenerationSpec
     {
         public required TypeRef ContextType { get; init; }
index 577e921..56b4297 100644 (file)
@@ -23,7 +23,7 @@ namespace System.Text.Json.SourceGeneration
     /// When adding new members to the type, please ensure that these properties
     /// are satisfied otherwise we risk breaking incremental caching in the source generator!
     /// </remarks>
-    [DebuggerDisplay("Name={MemberName}, Type={PropertyType.Name}")]
+    [DebuggerDisplay("Name = {MemberName}, Type = {PropertyType.Name}")]
     public sealed record PropertyGenerationSpec
     {
         /// <summary>
index 431bbc8..189295b 100644 (file)
@@ -24,7 +24,7 @@ namespace System.Text.Json.SourceGeneration
     /// When adding new members to the type, please ensure that these properties
     /// are satisfied otherwise we risk breaking incremental caching in the source generator!
     /// </remarks>
-    [DebuggerDisplay("Type={TypeRef.Name}, ClassType={ClassType}")]
+    [DebuggerDisplay("Type = {TypeRef.Name}, ClassType = {ClassType}")]
     public sealed record TypeGenerationSpec
     {
         /// <summary>
index d7ba9a1..050aba0 100644 (file)
@@ -9,7 +9,7 @@ namespace System.Text.Json.SourceGeneration
     /// <summary>
     /// An equatable value representing type identity.
     /// </summary>
-    [DebuggerDisplay("Name={Name}")]
+    [DebuggerDisplay("Name = {Name}")]
     public sealed class TypeRef : IEquatable<TypeRef>
     {
         public TypeRef(ITypeSymbol type)
index d5d3bf7..f019469 100644 (file)
@@ -2525,7 +2525,7 @@ namespace System.Text.Json
         }
 
         [DebuggerBrowsable(DebuggerBrowsableState.Never)]
-        private string DebuggerDisplay => $"TokenType = {DebugTokenType} (TokenStartIndex = {TokenStartIndex}) Consumed = {BytesConsumed}";
+        private string DebuggerDisplay => $"TokenType = {DebugTokenType}, TokenStartIndex = {TokenStartIndex}, Consumed = {BytesConsumed}";
 
         // Using TokenType.ToString() (or {TokenType}) fails to render in the debug window. The
         // message "The runtime refused to evaluate the expression at this time." is shown. This
index 6128bd8..59a47bc 100644 (file)
@@ -406,6 +406,6 @@ namespace System.Text.Json
         }
 
         [DebuggerBrowsable(DebuggerBrowsableState.Never)]
-        private string DebuggerDisplay => $"Path:{JsonPath()} Current: ConverterStrategy.{Current.JsonTypeInfo?.Converter.ConverterStrategy}, {Current.JsonTypeInfo?.Type.Name}";
+        private string DebuggerDisplay => $"Path = {JsonPath()}, Current = ConverterStrategy.{Current.JsonTypeInfo?.Converter.ConverterStrategy}, {Current.JsonTypeInfo?.Type.Name}";
     }
 }
index 58baa77..32ab005 100644 (file)
@@ -440,6 +440,6 @@ namespace System.Text.Json
         }
 
         [DebuggerBrowsable(DebuggerBrowsableState.Never)]
-        private string DebuggerDisplay => $"Path:{PropertyPath()} Current: ConverterStrategy.{Current.JsonPropertyInfo?.EffectiveConverter.ConverterStrategy}, {Current.JsonTypeInfo?.Type.Name}";
+        private string DebuggerDisplay => $"Path = {PropertyPath()} Current = ConverterStrategy.{Current.JsonPropertyInfo?.EffectiveConverter.ConverterStrategy}, {Current.JsonTypeInfo?.Type.Name}";
     }
 }
index d68f1d7..ae45c1c 100644 (file)
@@ -9,7 +9,7 @@ using System.Threading.Tasks;
 namespace System.Threading.Channels
 {
     /// <summary>Provides a channel with a bounded capacity.</summary>
-    [DebuggerDisplay("Items={ItemsCountForDebugger}, Capacity={_bufferedCapacity}, Mode={_mode}, Closed={ChannelIsClosedForDebugger}")]
+    [DebuggerDisplay("Items = {ItemsCountForDebugger}, Capacity = {_bufferedCapacity}, Mode = {_mode}, Closed = {ChannelIsClosedForDebugger}")]
     [DebuggerTypeProxy(typeof(DebugEnumeratorDebugView<>))]
     internal sealed class BoundedChannel<T> : Channel<T>, IDebugEnumerable<T>
     {
@@ -55,7 +55,7 @@ namespace System.Threading.Channels
             Writer = new BoundedChannelWriter(this);
         }
 
-        [DebuggerDisplay("Items={ItemsCountForDebugger}")]
+        [DebuggerDisplay("Items = {ItemsCountForDebugger}")]
         [DebuggerTypeProxy(typeof(DebugEnumeratorDebugView<>))]
         private sealed class BoundedChannelReader : ChannelReader<T>, IDebugEnumerable<T>
         {
@@ -293,7 +293,7 @@ namespace System.Threading.Channels
             IEnumerator<T> IDebugEnumerable<T>.GetEnumerator() => _parent._items.GetEnumerator();
         }
 
-        [DebuggerDisplay("Items={ItemsCountForDebugger}, Capacity={CapacityForDebugger}")]
+        [DebuggerDisplay("Items = {ItemsCountForDebugger}, Capacity = {CapacityForDebugger}")]
         [DebuggerTypeProxy(typeof(DebugEnumeratorDebugView<>))]
         private sealed class BoundedChannelWriter : ChannelWriter<T>, IDebugEnumerable<T>
         {
index 9d099c4..298cad9 100644 (file)
@@ -13,7 +13,7 @@ namespace System.Threading.Channels
     /// Provides a buffered channel of unbounded capacity for use by any number
     /// of writers but at most a single reader at a time.
     /// </summary>
-    [DebuggerDisplay("Items={ItemsCountForDebugger}, Closed={ChannelIsClosedForDebugger}")]
+    [DebuggerDisplay("Items = {ItemsCountForDebugger}, Closed = {ChannelIsClosedForDebugger}")]
     [DebuggerTypeProxy(typeof(DebugEnumeratorDebugView<>))]
     internal sealed class SingleConsumerUnboundedChannel<T> : Channel<T>, IDebugEnumerable<T>
     {
@@ -48,7 +48,7 @@ namespace System.Threading.Channels
             Writer = new UnboundedChannelWriter(this);
         }
 
-        [DebuggerDisplay("Items={ItemsCountForDebugger}")]
+        [DebuggerDisplay("Items = {ItemsCountForDebugger}")]
         [DebuggerTypeProxy(typeof(DebugEnumeratorDebugView<>))]
         private sealed class UnboundedChannelReader : ChannelReader<T>, IDebugEnumerable<T>
         {
@@ -199,7 +199,7 @@ namespace System.Threading.Channels
             IEnumerator<T> IDebugEnumerable<T>.GetEnumerator() => _parent._items.GetEnumerator();
         }
 
-        [DebuggerDisplay("Items={ItemsCountForDebugger}")]
+        [DebuggerDisplay("Items = {ItemsCountForDebugger}")]
         [DebuggerTypeProxy(typeof(DebugEnumeratorDebugView<>))]
         private sealed class UnboundedChannelWriter : ChannelWriter<T>, IDebugEnumerable<T>
         {
index 2485cba..fb3facf 100644 (file)
@@ -10,7 +10,7 @@ using System.Threading.Tasks;
 namespace System.Threading.Channels
 {
     /// <summary>Provides a buffered channel of unbounded capacity.</summary>
-    [DebuggerDisplay("Items={ItemsCountForDebugger}, Closed={ChannelIsClosedForDebugger}")]
+    [DebuggerDisplay("Items = {ItemsCountForDebugger}, Closed = {ChannelIsClosedForDebugger}")]
     [DebuggerTypeProxy(typeof(DebugEnumeratorDebugView<>))]
     internal sealed class UnboundedChannel<T> : Channel<T>, IDebugEnumerable<T>
     {
@@ -37,7 +37,7 @@ namespace System.Threading.Channels
             Writer = new UnboundedChannelWriter(this);
         }
 
-        [DebuggerDisplay("Items={Count}")]
+        [DebuggerDisplay("Items = {Count}")]
         [DebuggerTypeProxy(typeof(DebugEnumeratorDebugView<>))]
         private sealed class UnboundedChannelReader : ChannelReader<T>, IDebugEnumerable<T>
         {
@@ -191,7 +191,7 @@ namespace System.Threading.Channels
             IEnumerator<T> IDebugEnumerable<T>.GetEnumerator() => _parent._items.GetEnumerator();
         }
 
-        [DebuggerDisplay("Items={ItemsCountForDebugger}")]
+        [DebuggerDisplay("Items = {ItemsCountForDebugger}")]
         [DebuggerTypeProxy(typeof(DebugEnumeratorDebugView<>))]
         private sealed class UnboundedChannelWriter : ChannelWriter<T>, IDebugEnumerable<T>
         {
index 41d7ca9..63cdedf 100644 (file)
@@ -209,7 +209,7 @@ namespace System.Threading.Tasks.Dataflow
                 {
                     var displaySource = _source as IDebuggerDisplay;
                     var displayTarget = _target as IDebuggerDisplay;
-                    return $"{Common.GetNameForDebugger(this)} Source=\"{(displaySource != null ? displaySource.Content : _source)}\", Target=\"{(displayTarget != null ? displayTarget.Content : _target)}\"";
+                    return $"{Common.GetNameForDebugger(this)} Source = \"{(displaySource != null ? displaySource.Content : _source)}\", Target = \"{(displayTarget != null ? displayTarget.Content : _target)}\"";
                 }
             }
             /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
@@ -745,7 +745,7 @@ namespace System.Threading.Tasks.Dataflow
                 get
                 {
                     var displayTarget = _target as IDebuggerDisplay;
-                    return $"{Common.GetNameForDebugger(this)} Message={_messageValue}, Target=\"{(displayTarget != null ? displayTarget.Content : _target)}\"";
+                    return $"{Common.GetNameForDebugger(this)} Message = {_messageValue}, Target = \"{(displayTarget != null ? displayTarget.Content : _target)}\"";
                 }
             }
             /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
@@ -1390,7 +1390,7 @@ namespace System.Threading.Tasks.Dataflow
             Task IDataflowBlock.Completion { get { throw new NotSupportedException(SR.NotSupported_MemberNotNeeded); } }
 
             /// <summary>The data to display in the debugger display attribute.</summary>
-            private object DebuggerDisplayContent => $"{Common.GetNameForDebugger(this)} IsCompleted={base.Task.IsCompleted}";
+            private object DebuggerDisplayContent => $"{Common.GetNameForDebugger(this)} IsCompleted = {base.Task.IsCompleted}";
 
             /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
             object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
@@ -1575,7 +1575,7 @@ namespace System.Threading.Tasks.Dataflow
             Task IDataflowBlock.Completion { get { throw new NotSupportedException(SR.NotSupported_MemberNotNeeded); } }
 
             /// <summary>The data to display in the debugger display attribute.</summary>
-            private object DebuggerDisplayContent => $"{Common.GetNameForDebugger(this)} IsCompleted={base.Task.IsCompleted}";
+            private object DebuggerDisplayContent => $"{Common.GetNameForDebugger(this)} IsCompleted = {base.Task.IsCompleted}";
 
             /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
             object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
@@ -1705,7 +1705,7 @@ namespace System.Threading.Tasks.Dataflow
                 {
                     var displayTarget = _target as IDebuggerDisplay;
                     var displaySource = _source as IDebuggerDisplay;
-                    return $"{Common.GetNameForDebugger(this)} Target=\"{(displayTarget != null ? displayTarget.Content : _target)}\", Source=\"{(displaySource != null ? displaySource.Content : _source)}\"";
+                    return $"{Common.GetNameForDebugger(this)} Target = \"{(displayTarget != null ? displayTarget.Content : _target)}\", Source = \"{(displaySource != null ? displaySource.Content : _source)}\"";
                 }
             }
             /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
@@ -2273,7 +2273,7 @@ namespace System.Threading.Tasks.Dataflow
             Task IDataflowBlock.Completion { get { throw new NotSupportedException(SR.NotSupported_MemberNotNeeded); } }
 
             /// <summary>The data to display in the debugger display attribute.</summary>
-            private object DebuggerDisplayContent => $"{Common.GetNameForDebugger(this)} IsCompleted={base.Task.IsCompleted}";
+            private object DebuggerDisplayContent => $"{Common.GetNameForDebugger(this)} IsCompleted = {base.Task.IsCompleted}";
 
             /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
             object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
@@ -2464,7 +2464,7 @@ namespace System.Threading.Tasks.Dataflow
                 get
                 {
                     var displaySource = _source as IDebuggerDisplay;
-                    return $"Observers={_observersState.Observers.Count}, Block=\"{(displaySource != null ? displaySource.Content : _source)}\"";
+                    return $"Observers = {_observersState.Observers.Count}, Block = \"{(displaySource != null ? displaySource.Content : _source)}\"";
                 }
             }
             /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
@@ -2723,7 +2723,7 @@ namespace System.Threading.Tasks.Dataflow
                 get
                 {
                     var displayTarget = _target as IDebuggerDisplay;
-                    return $"Block=\"{(displayTarget != null ? displayTarget.Content : _target)}\"";
+                    return $"Block = \"{(displayTarget != null ? displayTarget.Content : _target)}\"";
                 }
             }
             /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
index 53b6641..77fda4a 100644 (file)
@@ -314,7 +314,7 @@ namespace System.Threading.Tasks.Dataflow
 
         /// <summary>The data to display in the debugger display attribute.</summary>
         private object DebuggerDisplayContent =>
-            $"{(Common.GetNameForDebugger(this, _defaultTarget != null ? _defaultTarget.DataflowBlockOptions : _spscTarget!.DataflowBlockOptions))}, InputCount={InputCountForDebugger}";
+            $"{(Common.GetNameForDebugger(this, _defaultTarget != null ? _defaultTarget.DataflowBlockOptions : _spscTarget!.DataflowBlockOptions))}, InputCount = {InputCountForDebugger}";
 
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
         object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
index 6f26215..3afb6f1 100644 (file)
@@ -180,7 +180,7 @@ namespace System.Threading.Tasks.Dataflow
 
         /// <summary>The data to display in the debugger display attribute.</summary>
         private object DebuggerDisplayContent =>
-            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, BatchSize={BatchSize}, OutputCount={OutputCountForDebugger}";
+            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, BatchSize = {BatchSize}, OutputCount = {OutputCountForDebugger}";
 
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
         object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
@@ -1162,7 +1162,7 @@ namespace System.Threading.Tasks.Dataflow
                 get
                 {
                     var displayBatch = _owningBatch as IDebuggerDisplay;
-                    return $"Block=\"{(displayBatch != null ? displayBatch.Content : _owningBatch)}\"";
+                    return $"Block = \"{(displayBatch != null ? displayBatch.Content : _owningBatch)}\"";
                 }
             }
 
index 891e632..91feebf 100644 (file)
@@ -210,7 +210,7 @@ namespace System.Threading.Tasks.Dataflow
 
         /// <summary>The data to display in the debugger display attribute.</summary>
         private object DebuggerDisplayContent =>
-            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, BatchSize={BatchSize}, OutputCount={OutputCountForDebugger}";
+            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, BatchSize = {BatchSize}, OutputCount = {OutputCountForDebugger}";
 
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
         object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
@@ -468,7 +468,7 @@ namespace System.Threading.Tasks.Dataflow
 
         /// <summary>The data to display in the debugger display attribute.</summary>
         private object DebuggerDisplayContent =>
-            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, BatchSize={BatchSize}, OutputCount={OutputCountForDebugger}";
+            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, BatchSize = {BatchSize}, OutputCount = {OutputCountForDebugger}";
 
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
         object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
@@ -634,7 +634,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
 
         /// <summary>The data to display in the debugger display attribute.</summary>
         private object DebuggerDisplayContent =>
-            $"{Common.GetNameForDebugger(this)} InputCount={_messages.Count}";
+            $"{Common.GetNameForDebugger(this)} InputCount = {_messages.Count}";
 
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
         object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
index ae52fe0..a6f4c4f 100644 (file)
@@ -444,7 +444,7 @@ namespace System.Threading.Tasks.Dataflow
         public override string ToString() { return Common.GetNameForDebugger(this, _source.DataflowBlockOptions); }
 
         /// <summary>The data to display in the debugger display attribute.</summary>
-        private object DebuggerDisplayContent => $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, HasValue={HasValueForDebugger}, Value={ValueForDebugger}";
+        private object DebuggerDisplayContent => $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, HasValue = {HasValueForDebugger}, Value = {ValueForDebugger}";
 
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
         object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
@@ -1194,7 +1194,7 @@ namespace System.Threading.Tasks.Dataflow
                 get
                 {
                     var displaySource = _owningSource as IDebuggerDisplay;
-                    return $"Block=\"{(displaySource != null ? displaySource.Content : _owningSource)}\"";
+                    return $"Block = \"{(displaySource != null ? displaySource.Content : _owningSource)}\"";
                 }
             }
 
index 73c0f4a..712dfa6 100644 (file)
@@ -428,7 +428,7 @@ namespace System.Threading.Tasks.Dataflow
 
         /// <summary>The data to display in the debugger display attribute.</summary>
         private object DebuggerDisplayContent =>
-            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, Count={CountForDebugger}";
+            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, Count = {CountForDebugger}";
 
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
         object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
index d281ab7..ecf01fc 100644 (file)
@@ -191,7 +191,7 @@ namespace System.Threading.Tasks.Dataflow
 
         /// <summary>The data to display in the debugger display attribute.</summary>
         private object DebuggerDisplayContent =>
-            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, OutputCount={OutputCountForDebugger}";
+            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, OutputCount = {OutputCountForDebugger}";
 
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
         object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
@@ -421,7 +421,7 @@ namespace System.Threading.Tasks.Dataflow
 
         /// <summary>The data to display in the debugger display attribute.</summary>
         private object DebuggerDisplayContent =>
-            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)} OutputCount={OutputCountForDebugger}";
+            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)} OutputCount = {OutputCountForDebugger}";
 
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
         object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
@@ -958,7 +958,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
             get
             {
                 var displayJoin = _sharedResources._ownerJoin as IDebuggerDisplay;
-                return $"{Common.GetNameForDebugger(this)} InputCount={InputCountForDebugger}, Join=\"{(displayJoin != null ? displayJoin.Content : _sharedResources._ownerJoin)}\"";
+                return $"{Common.GetNameForDebugger(this)} InputCount = {InputCountForDebugger}, Join = \"{(displayJoin != null ? displayJoin.Content : _sharedResources._ownerJoin)}\"";
             }
         }
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
@@ -1448,7 +1448,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
             get
             {
                 var displayJoin = _ownerJoin as IDebuggerDisplay;
-                return $"Block=\"{(displayJoin != null ? displayJoin.Content : _ownerJoin)}\"";
+                return $"Block = \"{(displayJoin != null ? displayJoin.Content : _ownerJoin)}\"";
             }
         }
     }
index da0d0da..30ebf3c 100644 (file)
@@ -401,7 +401,7 @@ namespace System.Threading.Tasks.Dataflow
 
         /// <summary>The data to display in the debugger display attribute.</summary>
         private object DebuggerDisplayContent =>
-            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, InputCount={InputCountForDebugger}, OutputCount={OutputCountForDebugger}";
+            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, InputCount = {InputCountForDebugger}, OutputCount = {OutputCountForDebugger}";
 
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
         object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
index f84c6fb..c5587ed 100644 (file)
@@ -607,7 +607,7 @@ namespace System.Threading.Tasks.Dataflow
 
         /// <summary>The data to display in the debugger display attribute.</summary>
         private object DebuggerDisplayContent =>
-            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, InputCount={InputCountForDebugger}, OutputCount={OutputCountForDebugger}";
+            $"{Common.GetNameForDebugger(this, _source.DataflowBlockOptions)}, InputCount = {InputCountForDebugger}, OutputCount = {OutputCountForDebugger}";
 
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
         object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
index ea9ddd6..8f9a25f 100644 (file)
@@ -516,7 +516,7 @@ namespace System.Threading.Tasks.Dataflow
 
         /// <summary>The data to display in the debugger display attribute.</summary>
         private object DebuggerDisplayContent =>
-            $"{Common.GetNameForDebugger(this, _dataflowBlockOptions)}, HasValue={HasValue}, Value={Value}";
+            $"{Common.GetNameForDebugger(this, _dataflowBlockOptions)}, HasValue = {HasValue}, Value = {Value}";
 
         /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
         object IDebuggerDisplay.Content { get { return DebuggerDisplayContent; } }
index a3a99a5..7801a2e 100644 (file)
@@ -607,7 +607,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
     }
 
     /// <summary>State used only when bounding.</summary>
-    [DebuggerDisplay("BoundedCapacity={BoundedCapacity}}")]
+    [DebuggerDisplay("BoundedCapacity = {BoundedCapacity}}")]
     internal class BoundingState
     {
         /// <summary>The maximum number of messages allowed to be buffered.</summary>
@@ -635,7 +635,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
 
     /// <summary>Stated used only when bounding and when postponed messages are stored.</summary>
     /// <typeparam name="TInput">Specifies the type of input messages.</typeparam>
-    [DebuggerDisplay("BoundedCapacity={BoundedCapacity}, PostponedMessages={PostponedMessagesCountForDebugger}")]
+    [DebuggerDisplay("BoundedCapacity = {BoundedCapacity}, PostponedMessages = {PostponedMessagesCountForDebugger}")]
     internal class BoundingStateWithPostponed<TInput> : BoundingState
     {
         /// <summary>Queue of postponed messages.</summary>
index 83f999d..432ec82 100644 (file)
@@ -21,7 +21,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
 
     /// <summary>Provides a simple, immutable array.</summary>
     /// <typeparam name="T">Specifies the type of the data stored in the array.</typeparam>
-    [DebuggerDisplay("Count={Count}")]
+    [DebuggerDisplay("Count = {Count}")]
     internal readonly struct ImmutableArray<T>
     {
         /// <summary>An empty array.</summary>
index 2c7e45f..ecb0a41 100644 (file)
@@ -33,7 +33,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
     /// This type expects the first item to be ID==0 and for all subsequent items
     /// to increase IDs sequentially.
     /// </remarks>
-    [DebuggerDisplay("Count={CountForDebugging}")]
+    [DebuggerDisplay("Count = {CountForDebugging}")]
     [DebuggerTypeProxy(typeof(ReorderingBuffer<>.DebugView))]
     internal sealed class ReorderingBuffer<TOutput> : IReorderingBuffer
     {
index e029b93..6ba06b8 100644 (file)
@@ -985,7 +985,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
             get
             {
                 var displaySource = _owningSource as IDebuggerDisplay;
-                return $"Block=\"{(displaySource != null ? displaySource.Content : _owningSource)}\"";
+                return $"Block = \"{(displaySource != null ? displaySource.Content : _owningSource)}\"";
             }
         }
 
index a9107ee..42e0123 100644 (file)
@@ -373,7 +373,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
             get
             {
                 var displayTarget = _owningTarget as IDebuggerDisplay;
-                return $"Block=\"{(displayTarget != null ? displayTarget.Content : _owningTarget)}\"";
+                return $"Block = \"{(displayTarget != null ? displayTarget.Content : _owningTarget)}\"";
             }
         }
 
index 0465688..cff6ecf 100644 (file)
@@ -829,7 +829,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
             get
             {
                 var displayTarget = _owningTarget as IDebuggerDisplay;
-                return $"Block=\"{(displayTarget != null ? displayTarget.Content : _owningTarget)}\"";
+                return $"Block = \"{(displayTarget != null ? displayTarget.Content : _owningTarget)}\"";
             }
         }
 
index 5791c19..994e449 100644 (file)
@@ -20,7 +20,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
     /// <summary>Stores targets registered with a source.</summary>
     /// <typeparam name="T">Specifies the type of data accepted by the targets.</typeparam>
     /// <remarks>This type is not thread-safe.</remarks>
-    [DebuggerDisplay("Count={Count}")]
+    [DebuggerDisplay("Count = {Count}")]
     [DebuggerTypeProxy(typeof(TargetRegistry<>.DebugView))]
     internal sealed class TargetRegistry<T>
     {
@@ -359,7 +359,7 @@ namespace System.Threading.Tasks.Dataflow.Internal
                 {
                     var displaySource = _owningSource as IDebuggerDisplay;
                     var displayTarget = _target as IDebuggerDisplay;
-                    return $"{Common.GetNameForDebugger(this)} Source=\"{(displaySource != null ? displaySource.Content : _owningSource)}\", Target=\"{(displayTarget != null ? displayTarget.Content : _target)}\"";
+                    return $"{Common.GetNameForDebugger(this)} Source = \"{(displaySource != null ? displaySource.Content : _owningSource)}\", Target = \"{(displayTarget != null ? displayTarget.Content : _target)}\"";
                 }
             }
             /// <summary>Gets the data to display in the debugger display attribute for this instance.</summary>
index e5633da..ce4e57a 100644 (file)
@@ -91,7 +91,7 @@ namespace System.Threading
     /// completed.
     /// </para>
     /// </remarks>
-    [DebuggerDisplay("Participant Count={ParticipantCount},Participants Remaining={ParticipantsRemaining}")]
+    [DebuggerDisplay("ParticipantCount = {ParticipantCount}, ParticipantsRemaining = {ParticipantsRemaining}")]
     public class Barrier : IDisposable
     {
         //This variable holds the basic barrier variables:
index 966eae9..6f0ac95 100644 (file)
@@ -22,7 +22,7 @@ namespace System.Threading
     /// completed, and Reset, which should only be used when no other threads are
     /// accessing the event.
     /// </remarks>
-    [DebuggerDisplay("Initial Count={InitialCount}, Current Count={CurrentCount}")]
+    [DebuggerDisplay("InitialCount = {InitialCount}, CurrentCount = {CurrentCount}")]
     public class CountdownEvent : IDisposable
     {
         // CountdownEvent is a simple synchronization primitive used for fork/join parallelism. We create a
index a6dedfd..775fdd9 100644 (file)
@@ -32,10 +32,10 @@ namespace DebuggerTests
 
             var locals = await GetProperties(pause_location["callFrames"][0]["callFrameId"].Value<string>());
             await CheckObject(locals, "a", "DebuggerTests.WithDisplayString", description:"Some one Value 2 End");
-            await CheckObject(locals, "c", "DebuggerTests.DebuggerDisplayMethodTest", description: "First Int:32 Second Int:43");
+            await CheckObject(locals, "c", "DebuggerTests.DebuggerDisplayMethodTest", description: "First Int = 32, Second Int = 43");
             await CheckObject(locals, "myList", "System.Collections.Generic.List<int>", description: "Count = 4");
-            await CheckObject(locals, "person1", "DebuggerTests.Person", description: "FirstName: Anton, SurName: Mueller, Age: 44");
-            await CheckObject(locals, "person2", "DebuggerTests.Person", description: "FirstName: Lisa, SurName: M\u00FCller, Age: 41");
+            await CheckObject(locals, "person1", "DebuggerTests.Person", description: "FirstName = Anton, SurName = Mueller, Age = 44");
+            await CheckObject(locals, "person2", "DebuggerTests.Person", description: "FirstName = Lisa, SurName = M\u00FCller, Age = 41");
         }
 
         [ConditionalFact(nameof(RunningOnChrome))]
index a96b3b9..c273e49 100644 (file)
@@ -67,11 +67,11 @@ namespace DebuggerTests
 
         string GetDebuggerDisplay ()
         {
-            return "First Int:" + someInt + " Second Int:" + someInt2;
+            return "First Int = " + someInt + ", Second Int = " + someInt2;
         }
     }
 
-    [DebuggerDisplay("FirstName: {FirstName}, SurName: {SurName}, Age: {Age}")]
+    [DebuggerDisplay("FirstName = {FirstName}, SurName = {SurName}, Age = {Age}")]
     public class Person {
         public string FirstName { get; set; }
         public string SurName { get; set; }
index b69b7b1..5d5e066 100644 (file)
@@ -9,7 +9,7 @@ namespace System.Collections.Concurrent
 {
     /// <summary>Provides a thread-safe object pool.</summary>
     /// <typeparam name="T">Specifies the type of the elements stored in the pool.</typeparam>
-    [DebuggerDisplay("Count={Count}")]
+    [DebuggerDisplay("Count = {Count}")]
     [DebuggerTypeProxy(typeof(IProducerConsumerCollection_DebugView<>))]
     public sealed class ObjectPool<T> : ProducerConsumerCollectionBase<T>
     {
index b69b7b1..5d5e066 100644 (file)
@@ -9,7 +9,7 @@ namespace System.Collections.Concurrent
 {
     /// <summary>Provides a thread-safe object pool.</summary>
     /// <typeparam name="T">Specifies the type of the elements stored in the pool.</typeparam>
-    [DebuggerDisplay("Count={Count}")]
+    [DebuggerDisplay("Count = {Count}")]
     [DebuggerTypeProxy(typeof(IProducerConsumerCollection_DebugView<>))]
     public sealed class ObjectPool<T> : ProducerConsumerCollectionBase<T>
     {
index 609b176..e14cb27 100644 (file)
@@ -34,6 +34,6 @@ namespace Microsoft.Diagnostics.NETCore.Client
         /// </summary>
         public Guid RuntimeInstanceCookie { get; }
 
-        internal string DebuggerDisplay => FormattableString.Invariant($"PID={ProcessId}, Cookie={RuntimeInstanceCookie}");
+        internal string DebuggerDisplay => FormattableString.Invariant($"PID = {ProcessId}, Cookie = {RuntimeInstanceCookie}");
     }
 }