mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-19 10:00:42 +00:00
Implement template strings (#17851)
This PR implements template strings (t-strings) in the parser and formatter for Ruff. Minimal changes necessary to compile were made in other parts of the code (e.g. ty, the linter, etc.). These will be covered properly in follow-up PRs.
This commit is contained in:
parent
ad024f9a09
commit
9bbf4987e8
261 changed files with 18023 additions and 1802 deletions
|
@ -0,0 +1,98 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
2..3,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
String(
|
||||
"",
|
||||
),
|
||||
4..6,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
7..9,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
9..10,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
11..13,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
13..14,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
String(
|
||||
"",
|
||||
),
|
||||
15..17,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
18..22,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
22..25,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
26..30,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
30..33,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
33..33,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"normal ",
|
||||
),
|
||||
2..9,
|
||||
|
@ -37,7 +36,7 @@ snapshot_kind: text
|
|||
13..14,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" {another} ",
|
||||
),
|
||||
14..27,
|
||||
|
@ -60,7 +59,7 @@ snapshot_kind: text
|
|||
31..32,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" {",
|
||||
),
|
||||
32..35,
|
||||
|
@ -83,7 +82,7 @@ snapshot_kind: text
|
|||
41..42,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"}",
|
||||
),
|
||||
42..44,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\n# not a comment ",
|
||||
),
|
||||
4..21,
|
||||
|
@ -49,7 +48,7 @@ snapshot_kind: text
|
|||
41..42,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" # not a comment\n",
|
||||
),
|
||||
42..59,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -38,7 +37,7 @@ snapshot_kind: text
|
|||
6..7,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
7..8,
|
||||
|
@ -75,7 +74,7 @@ snapshot_kind: text
|
|||
13..14,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
14..15,
|
||||
|
@ -98,7 +97,7 @@ snapshot_kind: text
|
|||
17..18,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
".3f!r",
|
||||
),
|
||||
18..23,
|
||||
|
@ -111,7 +110,7 @@ snapshot_kind: text
|
|||
23..24,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" {x!r}",
|
||||
),
|
||||
24..32,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\\",
|
||||
),
|
||||
2..3,
|
||||
|
@ -37,7 +36,7 @@ snapshot_kind: text
|
|||
5..6,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\\\"\\",
|
||||
),
|
||||
6..9,
|
||||
|
@ -64,7 +63,7 @@ snapshot_kind: text
|
|||
12..13,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" \\\"\\\"\\\n end",
|
||||
),
|
||||
13..24,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\\",
|
||||
),
|
||||
2..3,
|
||||
|
@ -51,7 +50,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\\\\",
|
||||
),
|
||||
12..14,
|
||||
|
@ -88,7 +87,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\\{foo}",
|
||||
),
|
||||
23..31,
|
||||
|
@ -111,7 +110,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\\\\{foo}",
|
||||
),
|
||||
35..44,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\\",
|
||||
),
|
||||
3..4,
|
||||
|
@ -37,7 +36,7 @@ snapshot_kind: text
|
|||
6..7,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\\\"\\",
|
||||
),
|
||||
7..10,
|
||||
|
@ -64,7 +63,7 @@ snapshot_kind: text
|
|||
13..14,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" \\\"\\\"\\\n end",
|
||||
),
|
||||
14..25,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"first ",
|
||||
),
|
||||
2..8,
|
||||
|
@ -63,7 +62,7 @@ snapshot_kind: text
|
|||
40..41,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" second",
|
||||
),
|
||||
41..48,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\nhello\n world\n",
|
||||
),
|
||||
4..21,
|
||||
|
@ -37,7 +36,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\n world\nhello\n",
|
||||
),
|
||||
29..46,
|
||||
|
@ -60,7 +59,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"some ",
|
||||
),
|
||||
52..57,
|
||||
|
@ -80,7 +79,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"multiline\nallowed ",
|
||||
),
|
||||
62..80,
|
||||
|
@ -114,7 +113,7 @@ snapshot_kind: text
|
|||
86..87,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" string",
|
||||
),
|
||||
87..94,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\\N{BULLET} normal \\Nope \\N",
|
||||
),
|
||||
2..28,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\\N",
|
||||
),
|
||||
3..5,
|
||||
|
@ -37,7 +36,7 @@ snapshot_kind: text
|
|||
12..13,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" normal",
|
||||
),
|
||||
13..20,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"foo ",
|
||||
),
|
||||
2..6,
|
||||
|
@ -34,7 +33,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"bar ",
|
||||
),
|
||||
9..13,
|
||||
|
@ -100,7 +99,7 @@ snapshot_kind: text
|
|||
28..29,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" baz",
|
||||
),
|
||||
29..33,
|
||||
|
@ -123,7 +122,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"foo ",
|
||||
),
|
||||
37..41,
|
||||
|
@ -143,7 +142,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"bar",
|
||||
),
|
||||
44..47,
|
||||
|
@ -163,7 +162,7 @@ snapshot_kind: text
|
|||
48..49,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" some ",
|
||||
),
|
||||
49..55,
|
||||
|
@ -183,7 +182,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"another",
|
||||
),
|
||||
58..65,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -36,7 +35,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"{}",
|
||||
),
|
||||
8..12,
|
||||
|
@ -59,7 +58,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
16..17,
|
||||
|
@ -90,7 +89,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"{",
|
||||
),
|
||||
23..25,
|
||||
|
@ -107,7 +106,7 @@ snapshot_kind: text
|
|||
26..27,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"}",
|
||||
),
|
||||
27..29,
|
||||
|
@ -130,7 +129,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"{{}}",
|
||||
),
|
||||
33..41,
|
||||
|
@ -153,7 +152,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
45..46,
|
||||
|
@ -170,7 +169,7 @@ snapshot_kind: text
|
|||
47..48,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" {} {",
|
||||
),
|
||||
48..56,
|
||||
|
@ -187,7 +186,7 @@ snapshot_kind: text
|
|||
57..58,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"} {{}} ",
|
||||
),
|
||||
58..71,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: fstring_single_quote_escape_eol(MAC_EOL)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"text \\\r more text",
|
||||
),
|
||||
2..19,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: fstring_single_quote_escape_eol(UNIX_EOL)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"text \\\n more text",
|
||||
),
|
||||
2..19,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: fstring_single_quote_escape_eol(WINDOWS_EOL)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"text \\\r\n more text",
|
||||
),
|
||||
2..20,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -32,7 +31,7 @@ snapshot_kind: text
|
|||
7..8,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
8..9,
|
||||
|
@ -69,7 +68,7 @@ snapshot_kind: text
|
|||
14..15,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
".3f",
|
||||
),
|
||||
15..18,
|
||||
|
@ -82,7 +81,7 @@ snapshot_kind: text
|
|||
18..19,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
19..20,
|
||||
|
@ -105,7 +104,7 @@ snapshot_kind: text
|
|||
22..23,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
".",
|
||||
),
|
||||
23..24,
|
||||
|
@ -128,7 +127,7 @@ snapshot_kind: text
|
|||
26..27,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"f",
|
||||
),
|
||||
27..28,
|
||||
|
@ -141,7 +140,7 @@ snapshot_kind: text
|
|||
28..29,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
29..30,
|
||||
|
@ -164,7 +163,7 @@ snapshot_kind: text
|
|||
33..34,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"*^",
|
||||
),
|
||||
34..36,
|
||||
|
@ -209,7 +208,7 @@ snapshot_kind: text
|
|||
43..44,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
44..45,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"foo ",
|
||||
),
|
||||
2..6,
|
||||
|
@ -41,7 +40,7 @@ snapshot_kind: text
|
|||
11..12,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" bar",
|
||||
),
|
||||
12..16,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
4..6,
|
||||
|
@ -41,7 +40,7 @@ snapshot_kind: text
|
|||
13..14,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"d\n",
|
||||
),
|
||||
14..16,
|
||||
|
@ -54,7 +53,7 @@ snapshot_kind: text
|
|||
16..17,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
17..19,
|
||||
|
@ -81,7 +80,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
27..29,
|
||||
|
@ -108,7 +107,7 @@ snapshot_kind: text
|
|||
36..37,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"a\n b\n c\n",
|
||||
),
|
||||
37..61,
|
||||
|
@ -121,7 +120,7 @@ snapshot_kind: text
|
|||
61..62,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
62..64,
|
||||
|
@ -148,7 +147,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
70..72,
|
||||
|
@ -175,7 +174,7 @@ snapshot_kind: text
|
|||
79..80,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"d",
|
||||
),
|
||||
80..81,
|
||||
|
@ -192,7 +191,7 @@ snapshot_kind: text
|
|||
82..83,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
83..85,
|
||||
|
@ -219,7 +218,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
89..91,
|
||||
|
@ -246,7 +245,7 @@ snapshot_kind: text
|
|||
98..99,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"a",
|
||||
),
|
||||
99..100,
|
||||
|
@ -273,7 +272,7 @@ snapshot_kind: text
|
|||
111..112,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
112..114,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -28,7 +27,7 @@ snapshot_kind: text
|
|||
4..5,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"=10",
|
||||
),
|
||||
5..8,
|
||||
|
@ -41,7 +40,7 @@ snapshot_kind: text
|
|||
8..9,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
9..10,
|
||||
|
@ -82,7 +81,7 @@ snapshot_kind: text
|
|||
18..19,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
19..20,
|
||||
|
@ -133,7 +132,7 @@ snapshot_kind: text
|
|||
30..31,
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
31..32,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
snapshot_kind: text
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
|
@ -14,7 +13,7 @@ snapshot_kind: text
|
|||
),
|
||||
),
|
||||
(
|
||||
FStringMiddle(
|
||||
InterpolatedStringMiddle(
|
||||
"\\0",
|
||||
),
|
||||
2..4,
|
||||
|
|
|
@ -0,0 +1,226 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"foo ",
|
||||
),
|
||||
2..6,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
6..7,
|
||||
),
|
||||
(
|
||||
FStringStart,
|
||||
7..9,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"bar ",
|
||||
),
|
||||
9..13,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
13..14,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
14..15,
|
||||
),
|
||||
(
|
||||
Plus,
|
||||
16..17,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
18..20,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
20..21,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("wow"),
|
||||
),
|
||||
21..24,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
24..25,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
25..26,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
26..27,
|
||||
),
|
||||
(
|
||||
FStringEnd,
|
||||
27..28,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
28..29,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" baz",
|
||||
),
|
||||
29..33,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
33..34,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
FStringStart,
|
||||
35..37,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"foo ",
|
||||
),
|
||||
37..41,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
41..42,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
42..44,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"bar",
|
||||
),
|
||||
44..47,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
47..48,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Exclamation,
|
||||
48..49,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("r"),
|
||||
),
|
||||
49..50,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
50..51,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" some ",
|
||||
),
|
||||
51..57,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
57..58,
|
||||
),
|
||||
(
|
||||
FStringStart,
|
||||
58..60,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"another",
|
||||
),
|
||||
60..67,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
FStringEnd,
|
||||
67..68,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
68..69,
|
||||
),
|
||||
(
|
||||
FStringEnd,
|
||||
69..70,
|
||||
TokenFlags(
|
||||
F_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
70..70,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,105 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"normal ",
|
||||
),
|
||||
2..9,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
9..10,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("foo"),
|
||||
),
|
||||
10..13,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
13..14,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" {another} ",
|
||||
),
|
||||
14..27,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
27..28,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("bar"),
|
||||
),
|
||||
28..31,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
31..32,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" {",
|
||||
),
|
||||
32..35,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
35..36,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("three"),
|
||||
),
|
||||
36..41,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
41..42,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"}",
|
||||
),
|
||||
42..44,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
44..45,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
45..45,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..4,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\n# not a comment ",
|
||||
),
|
||||
4..21,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
21..22,
|
||||
),
|
||||
(
|
||||
Comment,
|
||||
23..34,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
34..35,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
39..40,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
40..41,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
41..42,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" # not a comment\n",
|
||||
),
|
||||
42..59,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
59..62,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
62..62,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,133 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
2..3,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
3..4,
|
||||
),
|
||||
(
|
||||
Exclamation,
|
||||
4..5,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("s"),
|
||||
),
|
||||
5..6,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
6..7,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
7..8,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
8..9,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
9..10,
|
||||
),
|
||||
(
|
||||
Equal,
|
||||
10..11,
|
||||
),
|
||||
(
|
||||
Exclamation,
|
||||
11..12,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("r"),
|
||||
),
|
||||
12..13,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
13..14,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
14..15,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
15..16,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
16..17,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
17..18,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
".3f!r",
|
||||
),
|
||||
18..23,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
23..24,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" {x!r}",
|
||||
),
|
||||
24..32,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
32..33,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
33..33,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,86 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\\",
|
||||
),
|
||||
2..3,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
3..4,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
4..5,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
5..6,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\\\"\\",
|
||||
),
|
||||
6..9,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
9..10,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
10..11,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
11..12,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
12..13,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" \\\"\\\"\\\n end",
|
||||
),
|
||||
13..24,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
24..25,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
25..25,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,133 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\\",
|
||||
),
|
||||
2..3,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
3..4,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("foo"),
|
||||
),
|
||||
4..7,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
7..8,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
8..9,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
10..12,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\\\\",
|
||||
),
|
||||
12..14,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
14..15,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("foo"),
|
||||
),
|
||||
15..18,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
18..19,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
19..20,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
21..23,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\\{foo}",
|
||||
),
|
||||
23..31,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
31..32,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
33..35,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\\\\{foo}",
|
||||
),
|
||||
35..44,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
44..45,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
45..45,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,86 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..3,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\\",
|
||||
),
|
||||
3..4,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
4..5,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
5..6,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
6..7,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\\\"\\",
|
||||
),
|
||||
7..10,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
10..11,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
11..12,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
12..13,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
13..14,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" \\\"\\\"\\\n end",
|
||||
),
|
||||
14..25,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
25..26,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
26..26,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,85 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"first ",
|
||||
),
|
||||
2..8,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
8..9,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
9..10,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
14..15,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
15..16,
|
||||
),
|
||||
(
|
||||
Star,
|
||||
24..25,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
25..26,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("y"),
|
||||
),
|
||||
38..39,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
39..40,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
40..41,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" second",
|
||||
),
|
||||
41..48,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
48..49,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
49..49,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,136 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..4,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\nhello\n world\n",
|
||||
),
|
||||
4..21,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
21..24,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
25..29,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\n world\nhello\n",
|
||||
),
|
||||
29..46,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
46..49,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
50..52,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"some ",
|
||||
),
|
||||
52..57,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
57..58,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
58..62,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"multiline\nallowed ",
|
||||
),
|
||||
62..80,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
80..81,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
81..82,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
82..83,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
83..86,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
86..87,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" string",
|
||||
),
|
||||
87..94,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
94..95,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
95..95,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\\N{BULLET} normal \\Nope \\N",
|
||||
),
|
||||
2..28,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
28..29,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
29..29,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,59 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..3,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\\N",
|
||||
),
|
||||
3..5,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
5..6,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("BULLET"),
|
||||
),
|
||||
6..12,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
12..13,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" normal",
|
||||
),
|
||||
13..20,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
20..21,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
21..21,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,216 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"foo ",
|
||||
),
|
||||
2..6,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
6..7,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
7..9,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"bar ",
|
||||
),
|
||||
9..13,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
13..14,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
14..15,
|
||||
),
|
||||
(
|
||||
Plus,
|
||||
16..17,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
18..20,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
20..21,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("wow"),
|
||||
),
|
||||
21..24,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
24..25,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
25..26,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
26..27,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
27..28,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
28..29,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" baz",
|
||||
),
|
||||
29..33,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
33..34,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
35..37,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"foo ",
|
||||
),
|
||||
37..41,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
41..42,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
42..44,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"bar",
|
||||
),
|
||||
44..47,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
47..48,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
48..49,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" some ",
|
||||
),
|
||||
49..55,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
55..56,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
56..58,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"another",
|
||||
),
|
||||
58..65,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
65..66,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
66..67,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
67..68,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
68..68,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,209 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
2..3,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
3..4,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
4..5,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
6..8,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"{}",
|
||||
),
|
||||
8..12,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
12..13,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
14..16,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
16..17,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
17..18,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
18..19,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
19..20,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
21..23,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"{",
|
||||
),
|
||||
23..25,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
25..26,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
26..27,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"}",
|
||||
),
|
||||
27..29,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
29..30,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
31..33,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"{{}}",
|
||||
),
|
||||
33..41,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
41..42,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
43..45,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
45..46,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
46..47,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
47..48,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" {} {",
|
||||
),
|
||||
48..56,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
56..57,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
57..58,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"} {{}} ",
|
||||
),
|
||||
58..71,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
71..72,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
72..72,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,153 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
2..3,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
4..6,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
6..7,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
8..11,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
11..12,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
13..16,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
16..17,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
18..21,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_UPPERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
21..22,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_UPPERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
23..26,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_UPPERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
26..27,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_UPPERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
28..31,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
31..32,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
33..36,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
36..37,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_LOWERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
38..41,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_UPPERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
41..42,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_UPPERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
43..46,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_UPPERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
46..47,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING | RAW_STRING_UPPERCASE,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
47..47,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: tstring_single_quote_escape_eol(MAC_EOL)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"text \\\r more text",
|
||||
),
|
||||
2..19,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
19..20,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
20..20,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: tstring_single_quote_escape_eol(UNIX_EOL)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"text \\\n more text",
|
||||
),
|
||||
2..19,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
19..20,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
20..20,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: tstring_single_quote_escape_eol(WINDOWS_EOL)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"text \\\r\n more text",
|
||||
),
|
||||
2..20,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
20..21,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
21..21,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,289 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
2..3,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("foo"),
|
||||
),
|
||||
3..6,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
6..7,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
7..8,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
8..9,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
9..10,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
10..11,
|
||||
),
|
||||
(
|
||||
Equal,
|
||||
11..12,
|
||||
),
|
||||
(
|
||||
Exclamation,
|
||||
12..13,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("s"),
|
||||
),
|
||||
13..14,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
14..15,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
".3f",
|
||||
),
|
||||
15..18,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
18..19,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
19..20,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
20..21,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
21..22,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
22..23,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
".",
|
||||
),
|
||||
23..24,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
24..25,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("y"),
|
||||
),
|
||||
25..26,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
26..27,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"f",
|
||||
),
|
||||
27..28,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
28..29,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
29..30,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
30..31,
|
||||
),
|
||||
(
|
||||
String(
|
||||
"",
|
||||
),
|
||||
31..33,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
33..34,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"*^",
|
||||
),
|
||||
34..36,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
36..37,
|
||||
),
|
||||
(
|
||||
Int(
|
||||
1,
|
||||
),
|
||||
37..38,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
38..39,
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
39..40,
|
||||
),
|
||||
(
|
||||
Int(
|
||||
1,
|
||||
),
|
||||
40..41,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
41..42,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
42..43,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
43..44,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
44..45,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
45..46,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
46..47,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
47..48,
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
48..49,
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
49..50,
|
||||
),
|
||||
(
|
||||
Int(
|
||||
1,
|
||||
),
|
||||
50..51,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
51..52,
|
||||
),
|
||||
(
|
||||
Dot,
|
||||
52..53,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("pop"),
|
||||
),
|
||||
53..56,
|
||||
),
|
||||
(
|
||||
Lpar,
|
||||
56..57,
|
||||
),
|
||||
(
|
||||
Rpar,
|
||||
57..58,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
58..59,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
59..60,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
60..61,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
61..61,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,63 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"foo ",
|
||||
),
|
||||
2..6,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
6..7,
|
||||
),
|
||||
(
|
||||
Exclamation,
|
||||
7..8,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("pwd"),
|
||||
),
|
||||
8..11,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
11..12,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" bar",
|
||||
),
|
||||
12..16,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
16..17,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
17..17,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,125 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
2..3,
|
||||
),
|
||||
(
|
||||
Lambda,
|
||||
3..9,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
10..11,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
11..12,
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
12..13,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
13..14,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
14..15,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
15..16,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
16..17,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
17..18,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
18..20,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
20..21,
|
||||
),
|
||||
(
|
||||
Lpar,
|
||||
21..22,
|
||||
),
|
||||
(
|
||||
Lambda,
|
||||
22..28,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
29..30,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
30..31,
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
31..32,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
32..33,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
33..34,
|
||||
),
|
||||
(
|
||||
Rpar,
|
||||
34..35,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
35..36,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
36..37,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
37..37,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,295 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..4,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
4..6,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
6..7,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
7..8,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
12..13,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
13..14,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"d\n",
|
||||
),
|
||||
14..16,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
16..17,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
17..19,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
19..22,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
22..23,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
23..27,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
27..29,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
29..30,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
30..31,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
35..36,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
36..37,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"a\n b\n c\n",
|
||||
),
|
||||
37..61,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
61..62,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
62..64,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
64..67,
|
||||
TokenFlags(
|
||||
TRIPLE_QUOTED_STRING | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
67..68,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
68..70,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
70..72,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
72..73,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
73..74,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
78..79,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
79..80,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"d",
|
||||
),
|
||||
80..81,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
81..82,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
82..83,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
83..85,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
85..86,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
86..87,
|
||||
),
|
||||
(
|
||||
TStringStart,
|
||||
87..89,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
89..91,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
91..92,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
92..93,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
97..98,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
98..99,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"a",
|
||||
),
|
||||
99..100,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
100..101,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("b"),
|
||||
),
|
||||
109..110,
|
||||
),
|
||||
(
|
||||
NonLogicalNewline,
|
||||
110..111,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
111..112,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"__",
|
||||
),
|
||||
112..114,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
114..115,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
115..116,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,187 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
2..3,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
3..4,
|
||||
),
|
||||
(
|
||||
Colon,
|
||||
4..5,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"=10",
|
||||
),
|
||||
5..8,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
8..9,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
9..10,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
10..11,
|
||||
),
|
||||
(
|
||||
Lpar,
|
||||
11..12,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
12..13,
|
||||
),
|
||||
(
|
||||
ColonEqual,
|
||||
13..15,
|
||||
),
|
||||
(
|
||||
Int(
|
||||
10,
|
||||
),
|
||||
15..17,
|
||||
),
|
||||
(
|
||||
Rpar,
|
||||
17..18,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
18..19,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
19..20,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
20..21,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
21..22,
|
||||
),
|
||||
(
|
||||
Comma,
|
||||
22..23,
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
23..24,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("y"),
|
||||
),
|
||||
24..25,
|
||||
),
|
||||
(
|
||||
ColonEqual,
|
||||
25..27,
|
||||
),
|
||||
(
|
||||
Int(
|
||||
10,
|
||||
),
|
||||
27..29,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
29..30,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
30..31,
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
" ",
|
||||
),
|
||||
31..32,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Lbrace,
|
||||
32..33,
|
||||
),
|
||||
(
|
||||
Lsqb,
|
||||
33..34,
|
||||
),
|
||||
(
|
||||
Name(
|
||||
Name("x"),
|
||||
),
|
||||
34..35,
|
||||
),
|
||||
(
|
||||
ColonEqual,
|
||||
35..37,
|
||||
),
|
||||
(
|
||||
Int(
|
||||
10,
|
||||
),
|
||||
37..39,
|
||||
),
|
||||
(
|
||||
Rsqb,
|
||||
39..40,
|
||||
),
|
||||
(
|
||||
Rbrace,
|
||||
40..41,
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
41..42,
|
||||
TokenFlags(
|
||||
DOUBLE_QUOTES | T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
42..42,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/lexer.rs
|
||||
expression: lex_source(source)
|
||||
---
|
||||
## Tokens
|
||||
```
|
||||
[
|
||||
(
|
||||
TStringStart,
|
||||
0..2,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
InterpolatedStringMiddle(
|
||||
"\\0",
|
||||
),
|
||||
2..4,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
TStringEnd,
|
||||
4..5,
|
||||
TokenFlags(
|
||||
T_STRING,
|
||||
),
|
||||
),
|
||||
(
|
||||
Newline,
|
||||
5..5,
|
||||
),
|
||||
]
|
||||
```
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -17,13 +16,13 @@ snapshot_kind: text
|
|||
range: 0..22,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 2..5,
|
||||
value: "aaa",
|
||||
},
|
||||
),
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 5..10,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
@ -38,13 +37,13 @@ snapshot_kind: text
|
|||
},
|
||||
),
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 10..13,
|
||||
value: "ccc",
|
||||
},
|
||||
),
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 13..18,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
@ -59,7 +58,7 @@ snapshot_kind: text
|
|||
},
|
||||
),
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 18..21,
|
||||
value: "eee",
|
||||
},
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -17,13 +16,13 @@ snapshot_kind: text
|
|||
range: 0..8,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 2..4,
|
||||
value: "\\",
|
||||
},
|
||||
),
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 4..7,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -17,13 +16,13 @@ snapshot_kind: text
|
|||
range: 0..8,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 2..4,
|
||||
value: "\n",
|
||||
},
|
||||
),
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 4..7,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -17,13 +16,13 @@ snapshot_kind: text
|
|||
range: 0..9,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 3..5,
|
||||
value: "\\\n",
|
||||
},
|
||||
),
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 5..8,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..10,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..9,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -17,13 +16,13 @@ snapshot_kind: text
|
|||
range: 0..38,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 2..6,
|
||||
value: "mix ",
|
||||
},
|
||||
),
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 6..13,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
@ -43,13 +42,13 @@ snapshot_kind: text
|
|||
},
|
||||
),
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 13..28,
|
||||
value: " with text and ",
|
||||
},
|
||||
),
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 28..37,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..14,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..13,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
@ -34,11 +33,11 @@ snapshot_kind: text
|
|||
),
|
||||
conversion: None,
|
||||
format_spec: Some(
|
||||
FStringFormatSpec {
|
||||
InterpolatedStringFormatSpec {
|
||||
range: 9..12,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 9..12,
|
||||
value: ">10",
|
||||
},
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -17,13 +16,13 @@ snapshot_kind: text
|
|||
range: 0..11,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 4..5,
|
||||
value: "\n",
|
||||
},
|
||||
),
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 5..8,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..3,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..3,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..3,
|
||||
elements: [],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -29,7 +28,7 @@ snapshot_kind: text
|
|||
range: 9..17,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 11..16,
|
||||
value: "world",
|
||||
},
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -29,7 +28,7 @@ snapshot_kind: text
|
|||
range: 9..17,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 11..16,
|
||||
value: "world",
|
||||
},
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -29,13 +28,13 @@ snapshot_kind: text
|
|||
range: 9..22,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 11..16,
|
||||
value: "world",
|
||||
},
|
||||
),
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 16..21,
|
||||
expression: StringLiteral(
|
||||
ExprStringLiteral {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -29,13 +28,13 @@ snapshot_kind: text
|
|||
range: 9..22,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 11..16,
|
||||
value: "world",
|
||||
},
|
||||
),
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 16..21,
|
||||
expression: StringLiteral(
|
||||
ExprStringLiteral {
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..18,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..18,
|
||||
value: TStringValue {
|
||||
inner: Concatenated(
|
||||
[
|
||||
FString(
|
||||
FString {
|
||||
range: 0..9,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 2..8,
|
||||
value: "Hello ",
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
TString(
|
||||
TString {
|
||||
range: 10..18,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 12..17,
|
||||
value: "world",
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Single,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,69 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..22,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..22,
|
||||
value: TStringValue {
|
||||
inner: Concatenated(
|
||||
[
|
||||
FString(
|
||||
FString {
|
||||
range: 0..9,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 2..8,
|
||||
value: "Hello ",
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: FStringFlags {
|
||||
quote_style: Single,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
TString(
|
||||
TString {
|
||||
range: 10..18,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 12..17,
|
||||
value: "world",
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Single,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
Literal(
|
||||
StringLiteral {
|
||||
range: 19..22,
|
||||
value: "!",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..18,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..5,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
@ -31,8 +30,8 @@ snapshot_kind: text
|
|||
format_spec: None,
|
||||
},
|
||||
),
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 5..10,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
@ -47,7 +46,7 @@ snapshot_kind: text
|
|||
},
|
||||
),
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 10..17,
|
||||
value: "{foo}",
|
||||
},
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..13,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..12,
|
||||
expression: Compare(
|
||||
ExprCompare {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..16,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..15,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
@ -29,11 +28,11 @@ snapshot_kind: text
|
|||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: Some(
|
||||
FStringFormatSpec {
|
||||
InterpolatedStringFormatSpec {
|
||||
range: 7..14,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 7..14,
|
||||
expression: StringLiteral(
|
||||
ExprStringLiteral {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..15,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..14,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
@ -29,11 +28,11 @@ snapshot_kind: text
|
|||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: Some(
|
||||
FStringFormatSpec {
|
||||
InterpolatedStringFormatSpec {
|
||||
range: 7..13,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 7..13,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..13,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..12,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
@ -29,11 +28,11 @@ snapshot_kind: text
|
|||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: Some(
|
||||
FStringFormatSpec {
|
||||
InterpolatedStringFormatSpec {
|
||||
range: 7..11,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 7..11,
|
||||
expression: StringLiteral(
|
||||
ExprStringLiteral {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..11,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..10,
|
||||
expression: Compare(
|
||||
ExprCompare {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..13,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..12,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
@ -29,11 +28,11 @@ snapshot_kind: text
|
|||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: Some(
|
||||
FStringFormatSpec {
|
||||
InterpolatedStringFormatSpec {
|
||||
range: 7..11,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 7..11,
|
||||
value: "spec",
|
||||
},
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..10,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..9,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..10,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..9,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..10,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..9,
|
||||
expression: Yield(
|
||||
ExprYield {
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..17,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..17,
|
||||
value: TStringValue {
|
||||
inner: Concatenated(
|
||||
[
|
||||
Literal(
|
||||
StringLiteral {
|
||||
range: 0..8,
|
||||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
TString(
|
||||
TString {
|
||||
range: 9..17,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 11..16,
|
||||
value: "world",
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Single,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..17,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..17,
|
||||
value: TStringValue {
|
||||
inner: Concatenated(
|
||||
[
|
||||
Literal(
|
||||
StringLiteral {
|
||||
range: 0..8,
|
||||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
TString(
|
||||
TString {
|
||||
range: 9..17,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 11..16,
|
||||
value: "world",
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Single,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,77 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..22,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..22,
|
||||
value: TStringValue {
|
||||
inner: Concatenated(
|
||||
[
|
||||
Literal(
|
||||
StringLiteral {
|
||||
range: 0..8,
|
||||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
TString(
|
||||
TString {
|
||||
range: 9..22,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 11..16,
|
||||
value: "world",
|
||||
},
|
||||
),
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 16..21,
|
||||
expression: StringLiteral(
|
||||
ExprStringLiteral {
|
||||
range: 17..20,
|
||||
value: StringLiteralValue {
|
||||
inner: Single(
|
||||
StringLiteral {
|
||||
range: 17..20,
|
||||
value: "!",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Single,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..31,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..31,
|
||||
value: TStringValue {
|
||||
inner: Concatenated(
|
||||
[
|
||||
Literal(
|
||||
StringLiteral {
|
||||
range: 0..8,
|
||||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
TString(
|
||||
TString {
|
||||
range: 9..22,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 11..16,
|
||||
value: "world",
|
||||
},
|
||||
),
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 16..21,
|
||||
expression: StringLiteral(
|
||||
ExprStringLiteral {
|
||||
range: 17..20,
|
||||
value: StringLiteralValue {
|
||||
inner: Single(
|
||||
StringLiteral {
|
||||
range: 17..20,
|
||||
value: "!",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Single,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
Literal(
|
||||
StringLiteral {
|
||||
range: 23..31,
|
||||
value: "again!",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,68 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..18,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..18,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..18,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..5,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 3..4,
|
||||
id: Name("a"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 5..10,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 7..8,
|
||||
id: Name("b"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 10..17,
|
||||
value: "{foo}",
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,66 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..13,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..13,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..13,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..12,
|
||||
expression: Compare(
|
||||
ExprCompare {
|
||||
range: 3..11,
|
||||
left: NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 3..5,
|
||||
value: Int(
|
||||
42,
|
||||
),
|
||||
},
|
||||
),
|
||||
ops: [
|
||||
Eq,
|
||||
],
|
||||
comparators: [
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 9..11,
|
||||
value: Int(
|
||||
42,
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,93 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..16,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..16,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..16,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..15,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 3..6,
|
||||
id: Name("foo"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: Some(
|
||||
InterpolatedStringFormatSpec {
|
||||
range: 7..14,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 7..14,
|
||||
expression: StringLiteral(
|
||||
ExprStringLiteral {
|
||||
range: 8..13,
|
||||
value: StringLiteralValue {
|
||||
inner: Concatenated(
|
||||
ConcatenatedStringLiteral {
|
||||
strings: [
|
||||
StringLiteral {
|
||||
range: 8..10,
|
||||
value: "",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
StringLiteral {
|
||||
range: 11..13,
|
||||
value: "",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
],
|
||||
value: "",
|
||||
},
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,68 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..15,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..15,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..15,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..14,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 3..6,
|
||||
id: Name("foo"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: Some(
|
||||
InterpolatedStringFormatSpec {
|
||||
range: 7..13,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 7..13,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 8..12,
|
||||
id: Name("spec"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,79 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..13,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..13,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..13,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..12,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 3..6,
|
||||
id: Name("foo"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: Some(
|
||||
InterpolatedStringFormatSpec {
|
||||
range: 7..11,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 7..11,
|
||||
expression: StringLiteral(
|
||||
ExprStringLiteral {
|
||||
range: 8..10,
|
||||
value: StringLiteralValue {
|
||||
inner: Single(
|
||||
StringLiteral {
|
||||
range: 8..10,
|
||||
value: "",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,66 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..11,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..11,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..11,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..10,
|
||||
expression: Compare(
|
||||
ExprCompare {
|
||||
range: 3..9,
|
||||
left: NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 3..4,
|
||||
value: Int(
|
||||
1,
|
||||
),
|
||||
},
|
||||
),
|
||||
ops: [
|
||||
NotEq,
|
||||
],
|
||||
comparators: [
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
range: 8..9,
|
||||
value: Int(
|
||||
2,
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,59 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..13,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..13,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..13,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..12,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 3..6,
|
||||
id: Name("foo"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: Some(
|
||||
InterpolatedStringFormatSpec {
|
||||
range: 7..11,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 7..11,
|
||||
value: "spec",
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..10,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..10,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..10,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..9,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 3..4,
|
||||
id: Name("x"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: Some(
|
||||
DebugText {
|
||||
leading: "",
|
||||
trailing: " =",
|
||||
},
|
||||
),
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..10,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..10,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..10,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..9,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 3..4,
|
||||
id: Name("x"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: Some(
|
||||
DebugText {
|
||||
leading: "",
|
||||
trailing: "= ",
|
||||
},
|
||||
),
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..10,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..10,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..10,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..9,
|
||||
expression: Yield(
|
||||
ExprYield {
|
||||
range: 3..8,
|
||||
value: None,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -29,7 +28,7 @@ snapshot_kind: text
|
|||
range: 10..18,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 12..17,
|
||||
value: "world",
|
||||
},
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -29,7 +28,7 @@ snapshot_kind: text
|
|||
range: 10..18,
|
||||
elements: [
|
||||
Literal(
|
||||
FStringLiteralElement {
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 12..17,
|
||||
value: "world",
|
||||
},
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..18,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..18,
|
||||
value: TStringValue {
|
||||
inner: Concatenated(
|
||||
[
|
||||
Literal(
|
||||
StringLiteral {
|
||||
range: 0..9,
|
||||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: Unicode,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
TString(
|
||||
TString {
|
||||
range: 10..18,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 12..17,
|
||||
value: "world",
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Single,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,62 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..22,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..22,
|
||||
value: TStringValue {
|
||||
inner: Concatenated(
|
||||
[
|
||||
Literal(
|
||||
StringLiteral {
|
||||
range: 0..9,
|
||||
value: "Hello ",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: Unicode,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
TString(
|
||||
TString {
|
||||
range: 10..18,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 12..17,
|
||||
value: "world",
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Single,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
Literal(
|
||||
StringLiteral {
|
||||
range: 19..22,
|
||||
value: "!",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Single,
|
||||
prefix: Empty,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..7,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 3..6,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..7,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..7,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..7,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 3..6,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 4..5,
|
||||
id: Name("x"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
snapshot_kind: text
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
|
@ -16,8 +15,8 @@ snapshot_kind: text
|
|||
FString {
|
||||
range: 0..11,
|
||||
elements: [
|
||||
Expression(
|
||||
FStringExpressionElement {
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 5..8,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..11,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..11,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..11,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 5..8,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 6..7,
|
||||
id: Name("x"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
triple_quoted: true,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,80 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..22,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..22,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..22,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 2..5,
|
||||
value: "aaa",
|
||||
},
|
||||
),
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 5..10,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 6..9,
|
||||
id: Name("bbb"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 10..13,
|
||||
value: "ccc",
|
||||
},
|
||||
),
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 13..18,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 14..17,
|
||||
id: Name("ddd"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 18..21,
|
||||
value: "eee",
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,53 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..8,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..8,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..8,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 2..4,
|
||||
value: "\\",
|
||||
},
|
||||
),
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 4..7,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 5..6,
|
||||
id: Name("x"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,53 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..8,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..8,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..8,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 2..4,
|
||||
value: "\n",
|
||||
},
|
||||
),
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 4..7,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 5..6,
|
||||
id: Name("x"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,55 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..9,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..9,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..9,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 3..5,
|
||||
value: "\\\n",
|
||||
},
|
||||
),
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 5..8,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 6..7,
|
||||
id: Name("x"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Raw {
|
||||
uppercase_r: false,
|
||||
},
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..10,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..10,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..10,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..9,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 3..7,
|
||||
id: Name("user"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: Some(
|
||||
DebugText {
|
||||
leading: "",
|
||||
trailing: "=",
|
||||
},
|
||||
),
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,84 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..38,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..38,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..38,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 2..6,
|
||||
value: "mix ",
|
||||
},
|
||||
),
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 6..13,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 7..11,
|
||||
id: Name("user"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: Some(
|
||||
DebugText {
|
||||
leading: "",
|
||||
trailing: "=",
|
||||
},
|
||||
),
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 13..28,
|
||||
value: " with text and ",
|
||||
},
|
||||
),
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 28..37,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 29..35,
|
||||
id: Name("second"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: Some(
|
||||
DebugText {
|
||||
leading: "",
|
||||
trailing: "=",
|
||||
},
|
||||
),
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,64 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..14,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..14,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..14,
|
||||
elements: [
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 2..13,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 3..7,
|
||||
id: Name("user"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: Some(
|
||||
DebugText {
|
||||
leading: "",
|
||||
trailing: "=",
|
||||
},
|
||||
),
|
||||
conversion: None,
|
||||
format_spec: Some(
|
||||
InterpolatedStringFormatSpec {
|
||||
range: 9..12,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 9..12,
|
||||
value: ">10",
|
||||
},
|
||||
),
|
||||
],
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: false,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
|
@ -0,0 +1,53 @@
|
|||
---
|
||||
source: crates/ruff_python_parser/src/string.rs
|
||||
expression: suite
|
||||
---
|
||||
[
|
||||
Expr(
|
||||
StmtExpr {
|
||||
range: 0..11,
|
||||
value: TString(
|
||||
ExprTString {
|
||||
range: 0..11,
|
||||
value: TStringValue {
|
||||
inner: Single(
|
||||
TString(
|
||||
TString {
|
||||
range: 0..11,
|
||||
elements: [
|
||||
Literal(
|
||||
InterpolatedStringLiteralElement {
|
||||
range: 4..5,
|
||||
value: "\n",
|
||||
},
|
||||
),
|
||||
Interpolation(
|
||||
InterpolatedElement {
|
||||
range: 5..8,
|
||||
expression: Name(
|
||||
ExprName {
|
||||
range: 6..7,
|
||||
id: Name("x"),
|
||||
ctx: Load,
|
||||
},
|
||||
),
|
||||
debug_text: None,
|
||||
conversion: None,
|
||||
format_spec: None,
|
||||
},
|
||||
),
|
||||
],
|
||||
flags: TStringFlags {
|
||||
quote_style: Double,
|
||||
prefix: Regular,
|
||||
triple_quoted: true,
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
),
|
||||
]
|
Loading…
Add table
Add a link
Reference in a new issue