mirror of https://github.com/golang/go.git
cmd/compile: add a flag to print the source line for generated rules
When working on rulegen, I often find myself searching the rules files to find the source of generated code. Add a flag to make that easier. The flag needs to be off by default, so that adding a single rule doesn't cause a massive diff. Change-Id: I5a6f09129dc6fceef7c9cd1ad7eee24f3880ba91 Reviewed-on: https://go-review.googlesource.com/c/go/+/213700 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
49f8d45994
commit
24fa159a2e
|
|
@ -54,7 +54,10 @@ import (
|
|||
|
||||
// If multiple rules match, the first one in file order is selected.
|
||||
|
||||
var genLog = flag.Bool("log", false, "generate code that logs; for debugging only")
|
||||
var (
|
||||
genLog = flag.Bool("log", false, "generate code that logs; for debugging only")
|
||||
addLine = flag.Bool("line", false, "add line number comment to generated rules; for debugging only")
|
||||
)
|
||||
|
||||
type Rule struct {
|
||||
rule string
|
||||
|
|
@ -598,6 +601,9 @@ func fprint(w io.Writer, n Node) {
|
|||
fprint(w, n)
|
||||
}
|
||||
case *RuleRewrite:
|
||||
if *addLine {
|
||||
fmt.Fprintf(w, "// %s\n", n.loc)
|
||||
}
|
||||
fmt.Fprintf(w, "// match: %s\n", n.match)
|
||||
if n.cond != "" {
|
||||
fmt.Fprintf(w, "// cond: %s\n", n.cond)
|
||||
|
|
|
|||
Loading…
Reference in New Issue