aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/noder/codes.go
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2022-06-03 12:49:11 -0700
committerMatthew Dempsky <mdempsky@google.com>2022-06-06 18:57:34 +0000
commit55fc07e16416bd3677c81bb6379ac8f9e881e5cf (patch)
treeb6f53bd3192e02308609dac1b88798b7bf948782 /src/cmd/compile/internal/noder/codes.go
parent6c33f1d52efd4f70fb8cdb1c3b4ea1c8c579af2a (diff)
downloadgo-55fc07e16416bd3677c81bb6379ac8f9e881e5cf.tar.xz
[dev.unified] cmd/compile/internal/noder: add optExpr for optional expressions
Previously, {writer,reader}.expr would allow for nil expressions (i.e., no expression at all, not a "nil" identifier). But only a few contexts allow this, and it simplifies some logic if we can assume the expression is non-nil. So this CL introduces optExpr as a wrapper method for handling nil expressions specially. Change-Id: I438bae7a3191126f7790ec0bf5b77320fe855514 Reviewed-on: https://go-review.googlesource.com/c/go/+/410099 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Diffstat (limited to 'src/cmd/compile/internal/noder/codes.go')
-rw-r--r--src/cmd/compile/internal/noder/codes.go9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/cmd/compile/internal/noder/codes.go b/src/cmd/compile/internal/noder/codes.go
index 28991e7b9c..7fe6e39c15 100644
--- a/src/cmd/compile/internal/noder/codes.go
+++ b/src/cmd/compile/internal/noder/codes.go
@@ -38,11 +38,10 @@ func (c codeExpr) Value() int { return int(c) }
// TODO(mdempsky): Split expr into addr, for lvalues.
const (
- exprNone codeExpr = iota
- exprConst
- exprType // type expression
- exprLocal // local variable
- exprGlobal // global variable or function
+ exprConst codeExpr = iota
+ exprType // type expression
+ exprLocal // local variable
+ exprGlobal // global variable or function
exprBlank
exprCompLit
exprFuncLit