Browse Source

Revert "Change: Lua.Runtime.Metamethods -> Lua.MetamethodNames"

This reverts commit e6df4e1a7714adbc267222c343d0203c2ce88ac9.
AnnulusGames 1 year ago
parent
commit
5e8b5f3960

+ 2 - 2
src/Lua.SourceGenerator/LuaObjectGenerator.Emit.cs

@@ -89,8 +89,8 @@ $$"""
                 if (__metatable != null) return __metatable;
 
                 __metatable = new();
-                __metatable[global::Lua.MetamethodNames.Index] = __metamethod_index;
-                __metatable[global::Lua.MetamethodNames.NewIndex] = __metamethod_newindex;
+                __metatable[global::Lua.Runtime.Metamethods.Index] = __metamethod_index;
+                __metatable[global::Lua.Runtime.Metamethods.NewIndex] = __metamethod_newindex;
                 return __metatable;
             }
             set

+ 1 - 1
src/Lua/LuaValue.cs

@@ -406,7 +406,7 @@ public readonly struct LuaValue : IEquatable<LuaValue>
 
     internal ValueTask<int> CallToStringAsync(LuaFunctionExecutionContext context, Memory<LuaValue> buffer, CancellationToken cancellationToken)
     {
-        if (this.TryGetMetamethod(context.State, MetamethodNames.ToString, out var metamethod))
+        if (this.TryGetMetamethod(context.State, Metamethods.ToString, out var metamethod))
         {
             if (!metamethod.TryRead<LuaFunction>(out var func))
             {

+ 17 - 17
src/Lua/Runtime/LuaVirtualMachine.cs

@@ -135,7 +135,7 @@ public static partial class LuaVirtualMachine
                             {
                                 stack.UnsafeGet(RA) = valueB + valueC;
                             }
-                            else if (vb.TryGetMetamethod(state, MetamethodNames.Add, out var metamethod) || vc.TryGetMetamethod(state, MetamethodNames.Add, out metamethod))
+                            else if (vb.TryGetMetamethod(state, Metamethods.Add, out var metamethod) || vc.TryGetMetamethod(state, Metamethods.Add, out metamethod))
                             {
                                 if (!metamethod.TryRead<LuaFunction>(out var func))
                                 {
@@ -177,7 +177,7 @@ public static partial class LuaVirtualMachine
                             {
                                 stack.UnsafeGet(RA) = valueB - valueC;
                             }
-                            else if (vb.TryGetMetamethod(state, MetamethodNames.Sub, out var metamethod) || vc.TryGetMetamethod(state, MetamethodNames.Sub, out metamethod))
+                            else if (vb.TryGetMetamethod(state, Metamethods.Sub, out var metamethod) || vc.TryGetMetamethod(state, Metamethods.Sub, out metamethod))
                             {
                                 if (!metamethod.TryRead<LuaFunction>(out var func))
                                 {
@@ -219,7 +219,7 @@ public static partial class LuaVirtualMachine
                             {
                                 stack.UnsafeGet(RA) = valueB * valueC;
                             }
-                            else if (vb.TryGetMetamethod(state, MetamethodNames.Mul, out var metamethod) || vc.TryGetMetamethod(state, MetamethodNames.Mul, out metamethod))
+                            else if (vb.TryGetMetamethod(state, Metamethods.Mul, out var metamethod) || vc.TryGetMetamethod(state, Metamethods.Mul, out metamethod))
                             {
                                 if (!metamethod.TryRead<LuaFunction>(out var func))
                                 {
@@ -261,7 +261,7 @@ public static partial class LuaVirtualMachine
                             {
                                 stack.UnsafeGet(RA) = valueB / valueC;
                             }
-                            else if (vb.TryGetMetamethod(state, MetamethodNames.Div, out var metamethod) || vc.TryGetMetamethod(state, MetamethodNames.Div, out metamethod))
+                            else if (vb.TryGetMetamethod(state, Metamethods.Div, out var metamethod) || vc.TryGetMetamethod(state, Metamethods.Div, out metamethod))
                             {
                                 if (!metamethod.TryRead<LuaFunction>(out var func))
                                 {
@@ -308,7 +308,7 @@ public static partial class LuaVirtualMachine
                                 }
                                 stack.UnsafeGet(RA) = mod;
                             }
-                            else if (vb.TryGetMetamethod(state, MetamethodNames.Mod, out var metamethod) || vc.TryGetMetamethod(state, MetamethodNames.Mod, out metamethod))
+                            else if (vb.TryGetMetamethod(state, Metamethods.Mod, out var metamethod) || vc.TryGetMetamethod(state, Metamethods.Mod, out metamethod))
                             {
                                 if (!metamethod.TryRead<LuaFunction>(out var func))
                                 {
@@ -350,7 +350,7 @@ public static partial class LuaVirtualMachine
                             {
                                 stack.UnsafeGet(RA) = Math.Pow(valueB, valueC);
                             }
-                            else if (vb.TryGetMetamethod(state, MetamethodNames.Pow, out var metamethod) || vc.TryGetMetamethod(state, MetamethodNames.Pow, out metamethod))
+                            else if (vb.TryGetMetamethod(state, Metamethods.Pow, out var metamethod) || vc.TryGetMetamethod(state, Metamethods.Pow, out metamethod))
                             {
                                 if (!metamethod.TryRead<LuaFunction>(out var func))
                                 {
@@ -391,7 +391,7 @@ public static partial class LuaVirtualMachine
                             {
                                 stack.UnsafeGet(RA) = -valueB;
                             }
-                            else if (vb.TryGetMetamethod(state, MetamethodNames.Unm, out var metamethod))
+                            else if (vb.TryGetMetamethod(state, Metamethods.Unm, out var metamethod))
                             {
                                 if (!metamethod.TryRead<LuaFunction>(out var func))
                                 {
@@ -438,7 +438,7 @@ public static partial class LuaVirtualMachine
                             {
                                 stack.UnsafeGet(RA) = str.Length;
                             }
-                            else if (vb.TryGetMetamethod(state, MetamethodNames.Len, out var metamethod))
+                            else if (vb.TryGetMetamethod(state, Metamethods.Len, out var metamethod))
                             {
                                 if (!metamethod.TryRead<LuaFunction>(out var func))
                                 {
@@ -497,7 +497,7 @@ public static partial class LuaVirtualMachine
                             {
                                 stack.UnsafeGet(RA) = strB + strC;
                             }
-                            else if (vb.TryGetMetamethod(state, MetamethodNames.Concat, out var metamethod) || vc.TryGetMetamethod(state, MetamethodNames.Concat, out metamethod))
+                            else if (vb.TryGetMetamethod(state, Metamethods.Concat, out var metamethod) || vc.TryGetMetamethod(state, Metamethods.Concat, out metamethod))
                             {
                                 if (!metamethod.TryRead<LuaFunction>(out var func))
                                 {
@@ -541,7 +541,7 @@ public static partial class LuaVirtualMachine
                             var vc = RK(stack, chunk, instruction.C, frame.Base);
                             var compareResult = vb == vc;
 
-                            if (!compareResult && (vb.TryGetMetamethod(state, MetamethodNames.Eq, out var metamethod) || vc.TryGetMetamethod(state, MetamethodNames.Eq, out metamethod)))
+                            if (!compareResult && (vb.TryGetMetamethod(state, Metamethods.Eq, out var metamethod) || vc.TryGetMetamethod(state, Metamethods.Eq, out metamethod)))
                             {
                                 if (!metamethod.TryRead<LuaFunction>(out var func))
                                 {
@@ -585,7 +585,7 @@ public static partial class LuaVirtualMachine
                             {
                                 compareResult = valueB < valueC;
                             }
-                            else if (vb.TryGetMetamethod(state, MetamethodNames.Lt, out var metamethod) || vc.TryGetMetamethod(state, MetamethodNames.Lt, out metamethod))
+                            else if (vb.TryGetMetamethod(state, Metamethods.Lt, out var metamethod) || vc.TryGetMetamethod(state, Metamethods.Lt, out metamethod))
                             {
                                 if (!metamethod.TryRead<LuaFunction>(out var func))
                                 {
@@ -633,7 +633,7 @@ public static partial class LuaVirtualMachine
                             {
                                 compareResult = valueB <= valueC;
                             }
-                            else if (vb.TryGetMetamethod(state, MetamethodNames.Le, out var metamethod) || vc.TryGetMetamethod(state, MetamethodNames.Le, out metamethod))
+                            else if (vb.TryGetMetamethod(state, Metamethods.Le, out var metamethod) || vc.TryGetMetamethod(state, Metamethods.Le, out metamethod))
                             {
                                 if (!metamethod.TryRead<LuaFunction>(out var func))
                                 {
@@ -693,7 +693,7 @@ public static partial class LuaVirtualMachine
                             var va = stack.UnsafeGet(RA);
                             if (!va.TryRead<LuaFunction>(out var func))
                             {
-                                if (va.TryGetMetamethod(state, MetamethodNames.Call, out var metamethod) && metamethod.TryRead<LuaFunction>(out func))
+                                if (va.TryGetMetamethod(state, Metamethods.Call, out var metamethod) && metamethod.TryRead<LuaFunction>(out func))
                                 {
                                 }
                                 else
@@ -703,7 +703,7 @@ public static partial class LuaVirtualMachine
                             }
 
                             (var newBase, var argumentCount) = PrepareForFunctionCall(thread, func, instruction, RA, resultBuffer.AsSpan(), false);
-
+                            
                             var callPosition = MemoryMarshalEx.UnsafeElementAt(chunk.SourcePositions, pc);
                             var chunkName = chunk.Name ?? LuaState.DefaultChunkName;
                             var rootChunkName = rootChunk.Name ?? LuaState.DefaultChunkName;
@@ -768,7 +768,7 @@ public static partial class LuaVirtualMachine
                             var va = stack.UnsafeGet(RA);
                             if (!va.TryRead<LuaFunction>(out var func))
                             {
-                                if (!va.TryGetMetamethod(state, MetamethodNames.Call, out var metamethod) && !metamethod.TryRead<LuaFunction>(out func))
+                                if (!va.TryGetMetamethod(state, Metamethods.Call, out var metamethod) && !metamethod.TryRead<LuaFunction>(out func))
                                 {
                                     LuaRuntimeException.AttemptInvalidOperation(GetTracebacks(state, chunk, pc), "call", metamethod);
                                 }
@@ -981,7 +981,7 @@ public static partial class LuaVirtualMachine
             buffer.Span[0] = result;
             return new(1);
         }
-        else if (table.TryGetMetamethod(state, MetamethodNames.Index, out var metamethod))
+        else if (table.TryGetMetamethod(state, Metamethods.Index, out var metamethod))
         {
             if (!metamethod.TryRead<LuaFunction>(out var indexTable))
             {
@@ -1033,7 +1033,7 @@ public static partial class LuaVirtualMachine
             t[key] = value;
             return new(1);
         }
-        else if (table.TryGetMetamethod(state, MetamethodNames.NewIndex, out var metamethod))
+        else if (table.TryGetMetamethod(state, Metamethods.NewIndex, out var metamethod))
         {
             if (!metamethod.TryRead<LuaFunction>(out var indexTable))
             {

+ 2 - 3
src/Lua/MetamethodNames.cs → src/Lua/Runtime/Metamethods.cs

@@ -1,9 +1,8 @@
-namespace Lua;
+namespace Lua.Runtime;
 
-public static class MetamethodNames
+public static class Metamethods
 {
     public const string Metatable = "__metatable";
-
     public const string Index = "__index";
     public const string NewIndex = "__newindex";
     public const string Add = "__add";

+ 9 - 9
src/Lua/Standard/BasicLibrary.cs

@@ -119,7 +119,7 @@ public static class BasicLibrary
             {
                 buffer.Span[0] = LuaValue.Nil;
             }
-            else if (table.Metatable.TryGetValue(MetamethodNames.Metatable, out var metatable))
+            else if (table.Metatable.TryGetValue(Metamethods.Metatable, out var metatable))
             {
                 buffer.Span[0] = metatable;
             }
@@ -141,7 +141,7 @@ public static class BasicLibrary
         var arg0 = context.GetArgument<LuaTable>(0);
 
         // If table has a metamethod __ipairs, calls it with table as argument and returns the first three results from the call.
-        if (arg0.Metatable != null && arg0.Metatable.TryGetValue(MetamethodNames.IPairs, out var metamethod))
+        if (arg0.Metatable != null && arg0.Metatable.TryGetValue(Metamethods.IPairs, out var metamethod))
         {
             if (!metamethod.TryRead<LuaFunction>(out var function))
             {
@@ -156,7 +156,7 @@ public static class BasicLibrary
         buffer.Span[2] = 0;
         return new(3);
     }
-
+    
     public static async ValueTask<int> LoadFile(LuaFunctionExecutionContext context, Memory<LuaValue> buffer, CancellationToken cancellationToken)
     {
         // Lua-CSharp does not support binary chunks, the mode argument is ignored.
@@ -240,13 +240,13 @@ public static class BasicLibrary
             return new(1);
         }
     }
-
+    
     public static ValueTask<int> Pairs(LuaFunctionExecutionContext context, Memory<LuaValue> buffer, CancellationToken cancellationToken)
     {
         var arg0 = context.GetArgument<LuaTable>(0);
 
         // If table has a metamethod __pairs, calls it with table as argument and returns the first three results from the call.
-        if (arg0.Metatable != null && arg0.Metatable.TryGetValue(MetamethodNames.Pairs, out var metamethod))
+        if (arg0.Metatable != null && arg0.Metatable.TryGetValue(Metamethods.Pairs, out var metamethod))
         {
             if (!metamethod.TryRead<LuaFunction>(out var function))
             {
@@ -352,7 +352,7 @@ public static class BasicLibrary
         arg0[arg1] = arg2;
         return new(0);
     }
-
+    
     public static ValueTask<int> Select(LuaFunctionExecutionContext context, Memory<LuaValue> buffer, CancellationToken cancellationToken)
     {
         var arg0 = context.GetArgument(0);
@@ -390,7 +390,7 @@ public static class BasicLibrary
             return default;
         }
     }
-
+    
     public static ValueTask<int> SetMetatable(LuaFunctionExecutionContext context, Memory<LuaValue> buffer, CancellationToken cancellationToken)
     {
         var arg0 = context.GetArgument<LuaTable>(0);
@@ -401,7 +401,7 @@ public static class BasicLibrary
             LuaRuntimeException.BadArgument(context.State.GetTraceback(), 2, "setmetatable", [LuaValueType.Nil, LuaValueType.Table]);
         }
 
-        if (arg0.Metatable != null && arg0.Metatable.TryGetValue(MetamethodNames.Metatable, out _))
+        if (arg0.Metatable != null && arg0.Metatable.TryGetValue(Metamethods.Metatable, out _))
         {
             throw new LuaRuntimeException(context.State.GetTraceback(), "cannot change a protected metatable");
         }
@@ -559,7 +559,7 @@ public static class BasicLibrary
         var arg0 = context.GetArgument(0);
         return arg0.CallToStringAsync(context, buffer, cancellationToken);
     }
-
+    
     public static ValueTask<int> Type(LuaFunctionExecutionContext context, Memory<LuaValue> buffer, CancellationToken cancellationToken)
     {
         var arg0 = context.GetArgument(0);

+ 1 - 1
src/Lua/Standard/FileHandle.cs

@@ -48,7 +48,7 @@ public class FileHandle : ILuaUserData
     static FileHandle()
     {
         fileHandleMetatable = new LuaTable();
-        fileHandleMetatable[MetamethodNames.Index] = IndexMetamethod;
+        fileHandleMetatable[Metamethods.Index] = IndexMetamethod;
     }
 
     public FileHandle(Stream stream)

+ 1 - 1
src/Lua/Standard/StringLibrary.cs

@@ -25,7 +25,7 @@ public static class StringLibrary
             state.SetMetatable(key, metatable);
         }
 
-        metatable[MetamethodNames.Index] = new LuaFunction("index", (context, buffer, cancellationToken) =>
+        metatable[Metamethods.Index] = new LuaFunction("index", (context, buffer, cancellationToken) =>
         {
             context.GetArgument<string>(0);
             var key = context.GetArgument(1);