From: Robert Griesemer Date: Wed, 8 Oct 2008 01:30:08 +0000 (-0700) Subject: - don't allow empty decl lists (e.g. const ()) X-Git-Tag: weekly.2009-11-06~3026 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=638233a7d67d527c4f3e9465a18357264f1571ae;p=gostls13.git - don't allow empty decl lists (e.g. const ()) R=r OCL=16698 CL=16698 --- diff --git a/usr/gri/pretty/parser.go b/usr/gri/pretty/parser.go index b0ce43c940..fde763595f 100644 --- a/usr/gri/pretty/parser.go +++ b/usr/gri/pretty/parser.go @@ -373,16 +373,10 @@ func (P *Parser) ParseResult() *AST.List { func (P *Parser) ParseFunctionType() *AST.FunctionType { P.Trace("FunctionType"); - P.OpenScope(); - P.level--; - typ := new(AST.FunctionType); typ.pos = P.pos; typ.params = P.ParseParameters(); typ.result = P.ParseResult(); - - P.level++; - P.CloseScope(); P.Ecart(); return typ; @@ -1341,6 +1335,8 @@ func (P *Parser) ParseDecl(exported bool, keyword int) *AST.Declaration { P.Expect(keyword); if P.tok == Scanner.LPAREN { P.Next(); + decl.decls.Add(P.ParseSpec(exported, keyword)); + P.OptSemicolon(Scanner.RPAREN); for P.tok != Scanner.RPAREN { decl.decls.Add(P.ParseSpec(exported, keyword)); P.OptSemicolon(Scanner.RPAREN); @@ -1418,7 +1414,9 @@ func (P *Parser) ParseExportDecl() { } for P.tok == Scanner.IDENT { ident := P.ParseIdent(); - P.Optional(Scanner.COMMA); // TODO this seems wrong + if P.tok == Scanner.COMMA { + P.Next(); // TODO this seems wrong + } } if has_paren { P.Expect(Scanner.RPAREN)