Browse Source

rename: add async suffix to operator apis

Akeit0 1 month ago
parent
commit
f79a61813c

+ 1 - 1
sandbox/Benchmark/InterpreterSteps.cs

@@ -46,6 +46,6 @@ public class InterpreterSteps
     [Benchmark]
     public async ValueTask RunAsync()
     {
-        await state.Call(closure, []);
+        await state.CallAsync(closure, []);
     }
 }

+ 18 - 18
src/Lua/LuaStateExtensions.cs

@@ -100,7 +100,7 @@ public static class LuaStateExtensions
         return new(stack, stack.Count - argumentCount);
     }
 
-    public static ValueTask<LuaValue> Add(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
+    public static ValueTask<LuaValue> AddAsync(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
     {
         if (x.TryReadDouble(out var numX) && y.TryReadDouble(out var numY))
         {
@@ -110,7 +110,7 @@ public static class LuaStateExtensions
         return LuaVirtualMachine.ExecuteBinaryOperationMetaMethod(state, x, y, OpCode.Add, cancellationToken);
     }
 
-    public static ValueTask<LuaValue> Sub(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
+    public static ValueTask<LuaValue> SubAsync(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
     {
         if (x.TryReadDouble(out var numX) && y.TryReadDouble(out var numY))
         {
@@ -120,7 +120,7 @@ public static class LuaStateExtensions
         return LuaVirtualMachine.ExecuteBinaryOperationMetaMethod(state, x, y, OpCode.Sub, cancellationToken);
     }
 
-    public static ValueTask<LuaValue> Mul(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
+    public static ValueTask<LuaValue> MulAsync(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
     {
         if (x.TryReadDouble(out var numX) && y.TryReadDouble(out var numY))
         {
@@ -130,7 +130,7 @@ public static class LuaStateExtensions
         return LuaVirtualMachine.ExecuteBinaryOperationMetaMethod(state, x, y, OpCode.Mul, cancellationToken);
     }
 
-    public static ValueTask<LuaValue> Div(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
+    public static ValueTask<LuaValue> DivAsync(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
     {
         if (x.TryReadDouble(out var numX) && y.TryReadDouble(out var numY))
         {
@@ -140,7 +140,7 @@ public static class LuaStateExtensions
         return LuaVirtualMachine.ExecuteBinaryOperationMetaMethod(state, x, y, OpCode.Div, cancellationToken);
     }
 
-    public static ValueTask<LuaValue> Mod(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
+    public static ValueTask<LuaValue> ModAsync(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
     {
         if (x.TryReadDouble(out var numX) && y.TryReadDouble(out var numY))
         {
@@ -150,7 +150,7 @@ public static class LuaStateExtensions
         return LuaVirtualMachine.ExecuteBinaryOperationMetaMethod(state, x, y, OpCode.Mod, cancellationToken);
     }
 
-    public static ValueTask<LuaValue> Pow(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
+    public static ValueTask<LuaValue> PowAsync(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
     {
         if (x.TryReadDouble(out var numX) && y.TryReadDouble(out var numY))
         {
@@ -161,7 +161,7 @@ public static class LuaStateExtensions
     }
 
 
-    public static ValueTask<LuaValue> Unm(this LuaState state, LuaValue value, CancellationToken cancellationToken = default)
+    public static ValueTask<LuaValue> UnmAsync(this LuaState state, LuaValue value, CancellationToken cancellationToken = default)
     {
         if (value.TryReadDouble(out var numB))
         {
@@ -171,7 +171,7 @@ public static class LuaStateExtensions
         return LuaVirtualMachine.ExecuteUnaryOperationMetaMethod(state, value, OpCode.Unm, cancellationToken);
     }
 
-    public static ValueTask<LuaValue> Len(this LuaState state, LuaValue value, CancellationToken cancellationToken = default)
+    public static ValueTask<LuaValue> LenAsync(this LuaState state, LuaValue value, CancellationToken cancellationToken = default)
     {
         if (value.TryReadString(out var str))
         {
@@ -187,7 +187,7 @@ public static class LuaStateExtensions
     }
 
 
-    public static ValueTask<bool> LessThan(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
+    public static ValueTask<bool> LessThanAsync(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
     {
         if (x.TryReadNumber(out var numX) && y.TryReadNumber(out var numY))
         {
@@ -203,7 +203,7 @@ public static class LuaStateExtensions
         return LuaVirtualMachine.ExecuteCompareOperationMetaMethod(state, x, y, OpCode.Lt, cancellationToken);
     }
 
-    public static ValueTask<bool> LessThanOrEquals(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
+    public static ValueTask<bool> LessThanOrEqualsAsync(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
     {
         if (x.TryReadNumber(out var numX) && y.TryReadNumber(out var numY))
         {
@@ -219,7 +219,7 @@ public static class LuaStateExtensions
         return LuaVirtualMachine.ExecuteCompareOperationMetaMethod(state, x, y, OpCode.Le, cancellationToken);
     }
 
-    public static ValueTask<bool> Equals(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
+    public static ValueTask<bool> EqualsAsync(this LuaState state, LuaValue x, LuaValue y, CancellationToken cancellationToken = default)
     {
         if (x == y)
         {
@@ -229,7 +229,7 @@ public static class LuaStateExtensions
         return LuaVirtualMachine.ExecuteCompareOperationMetaMethod(state, x, y, OpCode.Eq, cancellationToken);
     }
 
-    public static async ValueTask<LuaValue> GetTable(this LuaState state, LuaValue table, LuaValue key, CancellationToken cancellationToken = default)
+    public static async ValueTask<LuaValue> GetTableAsync(this LuaState state, LuaValue table, LuaValue key, CancellationToken cancellationToken = default)
     {
         if (table.TryReadTable(out var luaTable))
         {
@@ -242,7 +242,7 @@ public static class LuaStateExtensions
         return await LuaVirtualMachine.ExecuteGetTableSlowPath(state, table, key, cancellationToken);
     }
 
-    public static ValueTask SetTable(this LuaState state, LuaValue table, LuaValue key, LuaValue value, CancellationToken cancellationToken = default)
+    public static ValueTask SetTableAsync(this LuaState state, LuaValue table, LuaValue key, LuaValue value, CancellationToken cancellationToken = default)
     {
         if (key.TryReadNumber(out var numB))
         {
@@ -266,23 +266,23 @@ public static class LuaStateExtensions
         return LuaVirtualMachine.ExecuteSetTableSlowPath(state, table, key, value, cancellationToken);
     }
 
-    public static ValueTask<LuaValue> Concat(this LuaState state, ReadOnlySpan<LuaValue> values, CancellationToken cancellationToken = default)
+    public static ValueTask<LuaValue> ConcatAsync(this LuaState state, ReadOnlySpan<LuaValue> values, CancellationToken cancellationToken = default)
     {
         state.Stack.PushRange(values);
-        return Concat(state, values.Length, cancellationToken);
+        return ConcatAsync(state, values.Length, cancellationToken);
     }
 
-    public static ValueTask<LuaValue> Concat(this LuaState state, int concatCount, CancellationToken cancellationToken = default)
+    public static ValueTask<LuaValue> ConcatAsync(this LuaState state, int concatCount, CancellationToken cancellationToken = default)
     {
         return LuaVirtualMachine.Concat(state, concatCount, cancellationToken);
     }
 
-    public static ValueTask<int> Call(this LuaState state, int funcIndex, int returnBase, CancellationToken cancellationToken = default)
+    public static ValueTask<int> CallAsync(this LuaState state, int funcIndex, int returnBase, CancellationToken cancellationToken = default)
     {
         return LuaVirtualMachine.Call(state, funcIndex, returnBase, cancellationToken);
     }
 
-    public static ValueTask<LuaValue[]> Call(this LuaState state, LuaValue function, ReadOnlySpan<LuaValue> arguments, CancellationToken cancellationToken = default)
+    public static ValueTask<LuaValue[]> CallAsync(this LuaState state, LuaValue function, ReadOnlySpan<LuaValue> arguments, CancellationToken cancellationToken = default)
     {
         var funcIndex = state.Stack.Count;
         state.Stack.Push(function);

+ 2 - 2
src/Lua/Standard/ModuleLibrary.cs

@@ -50,7 +50,7 @@ public sealed class ModuleLibrary
     {
         var globalState = state.GlobalState;
         var package = globalState.Environment["package"];
-        var p = await state.GetTable(package, pName);
+        var p = await state.GetTableAsync(package, pName);
         if (!p.TryReadString(out var path))
         {
             throw new LuaRuntimeException(state, $"package.{pName} must be a string");
@@ -124,7 +124,7 @@ public sealed class ModuleLibrary
             var top = state.Stack.Count;
             state.Stack.Push(loader);
             state.Stack.Push(name);
-            var resultCount = await state.Call(top, top, cancellationToken);
+            var resultCount = await state.CallAsync(top, top, cancellationToken);
             if (0 < resultCount)
             {
                 var result = state.Stack.Get(top);

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

@@ -617,7 +617,7 @@ public sealed class StringLibrary
                         // No captures, pass whole match
                         stack.Push(s.AsSpan(sIdx, res - sIdx).ToString());
                         var retCount = await context.State.RunAsync(func, 1, cancellationToken);
-                        using var results = context.State.ReadTopValues(retCount);
+                        using var results = context.State.ReadStack(retCount);
                         result = results.Count > 0 ? results[0] : LuaValue.Nil;
                     }
                     else
@@ -637,7 +637,7 @@ public sealed class StringLibrary
                         }
 
                         var retCount = await context.State.RunAsync(func, matchState.Level, cancellationToken);
-                        using var results = context.State.ReadTopValues(retCount);
+                        using var results = context.State.ReadStack(retCount);
                         result = results.Count > 0 ? results[0] : LuaValue.Nil;
                     }
                 }

+ 16 - 16
tests/Lua.Tests/LuaApiTests.cs

@@ -38,7 +38,7 @@ public class LuaApiTests
         var a = result[0].Read<LuaTable>();
         var b = result[1].Read<LuaTable>();
 
-        var c = await state.Add(a, b);
+        var c = await state.AddAsync(a, b);
         var table = c.Read<LuaTable>();
         Assert.Multiple(() =>
         {
@@ -70,7 +70,7 @@ public class LuaApiTests
 
         var result = await state.DoStringAsync(source);
         var a = result[0].Read<LuaTable>();
-        var c = await state.Unm(a);
+        var c = await state.UnmAsync(a);
         var table = c.Read<LuaTable>();
         Assert.Multiple(() =>
         {
@@ -108,9 +108,9 @@ public class LuaApiTests
         var a = result[0].Read<LuaTable>();
         var b = result[1].Read<LuaTable>();
         var c = result[2].Read<LuaTable>();
-        var ab = await state.Equals(a, b);
+        var ab = await state.EqualsAsync(a, b);
         Assert.False(ab);
-        var ac = await state.Equals(a, c);
+        var ac = await state.EqualsAsync(a, c);
         Assert.True(ac);
     }
 
@@ -128,9 +128,9 @@ public class LuaApiTests
                      """;
         var result = await state.DoStringAsync(source);
         var a = result[0].Read<LuaTable>();
-        Assert.That(await state.GetTable(a, "x"), Is.EqualTo(new LuaValue(1)));
+        Assert.That(await state.GetTableAsync(a, "x"), Is.EqualTo(new LuaValue(1)));
         a.Metatable!["__index"] = state.DoStringAsync("return function(a,b) return b end").Result[0];
-        Assert.That(await state.GetTable(a, "x"), Is.EqualTo(new LuaValue("x")));
+        Assert.That(await state.GetTableAsync(a, "x"), Is.EqualTo(new LuaValue("x")));
     }
 
     [Test]
@@ -148,7 +148,7 @@ public class LuaApiTests
                      """;
         var result = await state.DoStringAsync(source);
         var a = result[0].Read<LuaTable>();
-        await state.SetTable(a, "a", "b");
+        await state.SetTableAsync(a, "a", "b");
         var b = a.Metatable!["__newindex"].Read<LuaTable>()["a"];
         Assert.True(b.Read<string>() == "b");
     }
@@ -184,7 +184,7 @@ return a,b,c
         var a = result[0];
         var b = result[1];
         var c = result[2];
-        var d = await state.Concat([a, b, c]);
+        var d = await state.ConcatAsync([a, b, c]);
 
         var table = d.Read<LuaTable>();
         Assert.That(table.ArrayLength, Is.EqualTo(9));
@@ -227,17 +227,17 @@ return a,b,c
         var a = result[0];
         var b = result[1];
         var c = result[2];
-        var d = await state.Add(b, c);
+        var d = await state.AddAsync(b, c);
         Assert.True(d.TryRead(out string s));
         Assert.That(s, Is.EqualTo("abc"));
-        d = await state.Unm(b);
+        d = await state.UnmAsync(b);
         Assert.True(d.TryRead(out s));
         Assert.That(s, Is.EqualTo("abb"));
-        d = await state.Concat([c, b]);
+        d = await state.ConcatAsync([c, b]);
         Assert.True(d.TryRead(out s));
         Assert.That(s, Is.EqualTo("acb"));
 
-        var aResult = await state.Call(a, [b, c]);
+        var aResult = await state.CallAsync(a, [b, c]);
         Assert.That(aResult, Has.Length.EqualTo(1));
         Assert.That(aResult[0].Read<string>(), Is.EqualTo("abc"));
     }
@@ -269,17 +269,17 @@ return a,b,c
         var a = result[0];
         var b = result[1];
         var c = result[2];
-        var d = await state.Add(b, c);
+        var d = await state.AddAsync(b, c);
         Assert.True(d.TryRead(out string s));
         Assert.That(s, Is.EqualTo("abc"));
-        d = await state.Unm(b);
+        d = await state.UnmAsync(b);
         Assert.True(d.TryRead(out s));
         Assert.That(s, Is.EqualTo("abb"));
-        d = await state.Concat([c, b]);
+        d = await state.ConcatAsync([c, b]);
         Assert.True(d.TryRead(out s));
         Assert.That(s, Is.EqualTo("acb"));
 
-        var aResult = await state.Call(a, [b, c]);
+        var aResult = await state.CallAsync(a, [b, c]);
         Assert.That(aResult, Has.Length.EqualTo(1));
         Assert.That(aResult[0].Read<string>(), Is.EqualTo("abc"));
     }