From 638233a7d67d527c4f3e9465a18357264f1571ae Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Tue, 7 Oct 2008 18:30:08 -0700 Subject: [PATCH] - don't allow empty decl lists (e.g. const ()) R=r OCL=16698 CL=16698 --- usr/gri/pretty/parser.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) 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) -- 2.48.1