From ae2080f145c5b4b3ba0987fa5c381cfe4aff9a7c Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Thu, 12 Sep 2019 15:21:32 +0200 Subject: [PATCH] Support for setting binary operations --- PorygonSharp/EvalValues/EvalValue.cs | 2 +- PorygonSharp/Script.cs | 6 +- PorygonSharp/UserData/BinaryOperationKind.cs | 23 +++++++ PorygonSharp/UserData/UserData.cs | 60 +++++++++++++++++- .../UserData/UserDataBinaryOperation.cs | 60 ++++++++++++++++++ PorygonSharp/UserData/UserDataField.cs | 7 +- PorygonSharp/libPorygonLang.so | Bin 2677264 -> 2687600 bytes PorygonSharpTests/UserDataTests.cs | 60 ++++++++++++++++++ 8 files changed, 212 insertions(+), 6 deletions(-) create mode 100644 PorygonSharp/UserData/BinaryOperationKind.cs create mode 100644 PorygonSharp/UserData/UserDataBinaryOperation.cs diff --git a/PorygonSharp/EvalValues/EvalValue.cs b/PorygonSharp/EvalValues/EvalValue.cs index 4737771..ad7bf3b 100644 --- a/PorygonSharp/EvalValues/EvalValue.cs +++ b/PorygonSharp/EvalValues/EvalValue.cs @@ -57,7 +57,7 @@ namespace PorygonSharp.EvalValues return str; } - public object EvaluateGenericObject() + private object EvaluateGenericObject() { var ptr = EvaluateUserDataObj(_handle); return GCHandle.FromIntPtr(ptr).Target; diff --git a/PorygonSharp/Script.cs b/PorygonSharp/Script.cs index 74fe14e..9614175 100644 --- a/PorygonSharp/Script.cs +++ b/PorygonSharp/Script.cs @@ -131,9 +131,11 @@ namespace PorygonSharp public string GetBoundTreeString() { var length = GetTreeStringLength(_internalScriptHandle); - var sb = new StringBuilder(length - 4); + var sb = new StringBuilder(length); GetTreeString(_internalScriptHandle, sb); - return sb.ToString(); + var s = sb.ToString(); + s = s.Substring(0, length); + return s; } [DllImport("PorygonLang", EntryPoint = "CreateScript", CallingConvention = CallingConvention.Cdecl)] diff --git a/PorygonSharp/UserData/BinaryOperationKind.cs b/PorygonSharp/UserData/BinaryOperationKind.cs new file mode 100644 index 0000000..4941784 --- /dev/null +++ b/PorygonSharp/UserData/BinaryOperationKind.cs @@ -0,0 +1,23 @@ +namespace PorygonSharp.UserData +{ + internal enum BinaryOperationKind : byte + { + // Math + Addition, + Subtraction, + Multiplication, + Division, + + // Equality + Equality, + Inequality, + Less, + LessOrEquals, + Greater, + GreaterOrEquals, + + // Logical + LogicalAnd, + LogicalOr, + } +} \ No newline at end of file diff --git a/PorygonSharp/UserData/UserData.cs b/PorygonSharp/UserData/UserData.cs index 10f6b0c..2b8242b 100644 --- a/PorygonSharp/UserData/UserData.cs +++ b/PorygonSharp/UserData/UserData.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Runtime.InteropServices; +using PorygonSharp.EvalValues; using PorygonSharp.Utilities; namespace PorygonSharp.UserData @@ -43,6 +44,7 @@ namespace PorygonSharp.UserData SetIsCastableFunc(id, Marshal.GetFunctionPointerForDelegate(_isCastableFunc)); SetCastFunc(id, Marshal.GetFunctionPointerForDelegate(_castFunc)); + } internal void RegisterFields() @@ -79,6 +81,8 @@ namespace PorygonSharp.UserData { RegisterFunction(method); } + + RegisterOperations(); } private void RegisterField(FieldInfo field) @@ -150,9 +154,9 @@ namespace PorygonSharp.UserData var obj = GCHandle.FromIntPtr(objPtr).Target; var objType = obj.GetType(); if (expectedType.IsAssignableFrom(objType)) - return objPtr; + return EvalValueCreator.CreateValue(obj).GetPointer(); if (objType.IsAssignableFrom(expectedType)) - return objPtr; + return EvalValueCreator.CreateValue(obj).GetPointer(); if (_implicitCasts.TryGetValue(expectedType, out var func)) { var castVal = func.Invoke(null, new[] {obj}); @@ -168,6 +172,54 @@ namespace PorygonSharp.UserData throw new Exception("Invalid cast kind"); } + private void RegisterOperations() + { + var methods = Type.GetMethods(BindingFlags.Public | BindingFlags.Static); + foreach (var method in methods) + { + switch (method.Name) + { + case "op_Addition": + RegisterOperation(BinaryOperationKind.Addition, method); + break; + case "op_Subtraction": + RegisterOperation(BinaryOperationKind.Subtraction, method); + break; + case "op_Multiply": + RegisterOperation(BinaryOperationKind.Multiplication, method); + break; + case "op_Division": + RegisterOperation(BinaryOperationKind.Division, method); + break; + case "op_Equality": + RegisterOperation(BinaryOperationKind.Equality, method); + break; + case "op_Inequality": + RegisterOperation(BinaryOperationKind.Inequality, method); + break; + case "op_LessThan": + RegisterOperation(BinaryOperationKind.Less, method); + break; + case "op_GreaterThan": + RegisterOperation(BinaryOperationKind.Greater, method); + break; + case "op_LessThanOrEqual": + RegisterOperation(BinaryOperationKind.LessOrEquals, method); + break; + case "op_GreaterThanOrEqual": + RegisterOperation(BinaryOperationKind.GreaterOrEquals, method); + break; + default: continue; + } + } + } + + private void RegisterOperation(BinaryOperationKind kind, MethodInfo info) + { + var operation = UserDataBinaryOperation.Create(info); + AddUserdataBinaryOperation(Id, (byte)kind, operation.Handle); + } + [DllImport("PorygonLang", EntryPoint = "RegisterUserDataField", CallingConvention = CallingConvention.Cdecl)] internal static extern void RegisterUserDataField(uint hashId, uint fieldId, IntPtr field); @@ -179,6 +231,10 @@ namespace PorygonSharp.UserData [DllImport("PorygonLang", EntryPoint = "SetCastFunc", CallingConvention = CallingConvention.Cdecl)] private static extern void SetCastFunc(uint id, IntPtr castFunc); + + [DllImport("PorygonLang", EntryPoint = "AddUserdataBinaryOperation", CallingConvention = CallingConvention.Cdecl)] + private static extern void AddUserdataBinaryOperation(uint id, byte kind, IntPtr operation); + } } \ No newline at end of file diff --git a/PorygonSharp/UserData/UserDataBinaryOperation.cs b/PorygonSharp/UserData/UserDataBinaryOperation.cs new file mode 100644 index 0000000..e3fd74d --- /dev/null +++ b/PorygonSharp/UserData/UserDataBinaryOperation.cs @@ -0,0 +1,60 @@ +using System; +using System.Reflection; +using System.Runtime.InteropServices; +using PorygonSharp.EvalValues; + +namespace PorygonSharp.UserData +{ + public class UserDataBinaryOperation + { + private delegate IntPtr BinaryFunctionDelegate(IntPtr objectPtr, IntPtr variable); + // ReSharper disable once PrivateFieldCanBeConvertedToLocalVariable + private readonly BinaryFunctionDelegate _func; + private readonly MethodInfo _info; + private readonly Type _parameterType; + internal IntPtr Handle { get; private set; } + private UserDataBinaryOperation(MethodInfo info) + { + _info = info; + _func = Invoke; + _parameterType = info.GetParameters()[1].ParameterType; + } + + public static UserDataBinaryOperation Create(MethodInfo info) + { + var op = new UserDataBinaryOperation(info); + var funcPtr = Marshal.GetFunctionPointerForDelegate(op._func); + var secParType = ScriptType.ScriptTypeHandler.GetScriptType(op._parameterType); + var returnType = ScriptType.ScriptTypeHandler.GetScriptType(op._info.ReturnType); + if (!secParType.HasValue || !returnType.HasValue) + { + return null; + } + op.Handle = CreateUserdataBinaryOperation(funcPtr, secParType.Value, returnType.Value); + return op; + } + + private IntPtr Invoke(IntPtr objectPtr, IntPtr variable) + { + var a = GCHandle.FromIntPtr(objectPtr).Target; + var b = new EvalValue(variable); + var bVal = b.GetObjectValue(); + if (_parameterType.IsEnum) + { + var baseType = _parameterType.GetEnumUnderlyingType(); + bVal = Convert.ChangeType(bVal, baseType); + } + else if (bVal is IConvertible) + { + var convertedType = Convert.ChangeType(bVal, _parameterType); + bVal = convertedType; + } + var o = _info.Invoke(null, new[] {a, bVal}); + return EvalValueCreator.CreateValue(o).GetPointer(); + } + + + [DllImport("PorygonLang", EntryPoint = "CreateUserdataBinaryOperation", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr CreateUserdataBinaryOperation(IntPtr func, IntPtr secondParameterType, IntPtr returnType); + } +} \ No newline at end of file diff --git a/PorygonSharp/UserData/UserDataField.cs b/PorygonSharp/UserData/UserDataField.cs index c6ab92d..ca269f9 100644 --- a/PorygonSharp/UserData/UserDataField.cs +++ b/PorygonSharp/UserData/UserDataField.cs @@ -72,7 +72,12 @@ namespace PorygonSharp.UserData var eval = new EvalValue(parameters[i]); var val = eval.GetObjectValue(); var desiredType = parameterTypes[i]; - if (val is IConvertible) + if (desiredType.IsEnum) + { + var baseType = desiredType.GetEnumUnderlyingType(); + evaluatedParameters[i] = Convert.ChangeType(val, baseType); + } + else if (val is IConvertible) { var convertedType = Convert.ChangeType(val, desiredType); evaluatedParameters[i] = convertedType; diff --git a/PorygonSharp/libPorygonLang.so b/PorygonSharp/libPorygonLang.so index 0eb2be7ec67d8d58f79d55bff29cd334e7b5082d..f0fcddf17433516093863265a0381a9f35f832f2 100755 GIT binary patch literal 2687600 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