Files
SWG-ScriptConverter/ScriptConverter/Parser/Parselets/Expressions/ArrayInitializerParselet.cs
Rohan Singh ad50a19057 Add code
2019-01-23 22:52:45 -05:00

23 lines
685 B
C#

using System.Linq;
using ScriptConverter.Ast.Expressions;
namespace ScriptConverter.Parser.Parselets.Expressions
{
class ArrayInitializerParselet : IPrefixParselet
{
public Expression Parse(ScriptParser parser, ScriptToken token)
{
var values = parser.ParseSeparatedBy(ScriptTokenType.Comma, (_, first) =>
{
if (parser.Match(ScriptTokenType.RightBrace))
return null;
return parser.ParseExpression();
}).ToList();
parser.Take(ScriptTokenType.RightBrace);
return new ArrayInitializerExpression(token, parser.Previous, values);
}
}
}