]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: tidy up switch case expansion
authorJosh Bleecher Snyder <josharian@gmail.com>
Wed, 25 May 2016 21:10:01 +0000 (14:10 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 23 Aug 2016 05:29:10 +0000 (05:29 +0000)
No functional changes.

Change-Id: I0961227e8a7be2d7c611452896843b6955303fa6
Reviewed-on: https://go-review.googlesource.com/26768
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>

src/cmd/compile/internal/gc/swt.go

index 46e3950ac3fa90265edbac79383dccb34932c089..42b46c391779a5c09f33a1083e4b390262934938 100644 (file)
@@ -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))