aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/noder/codes.go
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2022-06-03 13:21:09 -0700
committerMatthew Dempsky <mdempsky@google.com>2022-06-06 18:57:51 +0000
commitb39ac808714add90df425298c1f1bdc9d47cfd45 (patch)
tree7350cfa91a3da7335e4f7a04c59629889305151a /src/cmd/compile/internal/noder/codes.go
parent55fc07e16416bd3677c81bb6379ac8f9e881e5cf (diff)
downloadgo-b39ac808714add90df425298c1f1bdc9d47cfd45.tar.xz
[dev.unified] cmd/compile/internal/noder: push exprBlank up into assignment handling
Blanks can only appear on the LHS of an assignment. Instead of handling them as an arbitrary expression, handle them as part of assignee expression lists. Change-Id: Iaeb0a5c471ffa1abd2bbbd9c95f7876533e5a607 Reviewed-on: https://go-review.googlesource.com/c/go/+/410100 Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> 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.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/noder/codes.go b/src/cmd/compile/internal/noder/codes.go
index 7fe6e39c15..581eb8344f 100644
--- a/src/cmd/compile/internal/noder/codes.go
+++ b/src/cmd/compile/internal/noder/codes.go
@@ -42,7 +42,6 @@ const (
exprType // type expression
exprLocal // local variable
exprGlobal // global variable or function
- exprBlank
exprCompLit
exprFuncLit
exprSelector
@@ -55,6 +54,17 @@ const (
exprConvert
)
+type codeAssign int
+
+func (c codeAssign) Marker() pkgbits.SyncMarker { return pkgbits.SyncAssign }
+func (c codeAssign) Value() int { return int(c) }
+
+const (
+ assignBlank codeAssign = iota
+ assignDef
+ assignExpr
+)
+
type codeDecl int
func (c codeDecl) Marker() pkgbits.SyncMarker { return pkgbits.SyncDecl }