| ... | @@ -4298,14 +4298,21 @@ pub const Parser = struct { | ... | @@ -4298,14 +4298,21 @@ pub const Parser = struct { |
| 4298 | ast.Node.Id.DocComment => unreachable, // doc comments are attached to nodes | 4298 | ast.Node.Id.DocComment => unreachable, // doc comments are attached to nodes |
| 4299 | ast.Node.Id.Switch => { | 4299 | ast.Node.Id.Switch => { |
| 4300 | const switch_node = @fieldParentPtr(ast.Node.Switch, "base", base); | 4300 | const switch_node = @fieldParentPtr(ast.Node.Switch, "base", base); |
| | 4301 | const cases = switch_node.cases.toSliceConst(); |
| | 4302 | |
| 4301 | try stream.print("{} (", self.tokenizer.getTokenSlice(switch_node.switch_token)); | 4303 | try stream.print("{} (", self.tokenizer.getTokenSlice(switch_node.switch_token)); |
| 4302 | | 4304 | |
| | 4305 | if (cases.len == 0) { |
| | 4306 | try stack.append(RenderState { .Text = ") {}"}); |
| | 4307 | try stack.append(RenderState { .Expression = switch_node.expr }); |
| | 4308 | continue; |
| | 4309 | } |
| | 4310 | |
| 4303 | try stack.append(RenderState { .Text = "}"}); | 4311 | try stack.append(RenderState { .Text = "}"}); |
| 4304 | try stack.append(RenderState.PrintIndent); | 4312 | try stack.append(RenderState.PrintIndent); |
| 4305 | try stack.append(RenderState { .Indent = indent }); | 4313 | try stack.append(RenderState { .Indent = indent }); |
| 4306 | try stack.append(RenderState { .Text = "\n"}); | 4314 | try stack.append(RenderState { .Text = "\n"}); |
| 4307 | | 4315 | |
| 4308 | const cases = switch_node.cases.toSliceConst(); | | |
| 4309 | var i = cases.len; | 4316 | var i = cases.len; |
| 4310 | while (i != 0) { | 4317 | while (i != 0) { |
| 4311 | i -= 1; | 4318 | i -= 1; |