# HG changeset patch # User aziz # Date 1185549424 0 # Node ID 5c1111dc86703717902efd1b4a5341e83251709d # Parent c2b601dcd57da8a65b6f5e078a9b8fbc218b4e68 - Added method parseNoScopeOrEmptyStatement(). - Calling new method when parsing pragma and labeled statement. diff -r c2b601dcd57d -r 5c1111dc8670 trunk/src/Parser.d --- a/trunk/src/Parser.d Fri Jul 27 14:49:02 2007 +0000 +++ b/trunk/src/Parser.d Fri Jul 27 15:17:04 2007 +0000 @@ -1423,7 +1423,7 @@ string ident = token.identifier; nT(); // Skip Identifier nT(); // Skip : - s = new LabeledStatement(ident, parseNoScopeStatement()); + s = new LabeledStatement(ident, parseNoScopeOrEmptyStatement()); break; } goto case T.Dot; @@ -1620,6 +1620,20 @@ return s; } + /+ + NoScopeOrEmptyStatement: + ; + NoScopeStatement + +/ + Statement parseNoScopeOrEmptyStatement() + { + if (token.type == T.Semicolon) + nT(); + else + return parseNoScopeStatement(); + return null; + } + Statement parseAttributeStatement() { switch (token.type) @@ -2018,10 +2032,7 @@ else require(T.RParen); - if (token.type == T.Semicolon) - nT(); - else - pragmaBody = parseNoScopeStatement(); + pragmaBody = parseNoScopeOrEmptyStatement(); return new PragmaStatement(ident, args, pragmaBody); }