From 49b57e7ef3c3be9c048f22a24550227af4aa2855 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Sat, 2 Feb 2019 16:39:03 +0900 Subject: [PATCH] GenericInvokeCallFactory.Create to CreateAction --- .../Editor/Tests/GenericCallUtilityTests.cs | 4 ++-- .../Scripts/FormatterExtensionsSerializer.cs | 10 +++++----- .../GenericInvokeCallFactory.cs | 20 +++++++++++++------ .../GenericInvokeCallFactory.g.cs | 16 +++++++-------- .../JsonSchemaValidator/JsonArrayValidator.cs | 2 +- 5 files changed, 30 insertions(+), 22 deletions(-) diff --git a/Assets/VRM/UniJSON/Editor/Tests/GenericCallUtilityTests.cs b/Assets/VRM/UniJSON/Editor/Tests/GenericCallUtilityTests.cs index 9a6f73b22..793ce922d 100644 --- a/Assets/VRM/UniJSON/Editor/Tests/GenericCallUtilityTests.cs +++ b/Assets/VRM/UniJSON/Editor/Tests/GenericCallUtilityTests.cs @@ -31,11 +31,11 @@ namespace UniJSON var mi = s.GetType().GetMethod("Set"); - var invoke = (Action)GenericInvokeCallFactory.Create(mi); + var invoke = GenericInvokeCallFactory.CreateAction(mi); invoke(s, 1); Assert.AreEqual(1, s.Value); - var exp = (Action)GenericExpressionCallFactory.Create(mi); + var exp = GenericExpressionCallFactory.Create(mi); exp(s, 2); Assert.AreEqual(2, s.Value); } diff --git a/Assets/VRM/UniJSON/Scripts/FormatterExtensionsSerializer.cs b/Assets/VRM/UniJSON/Scripts/FormatterExtensionsSerializer.cs index ca5b873c8..16350f3fc 100644 --- a/Assets/VRM/UniJSON/Scripts/FormatterExtensionsSerializer.cs +++ b/Assets/VRM/UniJSON/Scripts/FormatterExtensionsSerializer.cs @@ -84,7 +84,7 @@ namespace UniJSON if (typeof(T) == typeof(object) && t.GetType() != typeof(object)) { var mi = FormatterExtensionsSerializer.GetMethod("SerializeObject"); - return GenericInvokeCallFactory.Create(mi); + return GenericInvokeCallFactory.CreateAction(mi); } try @@ -93,7 +93,7 @@ namespace UniJSON var mi = typeof(IFormatter).GetMethod("Value", new Type[] { t }); if (mi != null) { - return GenericInvokeCallFactory.Create(mi); + return GenericInvokeCallFactory.CreateAction(mi); } } catch (AmbiguousMatchException) @@ -111,7 +111,7 @@ namespace UniJSON if (idictionary != null) { var mi = FormatterExtensionsSerializer.GetMethod("SerializeDictionary"); - return GenericInvokeCallFactory.Create(mi); + return GenericInvokeCallFactory.CreateAction(mi); } } @@ -120,7 +120,7 @@ namespace UniJSON if (t == typeof(object[])) { var mi = FormatterExtensionsSerializer.GetMethod("SerializeObjectArray"); - return GenericInvokeCallFactory.Create(mi); + return GenericInvokeCallFactory.CreateAction(mi); } } @@ -134,7 +134,7 @@ namespace UniJSON { var g = FormatterExtensionsSerializer.GetMethod("SerializeArray"); var mi = g.MakeGenericMethod(ienumerable.GetGenericArguments()); - return GenericInvokeCallFactory.Create(mi); + return GenericInvokeCallFactory.CreateAction(mi); } } diff --git a/Assets/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.cs b/Assets/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.cs index 76cd2528c..01c968fe7 100644 --- a/Assets/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.cs +++ b/Assets/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.cs @@ -43,7 +43,7 @@ namespace UniJSON "); // CreateWithThis - w.WriteLine("//////////// Create"); + w.WriteLine("//////////// CreateAction"); // Create for (int i = 1; i <= ARGS && i< NET35MAX; ++i) @@ -54,7 +54,7 @@ namespace UniJSON var source = @" - public static Action Create(MethodInfo m) + public static Action CreateAction(MethodInfo m) { Action callback = null; if (m.IsStatic) @@ -88,7 +88,7 @@ namespace UniJSON var a = String.Join(", ", GetArgs("a", i).ToArray()); var source = @" - public static Action<$0> CreateWithThis(MethodInfo m, S instance) + public static Action<$0> CreateActionBindThis(MethodInfo m, S instance) { if (m.IsStatic) { @@ -130,8 +130,8 @@ namespace UniJSON } #endif - #region no arguments - public static Action Create(MethodInfo m) + #region zero arguments + public static Action CreateAction(MethodInfo m) { return (s) => { @@ -139,7 +139,15 @@ namespace UniJSON }; } - public static Action CreateWithThis(MethodInfo m, S instance) + public static Func CreateFunc(MethodInfo m) + { + return (s) => + { + return (T)m.Invoke(s, new object[] { }); + }; + } + + public static Action CreateActionBindThis(MethodInfo m, S instance) { return () => { diff --git a/Assets/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.g.cs b/Assets/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.g.cs index ce26ca6d5..6b55983c2 100644 --- a/Assets/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.g.cs +++ b/Assets/VRM/UniJSON/Scripts/GenericCallUtility/GenericInvokeCallFactory.g.cs @@ -8,9 +8,9 @@ namespace UniJSON public static partial class GenericInvokeCallFactory { -//////////// Create +//////////// CreateAction - public static Action Create(MethodInfo m) + public static Action CreateAction(MethodInfo m) { Action callback = null; if (m.IsStatic) @@ -31,7 +31,7 @@ namespace UniJSON } - public static Action Create(MethodInfo m) + public static Action CreateAction(MethodInfo m) { Action callback = null; if (m.IsStatic) @@ -52,7 +52,7 @@ namespace UniJSON } - public static Action Create(MethodInfo m) + public static Action CreateAction(MethodInfo m) { Action callback = null; if (m.IsStatic) @@ -74,7 +74,7 @@ namespace UniJSON //////////// CreateWithThis - public static Action CreateWithThis(MethodInfo m, S instance) + public static Action CreateActionBindThis(MethodInfo m, S instance) { if (m.IsStatic) { @@ -100,7 +100,7 @@ namespace UniJSON } - public static Action CreateWithThis(MethodInfo m, S instance) + public static Action CreateActionBindThis(MethodInfo m, S instance) { if (m.IsStatic) { @@ -126,7 +126,7 @@ namespace UniJSON } - public static Action CreateWithThis(MethodInfo m, S instance) + public static Action CreateActionBindThis(MethodInfo m, S instance) { if (m.IsStatic) { @@ -152,7 +152,7 @@ namespace UniJSON } - public static Action CreateWithThis(MethodInfo m, S instance) + public static Action CreateActionBindThis(MethodInfo m, S instance) { if (m.IsStatic) { diff --git a/Assets/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonArrayValidator.cs b/Assets/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonArrayValidator.cs index 2859ebd2b..492c33031 100644 --- a/Assets/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonArrayValidator.cs +++ b/Assets/VRM/UniJSON/Scripts/JsonSchemaValidator/JsonArrayValidator.cs @@ -264,7 +264,7 @@ namespace UniJSON IFormatter, JsonSchemaValidationContext, T>) - GenericInvokeCallFactory.Create< + GenericInvokeCallFactory.CreateAction< IJsonSchemaValidator, IFormatter, JsonSchemaValidationContext,