diff options
| author | Matthew Dempsky <mdempsky@google.com> | 2023-09-08 15:44:57 -0700 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2023-09-11 16:04:33 +0000 |
| commit | 972fc055eb43bfe0e777f0301739b95c2053c208 (patch) | |
| tree | de5ab1c04eb46ce2b20e97f5b6b5a86c95f014c2 /src/cmd/compile/internal/noder/reader.go | |
| parent | e3ce3126212115808bc248bdc9ad92c0a46436fe (diff) | |
| download | go-972fc055eb43bfe0e777f0301739b95c2053c208.tar.xz | |
cmd/compile/internal/ir: add Type param to NewBasicLit
This CL adds an explicit Type parameter to NewBasicLit so that callers
can directly construct typed OLITERAL nodes.
Change-Id: I0ab50ac3d7ddb7adcc903633a62ac496921165e9
Reviewed-on: https://go-review.googlesource.com/c/go/+/527096
Auto-Submit: Matthew Dempsky <mdempsky@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Diffstat (limited to 'src/cmd/compile/internal/noder/reader.go')
| -rw-r--r-- | src/cmd/compile/internal/noder/reader.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/cmd/compile/internal/noder/reader.go b/src/cmd/compile/internal/noder/reader.go index 35dfe3d674..4b26eb4668 100644 --- a/src/cmd/compile/internal/noder/reader.go +++ b/src/cmd/compile/internal/noder/reader.go @@ -1760,7 +1760,7 @@ func (r *reader) stmt1(tag codeStmt, out *ir.Nodes) ir.Node { op := r.op() lhs := r.expr() pos := r.pos() - n := ir.NewAssignOpStmt(pos, op, lhs, ir.NewBasicLit(pos, one)) + n := ir.NewAssignOpStmt(pos, op, lhs, ir.NewOne(pos, lhs.Type())) n.IncDec = true return n @@ -2176,7 +2176,7 @@ func (r *reader) expr() (res ir.Node) { pos := r.pos() typ := r.typ() val := FixValue(typ, r.Value()) - return typed(typ, ir.NewBasicLit(pos, val)) + return ir.NewBasicLit(pos, typ, val) case exprNil: pos := r.pos() @@ -3152,7 +3152,7 @@ func (r *reader) exprs() []ir.Node { // uintptr-typed word from the dictionary parameter. func (r *reader) dictWord(pos src.XPos, idx int) ir.Node { base.AssertfAt(r.dictParam != nil, pos, "expected dictParam in %v", r.curfn) - return typecheck.Expr(ir.NewIndexExpr(pos, r.dictParam, ir.NewBasicLit(pos, constant.MakeInt64(int64(idx))))) + return typecheck.Expr(ir.NewIndexExpr(pos, r.dictParam, ir.NewInt(pos, int64(idx)))) } // rttiWord is like dictWord, but converts it to *byte (the type used |
