Commit fdf33730 authored by Matthew Dempsky's avatar Matthew Dempsky

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: default avatarBrad Fitzpatrick <bradfitz@golang.org>
parent 917c33fe
......@@ -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)
......
......@@ -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 {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment