diff options
| author | Matthew Dempsky <mdempsky@google.com> | 2018-03-31 15:53:21 -0700 |
|---|---|---|
| committer | Matthew Dempsky <mdempsky@google.com> | 2018-04-01 06:55:54 +0000 |
| commit | fdf33730e1f84a5f0cd13bcbf2efbdceedab1114 (patch) | |
| tree | 3786c6b11706c87e78fc905de2023a3cd4c0dc32 /src | |
| parent | 917c33fe8672116b04848cf11545296789cafd3b (diff) | |
| download | go-fdf33730e1f84a5f0cd13bcbf2efbdceedab1114.tar.xz | |
cmd/compile: refactor constant node constructors
Passes toolstash-check.
Change-Id: I6a2d46e69d4d3a06858c80c4ea1ad3f5a58f6956
Reviewed-on: https://go-review.googlesource.com/103859
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/compile/internal/gc/const.go | 1 | ||||
| -rw-r--r-- | src/cmd/compile/internal/gc/subr.go | 28 |
2 files changed, 9 insertions, 20 deletions
diff --git a/src/cmd/compile/internal/gc/const.go b/src/cmd/compile/internal/gc/const.go index af84005908..8422eec17e 100644 --- a/src/cmd/compile/internal/gc/const.go +++ b/src/cmd/compile/internal/gc/const.go @@ -1246,6 +1246,7 @@ illegal: } } +// nodlit returns a new untyped constant with value v. func nodlit(v Val) *Node { n := nod(OLITERAL, nil, nil) n.SetVal(v) diff --git a/src/cmd/compile/internal/gc/subr.go b/src/cmd/compile/internal/gc/subr.go index 96c1fc1cca..7354625de0 100644 --- a/src/cmd/compile/internal/gc/subr.go +++ b/src/cmd/compile/internal/gc/subr.go @@ -413,21 +413,15 @@ func (x methcmp) Less(i, j int) bool { } func nodintconst(v int64) *Node { - c := nod(OLITERAL, nil, nil) - c.SetAddable(true) - c.SetVal(Val{new(Mpint)}) - c.Val().U.(*Mpint).SetInt64(v) - c.Type = types.Types[TIDEAL] - return c + u := new(Mpint) + u.SetInt64(v) + return nodlit(Val{u}) } func nodfltconst(v *Mpflt) *Node { - c := nod(OLITERAL, nil, nil) - c.SetAddable(true) - c.SetVal(Val{newMpflt()}) - c.Val().U.(*Mpflt).Set(v) - c.Type = types.Types[TIDEAL] - return c + u := newMpflt() + u.Set(v) + return nodlit(Val{u}) } func nodconst(n *Node, t *types.Type, v int64) { @@ -444,17 +438,11 @@ func nodconst(n *Node, t *types.Type, v int64) { } func nodnil() *Node { - c := nodintconst(0) - c.SetVal(Val{new(NilVal)}) - c.Type = types.Types[TNIL] - return c + return nodlit(Val{new(NilVal)}) } func nodbool(b bool) *Node { - c := nodintconst(0) - c.SetVal(Val{b}) - c.Type = types.Idealbool - return c + return nodlit(Val{b}) } func nodstr(s string) *Node { |
