]> Cypherpunks repositories - gostls13.git/commitdiff
Handle presence of illegal semicolon after package clause better.
authorRobert Griesemer <gri@golang.org>
Wed, 25 Nov 2009 01:34:08 +0000 (17:34 -0800)
committerRobert Griesemer <gri@golang.org>
Wed, 25 Nov 2009 01:34:08 +0000 (17:34 -0800)
R=r, r1
https://golang.org/cl/157167

src/pkg/go/parser/parser.go

index f51d3fab799b1bbf9905812432702ab956db210d..8af1b801e05376296830d064624fb67a91cb4a1a 100644 (file)
@@ -1977,6 +1977,14 @@ func (p *parser) parseFile() *ast.File {
        doc := p.leadComment;
        pos := p.expect(token.PACKAGE);
        ident := p.parseIdent();
+
+       // Common error: semicolon after package clause.
+       // Accept and report it for better error synchronization.
+       if p.tok == token.SEMICOLON {
+               p.Error(p.pos, "expected declaration, found ';'");
+               p.next();
+       }
+
        var decls []ast.Decl;
 
        // Don't bother parsing the rest if we had errors already.