private Ast.ArrayInitializerExpression ParseArrayInitializerExpression(TokenType rightParent) { var expression = new Ast.ArrayInitializerExpression() { Span = currentToken.Span }; var values = expression.Values; bool continueParsing = true; do { var token = NextToken(); if (token.Type == rightParent) { break; } var nextValue = ParseExpression(); if (nextValue == null) { continueParsing = false; } else { values.Add(nextValue); NextToken(); if (currentToken.Type == rightParent) { continueParsing = false; } else if (currentToken.Type != TokenType.Comma) { Logger.Error("Unexpected token [{0}]. Expecting tokens [',', '{1}']", currentToken.Span, currentToken.Value, rightParent); continueParsing = false; } } } while (continueParsing); return(expression); }
private Ast.ArrayInitializerExpression ParseArrayInitializerExpression(TokenType rightParent) { var expression = new Ast.ArrayInitializerExpression() {Span = currentToken.Span}; var values = expression.Values; bool continueParsing = true; do { var token = NextToken(); if (token.Type == rightParent) break; var nextValue = ParseExpression(); if (nextValue == null) { continueParsing = false; } else { values.Add(nextValue); NextToken(); if (currentToken.Type == rightParent) { continueParsing = false; } else if (currentToken.Type != TokenType.Comma) { Logger.Error("Unexpected token [{0}]. Expecting tokens [',', '{1}']", currentToken.Span, currentToken.Value, rightParent); continueParsing = false; } } } while (continueParsing); return expression; }