| ... | ... | @@ -1591,93 +1591,7 @@ fn renderBuiltinCall( |
| 1591 | 1591 | const token_tags = tree.tokens.items(.tag); |
| 1592 | 1592 | const main_tokens = tree.nodes.items(.main_token); |
| 1593 | 1593 | |
| 1594 | | // TODO remove before release of 0.12.0 |
| 1595 | | const slice = tree.tokenSlice(builtin_token); |
| 1596 | | const rewrite_two_param_cast = params.len == 2 and for ([_][]const u8{ |
| 1597 | | "@bitCast", |
| 1598 | | "@errorCast", |
| 1599 | | "@floatCast", |
| 1600 | | "@intCast", |
| 1601 | | "@ptrCast", |
| 1602 | | "@intFromFloat", |
| 1603 | | "@floatToInt", |
| 1604 | | "@enumFromInt", |
| 1605 | | "@intToEnum", |
| 1606 | | "@floatFromInt", |
| 1607 | | "@intToFloat", |
| 1608 | | "@ptrFromInt", |
| 1609 | | "@intToPtr", |
| 1610 | | "@truncate", |
| 1611 | | }) |name| { |
| 1612 | | if (mem.eql(u8, slice, name)) break true; |
| 1613 | | } else false; |
| 1614 | | |
| 1615 | | if (rewrite_two_param_cast) { |
| 1616 | | const after_last_param_token = tree.lastToken(params[1]) + 1; |
| 1617 | | if (token_tags[after_last_param_token] != .comma) { |
| 1618 | | // Render all on one line, no trailing comma. |
| 1619 | | try ais.writer().writeAll("@as"); |
| 1620 | | try renderToken(r, builtin_token + 1, .none); // ( |
| 1621 | | try renderExpression(r, params[0], .comma_space); |
| 1622 | | } else { |
| 1623 | | // Render one param per line. |
| 1624 | | try ais.writer().writeAll("@as"); |
| 1625 | | ais.pushIndent(); |
| 1626 | | try renderToken(r, builtin_token + 1, .newline); // ( |
| 1627 | | try renderExpression(r, params[0], .comma); |
| 1628 | | } |
| 1629 | | } |
| 1630 | | // Corresponding logic below builtin name rewrite below |
| 1631 | | |
| 1632 | | // TODO remove before release of 0.11.0 |
| 1633 | | if (mem.eql(u8, slice, "@maximum")) { |
| 1634 | | try ais.writer().writeAll("@max"); |
| 1635 | | } else if (mem.eql(u8, slice, "@minimum")) { |
| 1636 | | try ais.writer().writeAll("@min"); |
| 1637 | | } |
| 1638 | | // TODO remove before release of 0.12.0 |
| 1639 | | else if (mem.eql(u8, slice, "@boolToInt")) { |
| 1640 | | try ais.writer().writeAll("@intFromBool"); |
| 1641 | | } else if (mem.eql(u8, slice, "@enumToInt")) { |
| 1642 | | try ais.writer().writeAll("@intFromEnum"); |
| 1643 | | } else if (mem.eql(u8, slice, "@errorToInt")) { |
| 1644 | | try ais.writer().writeAll("@intFromError"); |
| 1645 | | } else if (mem.eql(u8, slice, "@floatToInt")) { |
| 1646 | | try ais.writer().writeAll("@intFromFloat"); |
| 1647 | | } else if (mem.eql(u8, slice, "@intToEnum")) { |
| 1648 | | try ais.writer().writeAll("@enumFromInt"); |
| 1649 | | } else if (mem.eql(u8, slice, "@intToError")) { |
| 1650 | | try ais.writer().writeAll("@errorFromInt"); |
| 1651 | | } else if (mem.eql(u8, slice, "@intToFloat")) { |
| 1652 | | try ais.writer().writeAll("@floatFromInt"); |
| 1653 | | } else if (mem.eql(u8, slice, "@intToPtr")) { |
| 1654 | | try ais.writer().writeAll("@ptrFromInt"); |
| 1655 | | } else if (mem.eql(u8, slice, "@ptrToInt")) { |
| 1656 | | try ais.writer().writeAll("@intFromPtr"); |
| 1657 | | } else if (mem.eql(u8, slice, "@fabs")) { |
| 1658 | | try ais.writer().writeAll("@abs"); |
| 1659 | | } else if (mem.eql(u8, slice, "@errSetCast")) { |
| 1660 | | try ais.writer().writeAll("@errorCast"); |
| 1661 | | } else { |
| 1662 | | try renderToken(r, builtin_token, .none); // @name |
| 1663 | | } |
| 1664 | | |
| 1665 | | if (rewrite_two_param_cast) { |
| 1666 | | // Matches with corresponding logic above builtin name rewrite |
| 1667 | | const after_last_param_token = tree.lastToken(params[1]) + 1; |
| 1668 | | try ais.writer().writeAll("("); |
| 1669 | | try renderExpression(r, params[1], .none); |
| 1670 | | try ais.writer().writeAll(")"); |
| 1671 | | if (token_tags[after_last_param_token] != .comma) { |
| 1672 | | // Render all on one line, no trailing comma. |
| 1673 | | return renderToken(r, after_last_param_token, space); // ) |
| 1674 | | } else { |
| 1675 | | // Render one param per line. |
| 1676 | | ais.popIndent(); |
| 1677 | | try renderToken(r, after_last_param_token, .newline); // , |
| 1678 | | return renderToken(r, after_last_param_token + 1, space); // ) |
| 1679 | | } |
| 1680 | | } |
| 1594 | try renderToken(r, builtin_token, .none); // @name |
| 1681 | 1595 | |
| 1682 | 1596 | if (params.len == 0) { |
| 1683 | 1597 | try renderToken(r, builtin_token + 1, .none); // ( |
| ... | ... | @@ -1685,6 +1599,7 @@ fn renderBuiltinCall( |
| 1685 | 1599 | } |
| 1686 | 1600 | |
| 1687 | 1601 | if (r.fixups.rebase_imported_paths) |prefix| { |
| 1602 | const slice = tree.tokenSlice(builtin_token); |
| 1688 | 1603 | if (mem.eql(u8, slice, "@import")) f: { |
| 1689 | 1604 | const param = params[0]; |
| 1690 | 1605 | const str_lit_token = main_tokens[param]; |