From db21621bb681ee6d85f81fd04d7ea286b0742ca7 Mon Sep 17 00:00:00 2001 From: Thomas Guillemard Date: Thu, 27 Jun 2019 13:11:51 +0200 Subject: PrntStub: Add a way to print arrays (#711) * PrntStub: Add a way to print arrays This commit adds support for printing arrays in stubs (useful for IPC InBuffer/InPointer). This also add an util to parse an array of structure from a BinaryReader * Fix missing space Co-Authored-By: Ac_K --- .../Logging/Formatters/DefaultLogFormatter.cs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'Ryujinx.Common/Logging') diff --git a/Ryujinx.Common/Logging/Formatters/DefaultLogFormatter.cs b/Ryujinx.Common/Logging/Formatters/DefaultLogFormatter.cs index 0c4396e7..c6605e0e 100644 --- a/Ryujinx.Common/Logging/Formatters/DefaultLogFormatter.cs +++ b/Ryujinx.Common/Logging/Formatters/DefaultLogFormatter.cs @@ -1,4 +1,5 @@ -using System.Reflection; +using System; +using System.Reflection; using System.Text; namespace Ryujinx.Common.Logging @@ -31,7 +32,23 @@ namespace Ryujinx.Common.Logging { sb.Append(prop.Name); sb.Append(": "); - sb.Append(prop.GetValue(args.Data)); + + if (typeof(Array).IsAssignableFrom(prop.PropertyType)) + { + Array enumerable = (Array)prop.GetValue(args.Data); + foreach (var item in enumerable) + { + sb.Append(item.ToString()); + sb.Append(", "); + } + + sb.Remove(sb.Length - 2, 2); + } + else + { + sb.Append(prop.GetValue(args.Data)); + } + sb.Append(" - "); } -- cgit v1.2.3