mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: stop storing TFIELD types in Node.Type
Currently, the only use for this is on the Left side of OKEY nodes within struct literals. esc and fmt only care so they can recognize that the ONAME nodes are actually field names, which need special handling. sinit additionally needs to know the field's offset within the struct, which we can provide via Xoffset. Passes toolstash/buildall. Change-Id: I362d965e161f4d80fcd9c9bae0dfacc657dc0b29 Reviewed-on: https://go-review.googlesource.com/20676 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
9bffcf382b
commit
c278f9302e
5 changed files with 23 additions and 6 deletions
|
|
@ -1246,10 +1246,10 @@ func initplan(n *Node) {
|
|||
|
||||
case OSTRUCTLIT:
|
||||
for _, a := range n.List.Slice() {
|
||||
if a.Op != OKEY || a.Left.Type == nil {
|
||||
if a.Op != OKEY || a.Left.Type != structkey {
|
||||
Fatalf("initplan structlit")
|
||||
}
|
||||
addvalue(p, a.Left.Type.Width, a.Right)
|
||||
addvalue(p, a.Left.Xoffset, a.Right)
|
||||
}
|
||||
|
||||
case OMAPLIT:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue