Function outputs list can be empty
This commit is contained in:
parent
a53a02fe0b
commit
1bd8c0bb05
@ -478,5 +478,18 @@ namespace Parser.Tests
|
||||
Assert.IsInstanceOf<FunctionCallExpressionNode>(e.BaseClassNameAndArguments);
|
||||
Assert.AreEqual(text, actual.FullText);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ParseFunctionWithEmptyOutputsList()
|
||||
{
|
||||
var text = "function [] = a(b) end";
|
||||
var sut = CreateParser(text);
|
||||
var actual = sut.ParseStatement();
|
||||
Assert.IsInstanceOf<FunctionDeclarationNode>(actual);
|
||||
var f = (FunctionDeclarationNode) actual;
|
||||
Assert.AreEqual(0, f.OutputDescription.Outputs.Count);
|
||||
Assert.AreEqual(text, actual.FullText);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -128,10 +128,9 @@ namespace Parser
|
||||
private List<SyntaxNode> ParseFunctionOutputList()
|
||||
{
|
||||
var outputs = new List<Token>();
|
||||
outputs.Add(EatToken(TokenKind.Identifier));
|
||||
while (CurrentToken.Kind != TokenKind.ClosingSquareBracket)
|
||||
{
|
||||
if (CurrentToken.Kind == TokenKind.Comma)
|
||||
if (outputs.Count > 0 && CurrentToken.Kind == TokenKind.Comma)
|
||||
{
|
||||
outputs.Add(EatToken());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user