Browse Source

fix: parser initialization order

Akeit0 7 months ago
parent
commit
48e18d88f9
2 changed files with 4 additions and 11 deletions
  1. 1 1
      src/Lua/CodeAnalysis/Compilation/Parser.cs
  2. 3 10
      tests/Lua.Tests/LuaTests.cs

+ 1 - 1
src/Lua/CodeAnalysis/Compilation/Parser.cs

@@ -922,9 +922,9 @@ internal class Parser : IPoolNode<Parser>, IDisposable
         });
         });
         var f = Function.Get(p, PrototypeBuilder.Get(name));
         var f = Function.Get(p, PrototypeBuilder.Get(name));
         p.Function = f;
         p.Function = f;
-        p.MainFunction();
         f.Proto.IsVarArg = true;
         f.Proto.IsVarArg = true;
         f.Proto.LineDefined = 0;
         f.Proto.LineDefined = 0;
+        p.MainFunction();
         return f.Proto.CreatePrototypeAndRelease();
         return f.Proto.CreatePrototypeAndRelease();
     }
     }
 
 

+ 3 - 10
tests/Lua.Tests/LuaTests.cs

@@ -5,17 +5,8 @@ namespace Lua.Tests;
 
 
 public class LuaTests
 public class LuaTests
 {
 {
-    LuaState state = default!;
-
-    [SetUp]
-    public void SetUp()
-    {
-        state = LuaState.Create();
-        state.OpenStandardLibraries();
-    }
-
-
     [Test]
     [Test]
+    [Parallelizable(ParallelScope.All)]
     [TestCase("tests-lua/code.lua")]
     [TestCase("tests-lua/code.lua")]
     [TestCase("tests-lua/goto.lua")]
     [TestCase("tests-lua/goto.lua")]
     [TestCase("tests-lua/constructs.lua")]
     [TestCase("tests-lua/constructs.lua")]
@@ -36,6 +27,8 @@ public class LuaTests
     [TestCase("tests-lua/verybig.lua")]
     [TestCase("tests-lua/verybig.lua")]
     public async Task Test_Lua(string file)
     public async Task Test_Lua(string file)
     {
     {
+        var state = LuaState.Create();
+        state.OpenStandardLibraries();
         var path = FileHelper.GetAbsolutePath(file);
         var path = FileHelper.GetAbsolutePath(file);
         try
         try
         {
         {