ruff/crates/ruff_python_parser/src/snapshots
Dhruv Manilawala cdac90ef68
New AST nodes for f-string elements (#8835)
Rebase of #6365 authored by @davidszotten.

## Summary

This PR updates the AST structure for an f-string elements.

The main **motivation** behind this change is to have a dedicated node
for the string part of an f-string. Previously, the existing
`ExprStringLiteral` node was used for this purpose which isn't exactly
correct. The `ExprStringLiteral` node should include the quotes as well
in the range but the f-string literal element doesn't include the quote
as it's a specific part within an f-string. For example,

```python
f"foo {x}"
# ^^^^
# This is the literal part of an f-string
```

The introduction of `FStringElement` enum is helpful which represent
either the literal part or the expression part of an f-string.

### Rule Updates

This means that there'll be two nodes representing a string depending on
the context. One for a normal string literal while the other is a string
literal within an f-string. The AST checker is updated to accommodate
this change. The rules which work on string literal are updated to check
on the literal part of f-string as well.

#### Notes

1. The `Expr::is_literal_expr` method would check for
`ExprStringLiteral` and return true if so. But now that we don't
represent the literal part of an f-string using that node, this improves
the method's behavior and confines to the actual expression. We do have
the `FStringElement::is_literal` method.
2. We avoid checking if we're in a f-string context before adding to
`string_type_definitions` because the f-string literal is now a
dedicated node and not part of `Expr`.
3. Annotations cannot use f-string so we avoid changing any rules which
work on annotation and checks for `ExprStringLiteral`.

## Test Plan

- All references of `Expr::StringLiteral` were checked to see if any of
the rules require updating to account for the f-string literal element
node.
- New test cases are added for rules which check against the literal
part of an f-string.
- Check the ecosystem results and ensure it remains unchanged.

## Performance

There's a performance penalty in the parser. The reason for this remains
unknown as it seems that the generated assembly code is now different
for the `__reduce154` function. The reduce function body is just popping
the `ParenthesizedExpr` on top of the stack and pushing it with the new
location.

- The size of `FStringElement` enum is the same as `Expr` which is what
it replaces in `FString::format_spec`
- The size of `FStringExpressionElement` is the same as
`ExprFormattedValue` which is what it replaces

I tried reducing the `Expr` enum from 80 bytes to 72 bytes but it hardly
resulted in any performance gain. The difference can be seen here:
- Original profile: https://share.firefox.dev/3Taa7ES
- Profile after boxing some node fields:
https://share.firefox.dev/3GsNXpD

### Backtracking

I tried backtracking the changes to see if any of the isolated change
produced this regression. The problem here is that the overall change is
so small that there's only a single checkpoint where I can backtrack and
that checkpoint results in the same regression. This checkpoint is to
revert using `Expr` to the `FString::format_spec` field. After this
point, the change would revert back to the original implementation.

## Review process

The review process is similar to #7927. The first set of commits update
the node structure, parser, and related AST files. Then, further commits
update the linter and formatter part to account for the AST change.

---------

Co-authored-by: David Szotten <davidszotten@gmail.com>
2023-12-07 10:28:05 -06:00
..
ruff_python_parser__context__tests__ann_assign_name.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__assign_attribute.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__assign_for.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__assign_list.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__assign_list_comp.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__assign_name.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__assign_named_expr.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__assign_set_comp.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__assign_starred.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__assign_subscript.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__assign_tuple.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__assign_with.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__aug_assign_attribute.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__aug_assign_name.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__aug_assign_subscript.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__context__tests__del_attribute.snap Pull in RustPython parser (#6099) 2023-07-27 09:29:11 +00:00
ruff_python_parser__context__tests__del_name.snap Pull in RustPython parser (#6099) 2023-07-27 09:29:11 +00:00
ruff_python_parser__context__tests__del_subscript.snap Pull in RustPython parser (#6099) 2023-07-27 09:29:11 +00:00
ruff_python_parser__function__tests__function_kw_only_args.snap Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
ruff_python_parser__function__tests__function_kw_only_args_with_defaults.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__function__tests__function_no_args.snap Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
ruff_python_parser__function__tests__function_no_args_with_ranges.snap Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
ruff_python_parser__function__tests__function_pos_and_kw_only_args.snap Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
ruff_python_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__function__tests__function_pos_args.snap Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
ruff_python_parser__function__tests__function_pos_args_with_defaults.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__function__tests__function_pos_args_with_ranges.snap Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
ruff_python_parser__function__tests__lambda_kw_only_args.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__function__tests__lambda_kw_only_args_with_defaults.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__function__tests__lambda_no_args.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__function__tests__lambda_pos_and_kw_only_args.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__function__tests__lambda_pos_args.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__function__tests__lambda_pos_args_with_defaults.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__invalid__tests__ok_assignment_expr.snap Reject more syntactically invalid Python programs (#8524) 2023-11-07 07:16:06 -05:00
ruff_python_parser__invalid__tests__ok_attribute_normal.snap Reject more syntactically invalid Python programs (#8524) 2023-11-07 07:16:06 -05:00
ruff_python_parser__invalid__tests__ok_attribute_weird.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__invalid__tests__ok_ipy_escape_command.snap Reject more syntactically invalid Python programs (#8524) 2023-11-07 07:16:06 -05:00
ruff_python_parser__invalid__tests__ok_list.snap Reject more syntactically invalid Python programs (#8524) 2023-11-07 07:16:06 -05:00
ruff_python_parser__invalid__tests__ok_name.snap Reject more syntactically invalid Python programs (#8524) 2023-11-07 07:16:06 -05:00
ruff_python_parser__invalid__tests__ok_slice_normal.snap Reject more syntactically invalid Python programs (#8524) 2023-11-07 07:16:06 -05:00
ruff_python_parser__invalid__tests__ok_slice_weird.snap Reject more syntactically invalid Python programs (#8524) 2023-11-07 07:16:06 -05:00
ruff_python_parser__invalid__tests__ok_starred.snap Reject more syntactically invalid Python programs (#8524) 2023-11-07 07:16:06 -05:00
ruff_python_parser__invalid__tests__ok_subscript_normal.snap Reject more syntactically invalid Python programs (#8524) 2023-11-07 07:16:06 -05:00
ruff_python_parser__invalid__tests__ok_subscript_weird.snap Reject more syntactically invalid Python programs (#8524) 2023-11-07 07:16:06 -05:00
ruff_python_parser__invalid__tests__ok_tuple.snap Reject more syntactically invalid Python programs (#8524) 2023-11-07 07:16:06 -05:00
ruff_python_parser__lexer__tests__assignment.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__comment_until_mac_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__comment_until_unix_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__comment_until_windows_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__double_dedent_with_mac_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__double_dedent_with_tabs_mac_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__double_dedent_with_tabs_unix_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__double_dedent_with_tabs_windows_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__double_dedent_with_unix_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__double_dedent_with_windows_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__empty_fstrings.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__empty_ipython_escape_command.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__escape_unicode_name.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__fstring.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_comments.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_conversion.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_escape.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_escape_braces.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_escape_raw.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_expression_multiline.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_multiline.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_named_unicode.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_named_unicode_raw.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_nested.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_parentheses.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_prefix.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_single_quote_escape_mac_eol.snap Consume the escaped Windows newline (\r\n) for FStringMiddle (#7722) 2023-10-01 07:58:20 +05:30
ruff_python_parser__lexer__tests__fstring_single_quote_escape_unix_eol.snap Consume the escaped Windows newline (\r\n) for FStringMiddle (#7722) 2023-10-01 07:58:20 +05:30
ruff_python_parser__lexer__tests__fstring_single_quote_escape_windows_eol.snap Consume the escaped Windows newline (\r\n) for FStringMiddle (#7722) 2023-10-01 07:58:20 +05:30
ruff_python_parser__lexer__tests__fstring_with_format_spec.snap Avoid curly brace escape in f-string format spec (#7780) 2023-10-03 19:38:03 +05:30
ruff_python_parser__lexer__tests__fstring_with_ipy_escape_command.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_with_lambda_expression.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_with_multiline_format_spec.snap Fix lexing single-quoted f-string with multi-line format spec (#7787) 2023-10-05 23:12:09 +05:30
ruff_python_parser__lexer__tests__fstring_with_named_expression.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__fstring_with_nul_char.snap Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_parser__lexer__tests__indentation_with_mac_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__indentation_with_unix_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__indentation_with_windows_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__invalid_leading_zero_big.snap Implement our own small-integer optimization (#7584) 2023-09-25 15:13:21 +00:00
ruff_python_parser__lexer__tests__invalid_leading_zero_small.snap Implement our own small-integer optimization (#7584) 2023-09-25 15:13:21 +00:00
ruff_python_parser__lexer__tests__ipython_escape_command.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__ipython_escape_command_assignment.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__ipython_escape_command_indentation.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__ipython_escape_command_line_continuation_mac_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__ipython_escape_command_line_continuation_unix_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__ipython_escape_command_line_continuation_windows_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__ipython_escape_command_line_continuation_with_mac_eol_and_eof.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__ipython_escape_command_line_continuation_with_unix_eol_and_eof.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__ipython_escape_command_line_continuation_with_windows_eol_and_eof.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__ipython_help_end_escape_command.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__line_comment_empty.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__line_comment_long.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__line_comment_single_whitespace.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__line_comment_whitespace.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__logical_newline_line_comment.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__match_softkeyword_in_notebook.snap Lexer start of line is false only for Mode::Expression (#8880) 2023-11-28 20:38:25 +00:00
ruff_python_parser__lexer__tests__newline_in_brackets_mac_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__newline_in_brackets_unix_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__newline_in_brackets_windows_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__non_logical_newline_in_string_continuation.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__numbers.snap Include radix base prefix in large number representation (#7700) 2023-09-28 20:38:06 +00:00
ruff_python_parser__lexer__tests__operators.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__string.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__string_continuation_with_mac_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__string_continuation_with_unix_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__string_continuation_with_windows_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__tet_too_low_dedent.snap Emit LexError for dedent to incorrect level (#7638) 2023-09-25 11:45:44 +01:00
ruff_python_parser__lexer__tests__triple_quoted_mac_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__triple_quoted_unix_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__lexer__tests__triple_quoted_windows_eol.snap Add range to lexer test snapshots (#7265) 2023-09-11 19:12:46 +00:00
ruff_python_parser__parser__tests__decorator_ranges.snap Remove async AST node variants for with, for, and def (#6369) 2023-08-07 16:36:02 +00:00
ruff_python_parser__parser__tests__dict_unpacking.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__parser__tests__fstrings.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__parser__tests__fstrings_with_unicode.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__parser__tests__generator_expression_argument.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__parser__tests__ipython_escape_commands.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__match.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__parser__tests__match_as_identifier.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__named_expression.snap Expand NamedExpr range to include full range of parenthesized value (#6632) 2023-08-17 14:34:05 +00:00
ruff_python_parser__parser__tests__numeric_literals.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__numeric_literals_attribute_access.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__parenthesized_with_statement.snap Avoid off-by-one error in with-item named expressions (#8915) 2023-11-30 00:11:04 +00:00
ruff_python_parser__parser__tests__parse_bool_op_and.snap Pull in RustPython parser (#6099) 2023-07-27 09:29:11 +00:00
ruff_python_parser__parser__tests__parse_bool_op_or.snap Pull in RustPython parser (#6099) 2023-07-27 09:29:11 +00:00
ruff_python_parser__parser__tests__parse_class.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__parser__tests__parse_class_generic_types.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__parse_dict_comprehension.snap Pull in RustPython parser (#6099) 2023-07-27 09:29:11 +00:00
ruff_python_parser__parser__tests__parse_double_list_comprehension.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__parse_empty.snap Pull in RustPython parser (#6099) 2023-07-27 09:29:11 +00:00
ruff_python_parser__parser__tests__parse_f_string.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__parser__tests__parse_function_definition.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__parse_generator_comprehension.snap Pull in RustPython parser (#6099) 2023-07-27 09:29:11 +00:00
ruff_python_parser__parser__tests__parse_if_elif_else.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__parse_if_else_generator_comprehension.snap Pull in RustPython parser (#6099) 2023-07-27 09:29:11 +00:00
ruff_python_parser__parser__tests__parse_kwargs.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__parser__tests__parse_lambda.snap Make Parameters an optional field on ExprLambda (#6669) 2023-08-18 15:34:54 +00:00
ruff_python_parser__parser__tests__parse_lambda_no_args.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__parse_list_comprehension.snap Pull in RustPython parser (#6099) 2023-07-27 09:29:11 +00:00
ruff_python_parser__parser__tests__parse_named_expression_generator_comprehension.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__parse_print_2.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__parser__tests__parse_print_hello.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__parser__tests__parse_string.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__parser__tests__parse_tuples.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__parse_type_declaration.snap Support type alias statements in simple statement positions (#8916) 2023-11-30 19:15:19 +00:00
ruff_python_parser__parser__tests__patma.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__parser__tests__slice.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__star_index.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__try.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__parser__tests__try_star.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__parser__tests__type_as_identifier.snap Support type alias statements in simple statement positions (#8916) 2023-11-30 19:15:19 +00:00
ruff_python_parser__parser__tests__unicode_aliases.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__parser__tests__variadic_generics.snap Split Constant to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_parser__parser__tests__with_statement.snap Avoid off-by-one error in with-item named expressions (#8915) 2023-11-30 00:11:04 +00:00
ruff_python_parser__string__tests__backspace_alias.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__bell_alias.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__carriage_return_alias.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__character_tabulation_with_justification_alias.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__delete_alias.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__dont_panic_on_8_in_octal_escape.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__double_quoted_byte.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__escape_alias.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__escape_char_in_byte_literal.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__escape_octet.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__form_feed_alias.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__fstring_constant_range.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__fstring_escaped_character.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__fstring_escaped_newline.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__fstring_line_continuation.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__fstring_parse_self_documenting_base.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__fstring_parse_self_documenting_base_more.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__fstring_parse_self_documenting_format.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__fstring_unescaped_newline.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__hts_alias.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__parse_empty_fstring.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_f_string_concat_1.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_f_string_concat_2.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_f_string_concat_3.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_f_string_concat_4.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_fstring.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_fstring_equals.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_fstring_nested_concatenation_string_spec.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_fstring_nested_spec.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_fstring_nested_string_spec.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_fstring_not_equals.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_fstring_not_nested_spec.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_fstring_self_doc_prec_space.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_fstring_self_doc_trailing_space.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_fstring_yield_expr.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_string_concat.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__parse_string_triple_quotes_with_kind.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__parse_u_f_string_concat_1.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_u_f_string_concat_2.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__parse_u_string_concat_1.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__parse_u_string_concat_2.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__raw_byte_literal_1.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__raw_byte_literal_2.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__raw_fstring.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00
ruff_python_parser__string__tests__single_quoted_byte.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__string_parser_escaped_mac_eol.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__string_parser_escaped_unix_eol.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__string_parser_escaped_windows_eol.snap Update string nodes for implicit concatenation (#7927) 2023-11-24 17:55:41 -06:00
ruff_python_parser__string__tests__triple_quoted_raw_fstring.snap New AST nodes for f-string elements (#8835) 2023-12-07 10:28:05 -06:00