From 142a13bd6db76e135bead4125ab957b93a6f85a2 Mon Sep 17 00:00:00 2001 From: Raphael Vigee Date: Wed, 6 Sep 2023 12:02:19 +0100 Subject: [PATCH] Expose paren Position on DefStmt --- syntax/parse.go | 6 ++++-- syntax/syntax.go | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/syntax/parse.go b/syntax/parse.go index 260b91e3..1183a03b 100644 --- a/syntax/parse.go +++ b/syntax/parse.go @@ -177,15 +177,17 @@ func (p *parser) parseStmt(stmts []Stmt) []Stmt { func (p *parser) parseDefStmt() Stmt { defpos := p.nextToken() // consume DEF id := p.parseIdent() - p.consume(LPAREN) + lparen := p.consume(LPAREN) params := p.parseParams() - p.consume(RPAREN) + rparen := p.consume(RPAREN) p.consume(COLON) body := p.parseSuite() return &DefStmt{ Def: defpos, Name: id, + Lparen: lparen, Params: params, + Rparen: rparen, Body: body, } } diff --git a/syntax/syntax.go b/syntax/syntax.go index 0911f542..5bfbcec3 100644 --- a/syntax/syntax.go +++ b/syntax/syntax.go @@ -123,7 +123,9 @@ type DefStmt struct { commentsRef Def Position Name *Ident + Lparen Position Params []Expr // param = ident | ident=expr | * | *ident | **ident + Rparen Position Body []Stmt Function interface{} // a *resolve.Function, set by resolver