Skip to content

Commit

Permalink
Fix DebuggerDisplay for serializer types (#65971)
Browse files Browse the repository at this point in the history
* Fix DebuggerDisplay for serializer types

* Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/WriteStack.cs
  • Loading branch information
eiriktsarpalis authored Mar 4, 2022
1 parent 6dcefe0 commit db73362
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ namespace System.Text.Json.Serialization.Metadata
/// <summary>
/// Provides JSON serialization-related metadata about a property or field.
/// </summary>
[DebuggerDisplay("MemberInfo={MemberInfo}")]
[DebuggerDisplay("{DebuggerDisplay,nq}")]
[EditorBrowsable(EditorBrowsableState.Never)]
public abstract class JsonPropertyInfo
{
Expand Down Expand Up @@ -519,5 +519,8 @@ internal JsonTypeInfo JsonTypeInfo
/// Default value used for parameterized ctor invocation.
/// </summary>
internal abstract object? DefaultValue { get; }

[DebuggerBrowsable(DebuggerBrowsableState.Never)]
private string DebuggerDisplay => $"MemberInfo={MemberInfo}";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ namespace System.Text.Json.Serialization.Metadata
/// Provides JSON serialization-related metadata about a type.
/// </summary>
/// <remarks>This API is for use by the output of the System.Text.Json source generator and should not be called directly.</remarks>
[DebuggerDisplay("ConverterStrategy.{ConverterStrategy}, {Type.Name}")]
[DebuggerDisplay("{DebuggerDisplay,nq}")]
[EditorBrowsable(EditorBrowsableState.Never)]
public partial class JsonTypeInfo
{
Expand Down Expand Up @@ -632,5 +632,8 @@ private static bool IsByRefLike(Type type)

return numberHandlingAttribute?.Handling;
}

[DebuggerBrowsable(DebuggerBrowsableState.Never)]
private string DebuggerDisplay => $"ConverterStrategy.{PropertyInfoForTypeInfo.ConverterStrategy}, {Type.Name}";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

namespace System.Text.Json
{
[DebuggerDisplay("Path:{JsonPath()} Current: ConverterStrategy.{Current.JsonTypeInfo.PropertyInfoForTypeInfo.ConverterStrategy}, {Current.JsonTypeInfo.Type.Name}")]
[DebuggerDisplay("{DebuggerDisplay,nq}")]
internal struct ReadStack
{
internal static readonly char[] SpecialCharacters = { '.', ' ', '\'', '/', '"', '[', ']', '(', ')', '\t', '\n', '\r', '\f', '\b', '\\', '\u0085', '\u2028', '\u2029' };
Expand Down Expand Up @@ -357,5 +357,8 @@ private void SetConstructorArgumentState()
}
}
}

[DebuggerBrowsable(DebuggerBrowsableState.Never)]
private string DebuggerDisplay => $"Path:{JsonPath()} Current: ConverterStrategy.{Current.JsonTypeInfo?.PropertyInfoForTypeInfo.ConverterStrategy}, {Current.JsonTypeInfo?.Type.Name}";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace System.Text.Json
{
[DebuggerDisplay("ConverterStrategy.{JsonTypeInfo.PropertyInfoForTypeInfo.ConverterStrategy}, {JsonTypeInfo.Type.Name}")]
[DebuggerDisplay("{DebuggerDisplay,nq}")]
internal struct ReadStackFrame
{
// Current property values.
Expand Down Expand Up @@ -91,5 +91,8 @@ public bool IsProcessingEnumerable()
{
return (JsonTypeInfo.PropertyInfoForTypeInfo.ConverterStrategy & ConverterStrategy.Enumerable) != 0;
}

[DebuggerBrowsable(DebuggerBrowsableState.Never)]
private string DebuggerDisplay => $"ConverterStrategy.{JsonTypeInfo?.PropertyInfoForTypeInfo.ConverterStrategy}, {JsonTypeInfo?.Type.Name}";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

namespace System.Text.Json
{
[DebuggerDisplay("Path:{PropertyPath()} Current: ConverterStrategy.{ConverterStrategy.JsonTypeInfo.PropertyInfoForTypeInfo.ConverterStrategy}, {Current.JsonTypeInfo.Type.Name}")]
[DebuggerDisplay("{DebuggerDisplay,nq}")]
internal struct WriteStack
{
public int CurrentDepth => _count;
Expand Down Expand Up @@ -378,5 +378,8 @@ static void AppendPropertyName(StringBuilder sb, string? propertyName)
}
}
}

[DebuggerBrowsable(DebuggerBrowsableState.Never)]
private string DebuggerDisplay => $"Path:{PropertyPath()} Current: ConverterStrategy.{Current.JsonPropertyInfo?.ConverterStrategy}, {Current.JsonTypeInfo?.Type.Name}";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace System.Text.Json
{
[DebuggerDisplay("ConverterStrategy.{JsonTypeInfo.PropertyInfoForTypeInfo.ConverterStrategy}, {JsonTypeInfo.Type.Name}")]
[DebuggerDisplay("{DebuggerDisplay,nq}")]
internal struct WriteStackFrame
{
/// <summary>
Expand Down Expand Up @@ -149,5 +149,8 @@ public void ExitPolymorphicConverter(bool success)
Debug.Assert(PolymorphicSerializationState == PolymorphicSerializationState.PolymorphicReEntryStarted);
PolymorphicSerializationState = success ? PolymorphicSerializationState.None : PolymorphicSerializationState.PolymorphicReEntrySuspended;
}

[DebuggerBrowsable(DebuggerBrowsableState.Never)]
private string DebuggerDisplay => $"ConverterStrategy.{JsonTypeInfo?.PropertyInfoForTypeInfo.ConverterStrategy}, {JsonTypeInfo?.Type.Name}";
}
}

0 comments on commit db73362

Please sign in to comment.