diff --git a/ExternalProjects/NLua/src/Lua.cs b/ExternalProjects/NLua/src/Lua.cs index 2070f61340..4183be0c37 100644 --- a/ExternalProjects/NLua/src/Lua.cs +++ b/ExternalProjects/NLua/src/Lua.cs @@ -328,22 +328,6 @@ namespace NLua return Translator.PopValues(State, oldTop)[0] as string; } - /// - /// Convert C# exceptions into Lua errors - /// - /// num of things on stack - /// null for no pending exception - internal int SetPendingException(Exception e) - { - if (e == null) - { - return 0; - } - - Translator.ThrowError(State, e); - return 1; - } - /// /// /// diff --git a/ExternalProjects/NLua/src/Metatables.cs b/ExternalProjects/NLua/src/Metatables.cs index fd2d6c97d6..528e220441 100644 --- a/ExternalProjects/NLua/src/Metatables.cs +++ b/ExternalProjects/NLua/src/Metatables.cs @@ -1246,11 +1246,13 @@ namespace NLua e.GetBaseException().Data["Traceback"] = _translator.interpreter.GetDebugTraceback(); } - return _translator.Interpreter.SetPendingException(e.GetBaseException()); + _translator.ThrowError(luaState, e.GetBaseException()); + return 1; } catch (Exception e) { - return _translator.Interpreter.SetPendingException(e); + _translator.ThrowError(luaState, e); + return 1; } } diff --git a/ExternalProjects/NLua/src/Method/LuaMethodWrapper.cs b/ExternalProjects/NLua/src/Method/LuaMethodWrapper.cs index 72351510fb..ce0bab1c2b 100644 --- a/ExternalProjects/NLua/src/Method/LuaMethodWrapper.cs +++ b/ExternalProjects/NLua/src/Method/LuaMethodWrapper.cs @@ -95,14 +95,6 @@ namespace NLua.Method return methods.Concat(baseMethods).ToArray(); } - /// - /// Convert C# exceptions into Lua errors - /// - /// num of things on stack - /// null for no pending exception - internal int SetPendingException(Exception e) - => _translator.interpreter.SetPendingException(e); - internal int FillMethodArguments(LuaState luaState, int numStackToSkip) { var args = _lastCalledMethod.args; @@ -171,13 +163,18 @@ namespace NLua.Method catch (TargetInvocationException e) { // Failure of method invocation - if (_translator.interpreter.UseTraceback) + if (_translator.interpreter.UseTraceback) + { e.GetBaseException().Data["Traceback"] = _translator.interpreter.GetDebugTraceback(); - return SetPendingException(e.GetBaseException()); + } + + _translator.ThrowError(luaState, e.GetBaseException()); + return 1; } catch (Exception e) { - return SetPendingException(e); + _translator.ThrowError(luaState, e); + return 1; } return PushReturnValue(luaState); @@ -318,8 +315,6 @@ namespace NLua.Method throw new LuaException("Lua stack overflow"); } - SetPendingException(null); - // Method from name if (_method == null) { @@ -350,7 +345,7 @@ namespace NLua.Method return 1; } } - else if (!_translator.MatchParameters(luaState, _method, _lastCalledMethod, 0)) + else if (!_translator.MatchParameters(luaState, _method, _lastCalledMethod, 0)) { _translator.ThrowError(luaState, "Invalid arguments to method call"); return 1; diff --git a/References/NLua.deps.json b/References/NLua.deps.json index 2efcf86289..96d1a0ce3d 100644 --- a/References/NLua.deps.json +++ b/References/NLua.deps.json @@ -10,11 +10,13 @@ "NLua/1.0.0": { "dependencies": { "DotNetAnalyzers.DocumentationAnalyzers": "1.0.0-beta.59", - "Menees.Analyzers": "3.0.10", - "Meziantou.Analyzer": "2.0.33", + "Menees.Analyzers": "3.2.2", + "Meziantou.Analyzer": "2.0.163", "NETStandard.Library": "2.0.3", "Nullable": "1.3.1", - "StyleCop.Analyzers": "1.2.0-beta.435" + "Roslynator.Analyzers": "4.12.11", + "StyleCop.Analyzers": "1.2.0-beta.556", + "System.Memory": "4.6.0" }, "runtime": { "NLua.dll": {} @@ -26,8 +28,8 @@ } }, "DotNetAnalyzers.DocumentationAnalyzers.Unstable/1.0.0.59": {}, - "Menees.Analyzers/3.0.10": {}, - "Meziantou.Analyzer/2.0.33": {}, + "Menees.Analyzers/3.2.2": {}, + "Meziantou.Analyzer/2.0.163": {}, "Microsoft.NETCore.Platforms/1.1.0": {}, "NETStandard.Library/2.0.3": { "dependencies": { @@ -35,12 +37,50 @@ } }, "Nullable/1.3.1": {}, - "StyleCop.Analyzers/1.2.0-beta.435": { + "Roslynator.Analyzers/4.12.11": {}, + "StyleCop.Analyzers/1.2.0-beta.556": { "dependencies": { - "StyleCop.Analyzers.Unstable": "1.2.0.435" + "StyleCop.Analyzers.Unstable": "1.2.0.556" } }, - "StyleCop.Analyzers.Unstable/1.2.0.435": {} + "StyleCop.Analyzers.Unstable/1.2.0.556": {}, + "System.Buffers/4.6.0": { + "runtime": { + "lib/netstandard2.0/System.Buffers.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.600.24.56208" + } + } + }, + "System.Memory/4.6.0": { + "dependencies": { + "System.Buffers": "4.6.0", + "System.Numerics.Vectors": "4.6.0", + "System.Runtime.CompilerServices.Unsafe": "6.1.0" + }, + "runtime": { + "lib/netstandard2.0/System.Memory.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.600.24.56208" + } + } + }, + "System.Numerics.Vectors/4.6.0": { + "runtime": { + "lib/netstandard2.0/System.Numerics.Vectors.dll": { + "assemblyVersion": "4.1.3.0", + "fileVersion": "4.600.24.56208" + } + } + }, + "System.Runtime.CompilerServices.Unsafe/6.1.0": { + "runtime": { + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.100.24.56208" + } + } + } } }, "libraries": { @@ -63,19 +103,19 @@ "path": "dotnetanalyzers.documentationanalyzers.unstable/1.0.0.59", "hashPath": "dotnetanalyzers.documentationanalyzers.unstable.1.0.0.59.nupkg.sha512" }, - "Menees.Analyzers/3.0.10": { + "Menees.Analyzers/3.2.2": { "type": "package", "serviceable": true, - "sha512": "sha512-ZaCxhd3KKxOqgtDv4YL0Tm6+dhlH+HtXyXrolb6zquAHBR8ONwywofNOb6d8UlafQaNiNdiqVQz8tG4+4NdLyw==", - "path": "menees.analyzers/3.0.10", - "hashPath": "menees.analyzers.3.0.10.nupkg.sha512" + "sha512": "sha512-4A+MGWBlcevNRvtHPU6MG5iIlU0CoFiKTydq8kAAeeZh8k/CZq7CluQ2y79xBAvoY2v15o/ZmC73AuFnZFrXcA==", + "path": "menees.analyzers/3.2.2", + "hashPath": "menees.analyzers.3.2.2.nupkg.sha512" }, - "Meziantou.Analyzer/2.0.33": { + "Meziantou.Analyzer/2.0.163": { "type": "package", "serviceable": true, - "sha512": "sha512-LslJaY4cjxOjIM8X7JRMRHL2roG7E28m1ZPFxIcvNp4sfiGQJz0jsHCl9HsblRmXS/IX65eu3qZ15Q3FL2EsPg==", - "path": "meziantou.analyzer/2.0.33", - "hashPath": "meziantou.analyzer.2.0.33.nupkg.sha512" + "sha512": "sha512-vN0YmOkuvPLukMsefLHYCWYaLPzpc6SfoR74aPwuLeK8QdxgxkavywQ1q/II0shLEEaN1RhlMjmL1RxMPW853w==", + "path": "meziantou.analyzer/2.0.163", + "hashPath": "meziantou.analyzer.2.0.163.nupkg.sha512" }, "Microsoft.NETCore.Platforms/1.1.0": { "type": "package", @@ -98,19 +138,54 @@ "path": "nullable/1.3.1", "hashPath": "nullable.1.3.1.nupkg.sha512" }, - "StyleCop.Analyzers/1.2.0-beta.435": { + "Roslynator.Analyzers/4.12.11": { "type": "package", "serviceable": true, - "sha512": "sha512-TADk7vdGXtfTnYCV7GyleaaRTQjfoSfZXprQrVMm7cSJtJbFc1QIbWPyLvrgrfGdfHbGmUPvaN4ODKNxg2jgPQ==", - "path": "stylecop.analyzers/1.2.0-beta.435", - "hashPath": "stylecop.analyzers.1.2.0-beta.435.nupkg.sha512" + "sha512": "sha512-yvsRYT5EVtcT+V8ZW+5cxd1O9Sgf8PbC7DlQL/T5NA4g5yjaFe+WQ7evpy92Lj29m2E+XayBsO2TnCWKZlPWaA==", + "path": "roslynator.analyzers/4.12.11", + "hashPath": "roslynator.analyzers.4.12.11.nupkg.sha512" }, - "StyleCop.Analyzers.Unstable/1.2.0.435": { + "StyleCop.Analyzers/1.2.0-beta.556": { "type": "package", "serviceable": true, - "sha512": "sha512-ouwPWZxbOV3SmCZxIRqHvljkSzkCyi1tDoMzQtDb/bRP8ctASV/iRJr+A2Gdj0QLaLmWnqTWDrH82/iP+X80Lg==", - "path": "stylecop.analyzers.unstable/1.2.0.435", - "hashPath": "stylecop.analyzers.unstable.1.2.0.435.nupkg.sha512" + "sha512": "sha512-llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==", + "path": "stylecop.analyzers/1.2.0-beta.556", + "hashPath": "stylecop.analyzers.1.2.0-beta.556.nupkg.sha512" + }, + "StyleCop.Analyzers.Unstable/1.2.0.556": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ==", + "path": "stylecop.analyzers.unstable/1.2.0.556", + "hashPath": "stylecop.analyzers.unstable.1.2.0.556.nupkg.sha512" + }, + "System.Buffers/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lN6tZi7Q46zFzAbRYXTIvfXcyvQQgxnY7Xm6C6xQ9784dEL1amjM6S6Iw4ZpsvesAKnRVsM4scrDQaDqSClkjA==", + "path": "system.buffers/4.6.0", + "hashPath": "system.buffers.4.6.0.nupkg.sha512" + }, + "System.Memory/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OEkbBQoklHngJ8UD8ez2AERSk2g+/qpAaSWWCBFbpH727HxDq5ydVkuncBaKcKfwRqXGWx64dS6G1SUScMsitg==", + "path": "system.memory/4.6.0", + "hashPath": "system.memory.4.6.0.nupkg.sha512" + }, + "System.Numerics.Vectors/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t+SoieZsRuEyiw/J+qXUbolyO219tKQQI0+2/YI+Qv7YdGValA6WiuokrNKqjrTNsy5ABWU11bdKOzUdheteXg==", + "path": "system.numerics.vectors/4.6.0", + "hashPath": "system.numerics.vectors.4.6.0.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5o/HZxx6RVqYlhKSq8/zronDkALJZUT2Vz0hx43f0gwe8mwlM0y2nYlqdBwLMzr262Bwvpikeb/yEwkAa5PADg==", + "path": "system.runtime.compilerservices.unsafe/6.1.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.1.0.nupkg.sha512" } } } \ No newline at end of file diff --git a/References/NLua.dll b/References/NLua.dll index 281a5f76b0..2dc0136029 100644 Binary files a/References/NLua.dll and b/References/NLua.dll differ