public ObjectLiteral ParseObjectLiteral()
{
var ol = new ObjectLiteral {Token = Next()};
Match(TokenType.LeftBrace);
while (Next().IsNot(TokenType.RightBrace))
{
var key = ParsePropertyName();
Match(TokenType.Colon);
var value = ParseAssignmentExpression();
ol.Properties.Add(key, value);
if (Next().Is(TokenType.Comma))
Match(TokenType.Comma);
else break;
}
Match(TokenType.RightBrace);
return ol;
}