]> Cypherpunks repositories - gostls13.git/commit
[dev.regabi] cmd/compile: remove {Ptr,Set}Init from Node interface
authorMatthew Dempsky <mdempsky@google.com>
Sat, 2 Jan 2021 09:04:19 +0000 (01:04 -0800)
committerMatthew Dempsky <mdempsky@google.com>
Sat, 2 Jan 2021 10:57:23 +0000 (10:57 +0000)
commit2f2d4b4e68ab2fc448a1c2daf793b11ccde2fb16
tree1c95a61ad6bbed6518f99f84e1e0cf77dce57f10
parent1544a03198139656ef4ebc287f2287ad19c19a51
[dev.regabi] cmd/compile: remove {Ptr,Set}Init from Node interface

This CL separates out PtrInit and SetInit into a new InitNode
extension interface, and adds a new TakeInit helper function for
taking and clearing the Init list (if any) from a Node.

This allows removing miniNode.SetInit and miniNode.PtrInit, which in
turn allow getting rid of immutableEmptyNodes, and will allow
simplification of the Nodes API.

It would be nice to get rid of the default Init method too, but
there's way more code that expects to be able to call that at the
moment, so that'll have to wait.

Passes toolstash -cmp.

Change-Id: Ia8c18fab9555b774376f7f43eeecfde4f07b5946
Reviewed-on: https://go-review.googlesource.com/c/go/+/281001
Trust: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
14 files changed:
src/cmd/compile/internal/deadcode/deadcode.go
src/cmd/compile/internal/inline/inl.go
src/cmd/compile/internal/ir/mini.go
src/cmd/compile/internal/ir/node.go
src/cmd/compile/internal/noder/noder.go
src/cmd/compile/internal/typecheck/typecheck.go
src/cmd/compile/internal/walk/assign.go
src/cmd/compile/internal/walk/builtin.go
src/cmd/compile/internal/walk/expr.go
src/cmd/compile/internal/walk/order.go
src/cmd/compile/internal/walk/range.go
src/cmd/compile/internal/walk/select.go
src/cmd/compile/internal/walk/stmt.go
src/cmd/compile/internal/walk/walk.go