mirror of
https://github.com/golang/go
synced 2024-11-17 13:04:54 -07:00
cmd/compile: fix mknode script
It's not currently working. Somehow a field of type []constant.Value causes it to barf. (That field was added with jump table statements.) Also added some instructions about how to run it correctly (which took me a suprisingly long time to figure out). Larger improvements coming, but this gets us to a working state and is safe for 1.19. Change-Id: I3027356fde1294942e87d075ca28bb40d2c0d6c3 Reviewed-on: https://go-review.googlesource.com/c/go/+/418234 Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Keith Randall <khr@golang.org>
This commit is contained in:
parent
28be440d34
commit
8e1e64c16a
@ -3,6 +3,7 @@
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:generate go run -mod=mod mknode.go
|
||||
// Note: see comment at top of mknode.go
|
||||
|
||||
package ir
|
||||
|
||||
|
@ -5,6 +5,12 @@
|
||||
//go:build ignore
|
||||
// +build ignore
|
||||
|
||||
// Note: this program must be run with the GOROOT
|
||||
// environment variable set to the root of this tree.
|
||||
// GOROOT=...
|
||||
// cd $GOROOT/src/cmd/compile/internal/ir
|
||||
// ../../../../../bin/go run -mod=mod mknode.go
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
@ -154,6 +160,9 @@ func forNodeFields(named *types.Named, prologue, singleTmpl, sliceTmpl, epilogue
|
||||
}
|
||||
|
||||
tmpl, what := singleTmpl, types.TypeString(typ, types.RelativeTo(irPkg))
|
||||
if what == "go/constant.Value" {
|
||||
return false
|
||||
}
|
||||
if implementsNode(typ) {
|
||||
if slice != nil {
|
||||
helper := strings.TrimPrefix(what, "*") + "s"
|
||||
|
Loading…
Reference in New Issue
Block a user