提交 f0c1c1e6 编写于 作者: A Andrew Casey

Make arrays respect MemberDisplayKind.Hidden

上级 13d1f032
......@@ -57,7 +57,7 @@ public void ValidMemberDisplayFormat()
var array = new[] { 1, 2, 3 };
options.MemberDisplayFormat = MemberDisplayFormat.Hidden;
Assert.Equal("int[3] { 1, 2, 3 }", Formatter.FormatObject(array, options)); // TODO (acasey): seems wrong
Assert.Equal("int[3]", Formatter.FormatObject(array, options));
options.MemberDisplayFormat = MemberDisplayFormat.SingleLine;
Assert.Equal("int[3] { 1, 2, 3 }", Formatter.FormatObject(array, options));
......
......@@ -139,7 +139,7 @@ private Builder FormatObjectRecursive(Builder result, object obj, bool isRoot, o
{
if (VisitedObjects.Add(obj))
{
FormatArray(result, (Array)obj, inline: memberFormat != MemberDisplayFormat.SeparateLines);
FormatArray(result, (Array)obj);
VisitedObjects.Remove(obj);
}
......@@ -565,18 +565,23 @@ private void FormatCollectionHeader(Builder result, ICollection collection)
}
}
private void FormatArray(Builder result, Array array, bool inline)
private void FormatArray(Builder result, Array array)
{
FormatCollectionHeader(result, array);
if (_memberDisplayFormat == MemberDisplayFormat.Hidden)
{
return;
}
if (array.Rank > 1)
{
FormatMultidimensionalArray(result, array, inline);
FormatMultidimensionalArrayElements(result, array, inline: _memberDisplayFormat != MemberDisplayFormat.SeparateLines);
}
else
{
result.Append(' ');
FormatSequenceMembers(result, (IEnumerable)array, inline);
FormatSequenceMembers(result, array, inline: _memberDisplayFormat != MemberDisplayFormat.SeparateLines);
}
}
......@@ -649,7 +654,7 @@ private void FormatSequenceMembers(Builder result, IEnumerable sequence, bool in
result.AppendGroupClosing(inline);
}
private void FormatMultidimensionalArray(Builder result, Array array, bool inline)
private void FormatMultidimensionalArrayElements(Builder result, Array array, bool inline)
{
Debug.Assert(array.Rank > 1);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册