diff options
| author | Thog <me@thog.eu> | 2020-04-30 14:07:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-30 14:07:41 +0200 |
| commit | 886e42fb19b5d69a6a256e20bd1b948124f790a3 (patch) | |
| tree | 8648c0a8b3cb82032e9cc9adae411cc8d1dbc8d3 /Ryujinx.Debugger/Profiler/ProfilerConfiguration.cs | |
| parent | 7ab3fccd4d13bf3ed07a7fa207cfee61b43c56f3 (diff) | |
Use the official JSON parser (#1151)
This remove Utf8son and JsonPrettyPrinter dependencies.
NOTE: the standard JSON parser doesn't support configurable
indentation, as a result, all the pretty printed JSON are indented with 2
spaces.
Diffstat (limited to 'Ryujinx.Debugger/Profiler/ProfilerConfiguration.cs')
| -rw-r--r-- | Ryujinx.Debugger/Profiler/ProfilerConfiguration.cs | 43 |
1 files changed, 2 insertions, 41 deletions
diff --git a/Ryujinx.Debugger/Profiler/ProfilerConfiguration.cs b/Ryujinx.Debugger/Profiler/ProfilerConfiguration.cs index e0842f2e..73ef8f55 100644 --- a/Ryujinx.Debugger/Profiler/ProfilerConfiguration.cs +++ b/Ryujinx.Debugger/Profiler/ProfilerConfiguration.cs @@ -1,8 +1,5 @@ -using Gdk; -using System; +using Ryujinx.Common.Utilities; using System.IO; -using Utf8Json; -using Utf8Json.Resolvers; namespace Ryujinx.Debugger.Profiler { @@ -21,48 +18,12 @@ namespace Ryujinx.Debugger.Profiler /// <param name="path">The path to the JSON configuration file</param> public static ProfilerConfiguration Load(string path) { - var resolver = CompositeResolver.Create( - new[] { new ConfigurationEnumFormatter<Key>() }, - new[] { StandardResolver.AllowPrivateSnakeCase } - ); - if (!File.Exists(path)) { throw new FileNotFoundException($"Profiler configuration file {path} not found"); } - using (Stream stream = File.OpenRead(path)) - { - return JsonSerializer.Deserialize<ProfilerConfiguration>(stream, resolver); - } - } - - private class ConfigurationEnumFormatter<T> : IJsonFormatter<T> - where T : struct - { - public void Serialize(ref JsonWriter writer, T value, IJsonFormatterResolver formatterResolver) - { - formatterResolver.GetFormatterWithVerify<string>() - .Serialize(ref writer, value.ToString(), formatterResolver); - } - - public T Deserialize(ref JsonReader reader, IJsonFormatterResolver formatterResolver) - { - if (reader.ReadIsNull()) - { - return default(T); - } - - string enumName = formatterResolver.GetFormatterWithVerify<string>() - .Deserialize(ref reader, formatterResolver); - - if (Enum.TryParse<T>(enumName, out T result)) - { - return result; - } - - return default(T); - } + return JsonHelper.DeserializeFromFile<ProfilerConfiguration>(path); } } } |
