aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/typecheck/iexport.go
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2020-12-26 22:23:45 -0800
committerMatthew Dempsky <mdempsky@google.com>2020-12-28 07:45:09 +0000
commita59d26603f0dffbe6e914bc9ab29a2f9f70e5408 (patch)
treeb3d8bccf6f264b2dff1d9ae7ff8a4bc9ae28885f /src/cmd/compile/internal/typecheck/iexport.go
parentfbc4458c068459940c63952bcc6a697728f508fc (diff)
downloadgo-a59d26603f0dffbe6e914bc9ab29a2f9f70e5408.tar.gz
go-a59d26603f0dffbe6e914bc9ab29a2f9f70e5408.zip
[dev.regabi] cmd/compile: use []*CaseStmt in {Select,Switch}Stmt
Select and switch statements only ever contain case statements, so change their Cases fields from Nodes to []*CaseStmt. This allows removing a bunch of type assertions throughout the compiler. CaseStmt should be renamed to CaseClause, and SelectStmt should probably have its own CommClause type instead (like in go/ast and cmd/compile/internal/syntax), but this is a good start. Passes toolstash -cmp. Change-Id: I2d41d616d44512c2be421e1e2ff13d0ee8b238ad Reviewed-on: https://go-review.googlesource.com/c/go/+/280442 Trust: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Diffstat (limited to 'src/cmd/compile/internal/typecheck/iexport.go')
-rw-r--r--src/cmd/compile/internal/typecheck/iexport.go3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/typecheck/iexport.go b/src/cmd/compile/internal/typecheck/iexport.go
index 0c813a71ef..19437a069e 100644
--- a/src/cmd/compile/internal/typecheck/iexport.go
+++ b/src/cmd/compile/internal/typecheck/iexport.go
@@ -1181,10 +1181,9 @@ func isNamedTypeSwitch(x ir.Node) bool {
return ok && guard.Tag != nil
}
-func (w *exportWriter) caseList(cases []ir.Node, namedTypeSwitch bool) {
+func (w *exportWriter) caseList(cases []*ir.CaseStmt, namedTypeSwitch bool) {
w.uint64(uint64(len(cases)))
for _, cas := range cases {
- cas := cas.(*ir.CaseStmt)
w.pos(cas.Pos())
w.stmtList(cas.List)
if namedTypeSwitch {