| ... | ... | @@ -2209,10 +2209,10 @@ fn renderAsmOutput( |
| 2209 | 2209 | try ais.writer().writeAll(" ("); |
| 2210 | 2210 | |
| 2211 | 2211 | switch (asm_output.kind) { |
| 2212 | | ast.Node.Asm.Output.Kind.Variable => |variable_name| { |
| 2212 | .Variable => |variable_name| { |
| 2213 | 2213 | try renderExpression(allocator, ais, tree, &variable_name.base, Space.None); |
| 2214 | 2214 | }, |
| 2215 | | ast.Node.Asm.Output.Kind.Return => |return_type| { |
| 2215 | .Return => |return_type| { |
| 2216 | 2216 | try ais.writer().writeAll("-> "); |
| 2217 | 2217 | try renderExpression(allocator, ais, tree, return_type, Space.None); |
| 2218 | 2218 | }, |
| ... | ... | @@ -2304,8 +2304,17 @@ fn renderVarDecl( |
| 2304 | 2304 | } |
| 2305 | 2305 | |
| 2306 | 2306 | if (var_decl.getInitNode()) |init_node| { |
| 2307 | | const s = if (init_node.tag == .MultilineStringLiteral) Space.None else Space.Space; |
| 2308 | | try renderToken(tree, ais, var_decl.getEqToken().?, s); // = |
| 2307 | const eq_token = var_decl.getEqToken().?; |
| 2308 | const eq_space = blk: { |
| 2309 | const loc = tree.tokenLocation(tree.token_locs[eq_token].end, tree.nextToken(eq_token)); |
| 2310 | break :blk if (loc.line == 0) Space.Space else Space.Newline; |
| 2311 | }; |
| 2312 | |
| 2313 | { |
| 2314 | ais.pushIndent(); |
| 2315 | defer ais.popIndent(); |
| 2316 | try renderToken(tree, ais, eq_token, eq_space); // = |
| 2317 | } |
| 2309 | 2318 | ais.pushIndentOneShot(); |
| 2310 | 2319 | try renderExpression(allocator, ais, tree, init_node, Space.None); |
| 2311 | 2320 | } |
| ... | ... | @@ -2470,20 +2479,20 @@ fn renderTokenOffset( |
| 2470 | 2479 | |
| 2471 | 2480 | var loc = tree.tokenLocationLoc(token_loc.end, next_token_loc); |
| 2472 | 2481 | if (loc.line == 0) { |
| 2473 | | try ais.writer().print(" {}", .{mem.trimRight(u8, tree.tokenSliceLoc(next_token_loc), " ")}); |
| 2482 | if (tree.token_ids[token_index] != .MultilineStringLiteralLine) { |
| 2483 | try ais.writer().writeByte(' '); |
| 2484 | } |
| 2485 | try ais.writer().writeAll(mem.trimRight(u8, tree.tokenSliceLoc(next_token_loc), " ")); |
| 2474 | 2486 | offset = 2; |
| 2475 | 2487 | token_loc = next_token_loc; |
| 2476 | 2488 | next_token_loc = tree.token_locs[token_index + offset]; |
| 2477 | 2489 | next_token_id = tree.token_ids[token_index + offset]; |
| 2478 | 2490 | if (next_token_id != .LineComment) { |
| 2479 | 2491 | switch (space) { |
| 2480 | | Space.None, Space.Space => { |
| 2481 | | try ais.insertNewline(); |
| 2482 | | }, |
| 2483 | | Space.SpaceOrOutdent => { |
| 2492 | .None, .Space, .SpaceOrOutdent => { |
| 2484 | 2493 | try ais.insertNewline(); |
| 2485 | 2494 | }, |
| 2486 | | Space.Newline => { |
| 2495 | .Newline => { |
| 2487 | 2496 | if (next_token_id == .MultilineStringLiteralLine) { |
| 2488 | 2497 | return; |
| 2489 | 2498 | } else { |
| ... | ... | @@ -2491,8 +2500,8 @@ fn renderTokenOffset( |
| 2491 | 2500 | return; |
| 2492 | 2501 | } |
| 2493 | 2502 | }, |
| 2494 | | Space.NoNewline => {}, |
| 2495 | | Space.NoComment, Space.Comma, Space.BlockStart => unreachable, |
| 2503 | .NoNewline => {}, |
| 2504 | .NoComment, .Comma, .BlockStart => unreachable, |
| 2496 | 2505 | } |
| 2497 | 2506 | return; |
| 2498 | 2507 | } |
| ... | ... | @@ -2513,7 +2522,7 @@ fn renderTokenOffset( |
| 2513 | 2522 | next_token_id = tree.token_ids[token_index + offset]; |
| 2514 | 2523 | if (next_token_id != .LineComment) { |
| 2515 | 2524 | switch (space) { |
| 2516 | | Space.Newline => { |
| 2525 | .Newline => { |
| 2517 | 2526 | if (next_token_id == .MultilineStringLiteralLine) { |
| 2518 | 2527 | return; |
| 2519 | 2528 | } else { |
| ... | ... | @@ -2521,14 +2530,11 @@ fn renderTokenOffset( |
| 2521 | 2530 | return; |
| 2522 | 2531 | } |
| 2523 | 2532 | }, |
| 2524 | | Space.None, Space.Space => { |
| 2525 | | try ais.insertNewline(); |
| 2526 | | }, |
| 2527 | | Space.SpaceOrOutdent => { |
| 2533 | .None, .Space, .SpaceOrOutdent => { |
| 2528 | 2534 | try ais.insertNewline(); |
| 2529 | 2535 | }, |
| 2530 | | Space.NoNewline => {}, |
| 2531 | | Space.NoComment, Space.Comma, Space.BlockStart => unreachable, |
| 2536 | .NoNewline => {}, |
| 2537 | .NoComment, .Comma, .BlockStart => unreachable, |
| 2532 | 2538 | } |
| 2533 | 2539 | return; |
| 2534 | 2540 | } |