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>
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))