aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Common/Logging/Formatters/DynamicObjectFormatter.cs
diff options
context:
space:
mode:
authorTSR Berry <20988865+TSRBerry@users.noreply.github.com>2023-04-08 01:22:00 +0200
committerMary <thog@protonmail.com>2023-04-27 23:51:14 +0200
commitcee712105850ac3385cd0091a923438167433f9f (patch)
tree4a5274b21d8b7f938c0d0ce18736d3f2993b11b1 /Ryujinx.Common/Logging/Formatters/DynamicObjectFormatter.cs
parentcd124bda587ef09668a971fa1cac1c3f0cfc9f21 (diff)
Move solution and projects to src
Diffstat (limited to 'Ryujinx.Common/Logging/Formatters/DynamicObjectFormatter.cs')
-rw-r--r--Ryujinx.Common/Logging/Formatters/DynamicObjectFormatter.cs84
1 files changed, 0 insertions, 84 deletions
diff --git a/Ryujinx.Common/Logging/Formatters/DynamicObjectFormatter.cs b/Ryujinx.Common/Logging/Formatters/DynamicObjectFormatter.cs
deleted file mode 100644
index 5f15cc2a..00000000
--- a/Ryujinx.Common/Logging/Formatters/DynamicObjectFormatter.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-#nullable enable
-using System;
-using System.Reflection;
-using System.Text;
-
-namespace Ryujinx.Common.Logging
-{
- internal class DynamicObjectFormatter
- {
- private static readonly ObjectPool<StringBuilder> StringBuilderPool = SharedPools.Default<StringBuilder>();
-
- public static string? Format(object? dynamicObject)
- {
- if (dynamicObject is null)
- {
- return null;
- }
-
- StringBuilder sb = StringBuilderPool.Allocate();
-
- try
- {
- Format(sb, dynamicObject);
-
- return sb.ToString();
- }
- finally
- {
- StringBuilderPool.Release(sb);
- }
- }
-
- public static void Format(StringBuilder sb, object? dynamicObject)
- {
- if (dynamicObject is null)
- {
- return;
- }
-
- PropertyInfo[] props = dynamicObject.GetType().GetProperties();
-
- sb.Append('{');
-
- foreach (var prop in props)
- {
- sb.Append(prop.Name);
- sb.Append(": ");
-
- if (typeof(Array).IsAssignableFrom(prop.PropertyType))
- {
- Array? array = (Array?) prop.GetValue(dynamicObject);
-
- if (array is not null)
- {
- foreach (var item in array)
- {
- sb.Append(item);
- sb.Append(", ");
- }
-
- if (array.Length > 0)
- {
- sb.Remove(sb.Length - 2, 2);
- }
- }
- }
- else
- {
- sb.Append(prop.GetValue(dynamicObject));
- }
-
- sb.Append(" ; ");
- }
-
- // We remove the final ';' from the string
- if (props.Length > 0)
- {
- sb.Remove(sb.Length - 3, 3);
- }
-
- sb.Append('}');
- }
- }
-} \ No newline at end of file