From 643b9ec07c3a0e440a2b1669896d7a4b4d4dd64b Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Wed, 25 May 2016 14:10:01 -0700 Subject: [PATCH] cmd/compile: tidy up switch case expansion No functional changes. Change-Id: I0961227e8a7be2d7c611452896843b6955303fa6 Reviewed-on: https://go-review.googlesource.com/26768 Reviewed-by: Brad Fitzpatrick Run-TryBot: Brad Fitzpatrick --- src/cmd/compile/internal/gc/swt.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cmd/compile/internal/gc/swt.go b/src/cmd/compile/internal/gc/swt.go index 46e3950ac3..42b46c3917 100644 --- a/src/cmd/compile/internal/gc/swt.go +++ b/src/cmd/compile/internal/gc/swt.go @@ -352,22 +352,22 @@ func casebody(sw *Node, typeswvar *Node) { needvar := n.List.Len() != 1 || n.List.First().Op == OLITERAL jmp := Nod(OGOTO, autolabel(".s"), nil) - if n.List.Len() == 0 { + switch n.List.Len() { + case 0: + // default if def != nil { Yyerror("more than one default case") } // reuse original default case n.Right = jmp def = n - } - - if n.List.Len() == 1 { + case 1: // one case -- reuse OCASE node n.Left = n.List.First() n.Right = jmp n.List.Set(nil) cas = append(cas, n) - } else { + default: // expand multi-valued cases for _, n1 := range n.List.Slice() { cas = append(cas, Nod(OCASE, n1, jmp)) -- 2.48.1