Mercurial > projects > dil
changeset 270:764eccdf619d
- Fix in parseAttributeStatement(): added checks for T.LParen after const/invariant.
author | aziz |
---|---|
date | Sat, 04 Aug 2007 19:27:00 +0000 |
parents | a416e09c08ea |
children | 68987c1c59b6 |
files | trunk/src/Parser.d |
diffstat | 1 files changed, 14 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/trunk/src/Parser.d Sat Aug 04 18:59:04 2007 +0000 +++ b/trunk/src/Parser.d Sat Aug 04 19:27:00 2007 +0000 @@ -1822,7 +1822,6 @@ } s = new ExternStatement(linkage, parse()); break; - //case T.Invariant: // D 2.0 case T.Static: tmp = StorageClass.Static; goto Lcommon; @@ -1830,8 +1829,21 @@ tmp = StorageClass.Final; goto Lcommon; case T.Const: + version(D2) + { + if (peekNext() == T.LParen) + goto case_Declaration; + } tmp = StorageClass.Const; goto Lcommon; + version(D2) + { + case T.Invariant: // D 2.0 + if (peekNext() == T.LParen) + goto case_Declaration; + tmp = StorageClass.Invariant; + goto Lcommon; + } case T.Auto: tmp = StorageClass.Auto; goto Lcommon; @@ -1847,6 +1859,7 @@ // TODO: allow "scope class", "abstract scope class" in function bodies? //case T.Class: default: + case_Declaration: s = new DeclarationStatement(parseDeclaration(stc)); } set(s, begin);