From 4bc85b2eb8664470c131517d9fab1090827857b6 Mon Sep 17 00:00:00 2001 From: Matthew Dempsky Date: Mon, 27 Jun 2016 14:51:54 -0700 Subject: cmd/compile/internal/syntax: refactor DeclStmt parsing No behavior change. Change-Id: I93c7cb7ab76b5afa74e6a1f092b7045fb96467b1 --- src/cmd/compile/internal/syntax/parser.go | 32 ++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/cmd/compile/internal/syntax/parser.go b/src/cmd/compile/internal/syntax/parser.go index 3666a49082..f267d4b2c9 100644 --- a/src/cmd/compile/internal/syntax/parser.go +++ b/src/cmd/compile/internal/syntax/parser.go @@ -1530,6 +1530,20 @@ func (p *parser) blockStmt() *BlockStmt { return s } +func (p *parser) declStmt(f func(*Group) Decl) *DeclStmt { + if trace { + defer p.trace("declStmt")() + } + + s := new(DeclStmt) + s.init(p) + + p.next() // _Const, _Type, or _Var + s.DeclList = p.appendGroup(nil, f) + + return s +} + func (p *parser) forStmt() Stmt { if trace { defer p.trace("forStmt")() @@ -1787,25 +1801,13 @@ func (p *parser) stmt() Stmt { return p.blockStmt() case _Var: - p.next() - s := new(DeclStmt) - s.init(p) - s.DeclList = p.appendGroup(nil, p.varDecl) - return s + return p.declStmt(p.varDecl) case _Const: - p.next() - s := new(DeclStmt) - s.init(p) - s.DeclList = p.appendGroup(nil, p.constDecl) - return s + return p.declStmt(p.constDecl) case _Type: - p.next() - s := new(DeclStmt) - s.init(p) - s.DeclList = p.appendGroup(nil, p.typeDecl) - return s + return p.declStmt(p.typeDecl) case _Operator, _Star: switch p.op { -- cgit v1.2.3-54-g00ecf