Mercurial > projects > dil
changeset 233:c2b601dcd57d
- Added assert to parseDotListExpression().
- Fix: moved require(T.Dot) inside nested function in parseUnaryExpression().
author | aziz |
---|---|
date | Fri, 27 Jul 2007 14:49:02 +0000 |
parents | 2a4e2c8ca094 |
children | 5c1111dc8670 |
files | trunk/src/Parser.d |
diffstat | 1 files changed, 7 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/trunk/src/Parser.d Fri Jul 27 12:12:05 2007 +0000 +++ b/trunk/src/Parser.d Fri Jul 27 14:49:02 2007 +0000 @@ -1205,10 +1205,11 @@ TemplateInstance NewExpression TemplateInstance: - Identifier !( TemplateArgumentList ) + Identifier !( TemplateArguments ) +/ DotListExpression parseDotListExpression() { + assert(token.type == T.Identifier || token.type == T.Dot || token.type == T.Typeof); Expression[] identList; if (token.type == T.Dot) { @@ -1250,6 +1251,7 @@ goto LnewExpressionLoop; } } + Lreturn: return new DotListExpression(identList); } @@ -1267,7 +1269,7 @@ Identifier TemplateInstance TemplateInstance: - Identifier !( TemplateArgumentList ) + Identifier !( TemplateArguments ) +/ DotListType parseDotListType() { @@ -1314,8 +1316,8 @@ mixin ( AssignExpression ) ; mixin TemplateIdentifier ; mixin TemplateIdentifier MixinIdentifier ; - mixin TemplateIdentifier !( TemplateArgumentList ) ; - mixin TemplateIdentifier !( TemplateArgumentList ) MixinIdentifier ; + mixin TemplateIdentifier !( TemplateArguments ) ; + mixin TemplateIdentifier !( TemplateArguments ) MixinIdentifier ; */ Declaration parseMixinDeclaration() { @@ -2469,13 +2471,13 @@ nT(); auto type = parseType(); require(T.RParen); + require(T.Dot); return type; } bool success; auto type = try_(parseType_(), success); if (success) { - require(T.Dot); string ident = requireIdentifier(); e = new TypeDotIdExpression(type, ident); break;