AssertTokenType(t.type, Tokenizer::Token::BRACKET_OPEN);
Tokenizer::Token probe(GetToken());
- tok.Putback(probe);
- if (probe.type == Tokenizer::Token::ANGLE_BRACKET_OPEN) {
+ if (probe.type == Tokenizer::Token::TYPE_NAME) {
vector<PropertyList *> values;
while (t.type != Tokenizer::Token::BRACKET_CLOSE) {
PropertyList *value(ParsePropertyList());
throw Error(file, tok.Line(), string("unexpected token ") + TokenTypeToString(t.type) + ", expected , or ]");
}
}
- return new Literal(values);
+ return new Literal(probe.str, values);
} else {
+ tok.Putback(probe);
+
vector<Value *> values;
while (t.type != Tokenizer::Token::BRACKET_CLOSE) {
Value *value(ParseValue());