Skip to content

Bug when compiling MiniScript 2 #529

Description

@MineRobber9000
CSharpLua.BugErrorException: SourceLocation(..\miniscript2\cs\Value.cs@748:3)"if (!IsList()) return;": Compiler has a bug, thanks to commit issue at https://github.com/yanghuan/CSharp.lua/issue
 ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at CSharpLua.Utility.First[T](IList`1 list) in C:\Users\miles\CSharp.lua\CSharp.lua\Utils.cs:line 118
   at CSharpLua.LuaSyntaxNodeTransform.InternalVisitReturnStatement(LuaExpressionSyntax expression, ReturnStatementSyntax node) in C:\Users\miles\CSharp.lua\CSharp.lua\LuaSyntaxNodeTransform.cs:line 1526
   at CSharpLua.LuaSyntaxNodeTransform.VisitReturnStatement(ReturnStatementSyntax node) in C:\Users\miles\CSharp.lua\CSharp.lua\LuaSyntaxNodeTransform.cs:line 1545
   at Microsoft.CodeAnalysis.CSharp.Syntax.ReturnStatementSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
   at CSharpLua.Utility.Accept[T](CSharpSyntaxNode node, LuaSyntaxNodeTransform transform) in C:\Users\miles\CSharp.lua\CSharp.lua\Utils.cs:line 1363
   at CSharpLua.LuaSyntaxNodeTransform.WriteStatementOrBlock(StatementSyntax statement, LuaBlockSyntax block) in C:\Users\miles\CSharp.lua\CSharp.lua\LuaSyntaxNodeTransform.cs:line 3635
   at CSharpLua.LuaSyntaxNodeTransform.VisitIfStatement(IfStatementSyntax node) in C:\Users\miles\CSharp.lua\CSharp.lua\LuaSyntaxNodeTransform.cs:line 3646
   at Microsoft.CodeAnalysis.CSharp.Syntax.IfStatementSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
   at CSharpLua.LuaSyntaxNodeTransform.BlockCommonNode.Visit(LuaSyntaxNodeTransform transform) in C:\Users\miles\CSharp.lua\CSharp.lua\LuaSyntaxNodeTransform.cs:line 1357
   --- End of inner exception stack trace ---
   at CSharpLua.LuaSyntaxGenerator.Create(Boolean isSingleFile) in C:\Users\miles\CSharp.lua\CSharp.lua\LuaSyntaxGenerator.cs:line 239
   at CSharpLua.LuaSyntaxGenerator.Generate(String outFolder) in C:\Users\miles\CSharp.lua\CSharp.lua\LuaSyntaxGenerator.cs:line 267
   at CSharpLua.Compiler.Compile() in C:\Users\miles\CSharp.lua\CSharp.lua\Compiler.cs:line 124
   at CSharpLua.Program.Main(String[] args) in C:\Users\miles\CSharp.lua\CSharp.lua.Launcher\Program.cs:line 92

miniscript2, for reference. Seems to be a problem where CSharp.lua is expecting the inline method to have a return variable when it's a void method?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions