Use CompactString for Identifier (#12101)

This commit is contained in:
Micha Reiser 2024-07-01 10:06:02 +02:00 committed by GitHub
parent db6ee74cbe
commit 5109b50bb3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
474 changed files with 4953 additions and 4776 deletions

View file

@ -12,6 +12,7 @@ use std::str::FromStr;
use unicode_ident::{is_xid_continue, is_xid_start};
use unicode_normalization::UnicodeNormalization;
use ruff_python_ast::name::Name;
use ruff_python_ast::{Int, IpyEscapeKind, StringFlags};
use ruff_python_trivia::is_python_whitespace;
use ruff_text_size::{TextLen, TextRange, TextSize};
@ -643,7 +644,7 @@ impl<'src> Lexer<'src> {
let text = self.token_text();
if !is_ascii {
self.current_value = TokenValue::Name(text.nfkc().collect::<String>().into_boxed_str());
self.current_value = TokenValue::Name(text.nfkc().collect::<Name>());
return TokenKind::Name;
}
@ -687,7 +688,7 @@ impl<'src> Lexer<'src> {
"with" => TokenKind::With,
"yield" => TokenKind::Yield,
_ => {
self.current_value = TokenValue::Name(text.to_string().into_boxed_str());
self.current_value = TokenValue::Name(Name::new(text));
TokenKind::Name
}
}

View file

@ -4,6 +4,7 @@ use std::ops::Deref;
use bitflags::bitflags;
use rustc_hash::{FxBuildHasher, FxHashSet};
use ruff_python_ast::name::Name;
use ruff_python_ast::{
self as ast, BoolOp, CmpOp, ConversionFlag, Expr, ExprContext, FStringElement, FStringElements,
IpyEscapeKind, Number, Operator, UnaryOp,
@ -477,14 +478,11 @@ impl<'src> Parser<'src> {
let TokenValue::Name(name) = self.bump_value(TokenKind::Name) else {
unreachable!();
};
return ast::Identifier {
id: name.into_string(),
range,
};
return ast::Identifier { id: name, range };
}
if self.current_token_kind().is_soft_keyword() {
let id = self.src_text(range).to_string();
let id = Name::new(self.src_text(range));
self.bump_soft_keyword_as_name();
return ast::Identifier { id, range };
}
@ -499,7 +497,7 @@ impl<'src> Parser<'src> {
range,
);
let id = self.src_text(range).to_string();
let id = Name::new(self.src_text(range));
self.bump_any();
ast::Identifier { id, range }
} else {
@ -509,7 +507,7 @@ impl<'src> Parser<'src> {
);
ast::Identifier {
id: String::new(),
id: Name::empty(),
range: self.missing_node_range(),
}
}
@ -597,7 +595,7 @@ impl<'src> Parser<'src> {
);
Expr::Name(ast::ExprName {
range: self.missing_node_range(),
id: String::new(),
id: Name::empty(),
ctx: ExprContext::Invalid,
})
}
@ -719,7 +717,7 @@ impl<'src> Parser<'src> {
&parsed_expr,
);
ast::Identifier {
id: String::new(),
id: Name::empty(),
range: parsed_expr.range(),
}
};
@ -793,7 +791,7 @@ impl<'src> Parser<'src> {
value: Box::new(value),
slice: Box::new(Expr::Name(ast::ExprName {
range: slice_range,
id: String::new(),
id: Name::empty(),
ctx: ExprContext::Invalid,
})),
ctx: ExprContext::Load,

View file

@ -1,3 +1,4 @@
use ruff_python_ast::name::Name;
use ruff_python_ast::{self as ast, Expr, ExprContext, Number, Operator, Pattern, Singleton};
use ruff_text_size::{Ranged, TextSize};
@ -510,7 +511,7 @@ impl<'src> Parser<'src> {
);
let invalid_node = Expr::Name(ast::ExprName {
range: self.missing_node_range(),
id: String::new(),
id: Name::empty(),
ctx: ExprContext::Invalid,
});
Pattern::MatchValue(ast::PatternMatchValue {
@ -616,7 +617,7 @@ impl<'src> Parser<'src> {
} else {
Box::new(Expr::Name(ast::ExprName {
range: ident.range(),
id: String::new(),
id: Name::empty(),
ctx: ExprContext::Invalid,
}))
}
@ -667,7 +668,7 @@ impl<'src> Parser<'src> {
&pattern,
);
ast::Identifier {
id: String::new(),
id: Name::empty(),
range: parser.missing_node_range(),
}
};

View file

@ -1,3 +1,4 @@
use ruff_python_ast::name::Name;
use ruff_python_ast::{self as ast, Expr, ExprContext, Pattern};
use ruff_text_size::{Ranged, TextLen, TextRange};
@ -110,7 +111,7 @@ pub(super) fn pattern_to_expr(pattern: Pattern) -> Expr {
range,
value: Box::new(Expr::Name(ast::ExprName {
range: TextRange::new(range.end() - "_".text_len(), range.end()),
id: "_".to_string(),
id: Name::new_static("_"),
ctx: ExprContext::Store,
})),
ctx: ExprContext::Store,
@ -124,7 +125,7 @@ pub(super) fn pattern_to_expr(pattern: Pattern) -> Expr {
}) => match (pattern, name) {
(Some(_), Some(_)) => Expr::Name(ast::ExprName {
range,
id: String::new(),
id: Name::empty(),
ctx: ExprContext::Invalid,
}),
(Some(pattern), None) => pattern_to_expr(*pattern),
@ -135,7 +136,7 @@ pub(super) fn pattern_to_expr(pattern: Pattern) -> Expr {
}),
(None, None) => Expr::Name(ast::ExprName {
range,
id: "_".to_string(),
id: Name::new_static("_"),
ctx: ExprContext::Store,
}),
},

View file

@ -1,11 +1,11 @@
---
source: crates/ruff_python_parser/src/parser/tests.rs
expression: expr
expression: parsed.expr()
---
Name(
ExprName {
range: 0..5,
id: "first",
id: Name("first"),
ctx: Load,
},
)

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/parser/tests.rs
expression: parse_ast
expression: parsed.syntax()
---
Module(
ModModule {
@ -15,7 +15,7 @@ Module(
left: Name(
ExprName {
range: 27..28,
id: "a",
id: Name("a"),
ctx: Load,
},
),
@ -23,7 +23,7 @@ Module(
right: Name(
ExprName {
range: 39..40,
id: "b",
id: Name("b"),
ctx: Load,
},
),
@ -128,7 +128,7 @@ Module(
is_async: false,
decorator_list: [],
name: Identifier {
id: "foo",
id: Name("foo"),
range: 570..573,
},
type_params: None,
@ -152,7 +152,7 @@ Module(
left: Name(
ExprName {
range: 598..599,
id: "a",
id: Name("a"),
ctx: Load,
},
),
@ -163,7 +163,7 @@ Module(
Name(
ExprName {
range: 619..620,
id: "b",
id: Name("b"),
ctx: Load,
},
),
@ -204,7 +204,7 @@ Module(
target: Name(
ExprName {
range: 715..716,
id: "a",
id: Name("a"),
ctx: Store,
},
),
@ -214,7 +214,7 @@ Module(
func: Name(
ExprName {
range: 720..725,
id: "range",
id: Name("range"),
ctx: Load,
},
),
@ -253,7 +253,7 @@ Module(
Name(
ExprName {
range: 739..741,
id: "p1",
id: Name("p1"),
ctx: Store,
},
),
@ -273,14 +273,14 @@ Module(
target: Name(
ExprName {
range: 749..751,
id: "p2",
id: Name("p2"),
ctx: Store,
},
),
annotation: Name(
ExprName {
range: 753..756,
id: "str",
id: Name("str"),
ctx: Load,
},
),
@ -303,7 +303,7 @@ Module(
Name(
ExprName {
range: 764..767,
id: "foo",
id: Name("foo"),
ctx: Store,
},
),
@ -331,7 +331,7 @@ Module(
Name(
ExprName {
range: 792..795,
id: "foo",
id: Name("foo"),
ctx: Store,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/parser/tests.rs
expression: parse_ast
expression: suite
---
[
Assign(
@ -10,7 +10,7 @@ expression: parse_ast
Name(
ExprName {
range: 0..1,
id: "x",
id: Name("x"),
ctx: Store,
},
),

View file

@ -1,7 +1,9 @@
use compact_str::CompactString;
use std::fmt::Display;
use rustc_hash::{FxBuildHasher, FxHashSet};
use ruff_python_ast::name::Name;
use ruff_python_ast::{
self as ast, ExceptHandler, Expr, ExprContext, IpyEscapeKind, Operator, Stmt, WithItem,
};
@ -623,7 +625,7 @@ impl<'src> Parser<'src> {
let range = self.node_range(start);
return ast::Alias {
name: ast::Identifier {
id: "*".into(),
id: Name::new_static("*"),
range,
},
asname: None,
@ -669,7 +671,7 @@ impl<'src> Parser<'src> {
fn parse_dotted_name(&mut self) -> ast::Identifier {
let start = self.node_start();
let mut dotted_name = self.parse_identifier().id;
let mut dotted_name: CompactString = self.parse_identifier().id.into();
let mut progress = ParserProgress::default();
while self.eat(TokenKind::Dot) {
@ -686,7 +688,7 @@ impl<'src> Parser<'src> {
// import a.b.c
// import a . b . c
ast::Identifier {
id: dotted_name,
id: Name::from(dotted_name),
range: self.node_range(start),
}
}

View file

@ -7,7 +7,7 @@ expression: lex_source(source)
[
(
Name(
"a_variable",
Name("a_variable"),
),
0..10,
),

View file

@ -7,7 +7,7 @@ expression: lex_source(source)
[
(
Name(
"x",
Name("x"),
),
3..4,
),

View file

@ -7,7 +7,7 @@ expression: "lex_source_with_offset(source, TextSize::new(7))"
[
(
Name(
"y",
Name("y"),
),
7..8,
),
@ -17,7 +17,7 @@ expression: "lex_source_with_offset(source, TextSize::new(7))"
),
(
Name(
"z",
Name("z"),
),
11..12,
),

View file

@ -7,7 +7,7 @@ expression: "lex_source_with_offset(source, TextSize::new(11))"
[
(
Name(
"z",
Name("z"),
),
11..12,
),

View file

@ -11,7 +11,7 @@ expression: lex_source(source)
),
(
Name(
"first",
Name("first"),
),
3..8,
),
@ -33,7 +33,7 @@ expression: lex_source(source)
),
(
Name(
"second",
Name("second"),
),
17..23,
),
@ -63,7 +63,7 @@ expression: lex_source(source)
),
(
Name(
"foo",
Name("foo"),
),
42..45,
),

View file

@ -11,7 +11,7 @@ expression: double_dedent_with_eol(MAC_EOL)
),
(
Name(
"foo",
Name("foo"),
),
4..7,
),
@ -41,7 +41,7 @@ expression: double_dedent_with_eol(MAC_EOL)
),
(
Name(
"x",
Name("x"),
),
15..16,
),

View file

@ -11,7 +11,7 @@ expression: double_dedent_with_tabs_eol(MAC_EOL)
),
(
Name(
"foo",
Name("foo"),
),
4..7,
),
@ -41,7 +41,7 @@ expression: double_dedent_with_tabs_eol(MAC_EOL)
),
(
Name(
"x",
Name("x"),
),
15..16,
),

View file

@ -11,7 +11,7 @@ expression: double_dedent_with_tabs_eol(UNIX_EOL)
),
(
Name(
"foo",
Name("foo"),
),
4..7,
),
@ -41,7 +41,7 @@ expression: double_dedent_with_tabs_eol(UNIX_EOL)
),
(
Name(
"x",
Name("x"),
),
15..16,
),

View file

@ -11,7 +11,7 @@ expression: double_dedent_with_tabs_eol(WINDOWS_EOL)
),
(
Name(
"foo",
Name("foo"),
),
4..7,
),
@ -41,7 +41,7 @@ expression: double_dedent_with_tabs_eol(WINDOWS_EOL)
),
(
Name(
"x",
Name("x"),
),
16..17,
),

View file

@ -11,7 +11,7 @@ expression: double_dedent_with_eol(UNIX_EOL)
),
(
Name(
"foo",
Name("foo"),
),
4..7,
),
@ -41,7 +41,7 @@ expression: double_dedent_with_eol(UNIX_EOL)
),
(
Name(
"x",
Name("x"),
),
15..16,
),

View file

@ -11,7 +11,7 @@ expression: double_dedent_with_eol(WINDOWS_EOL)
),
(
Name(
"foo",
Name("foo"),
),
4..7,
),
@ -41,7 +41,7 @@ expression: double_dedent_with_eol(WINDOWS_EOL)
),
(
Name(
"x",
Name("x"),
),
16..17,
),

View file

@ -27,7 +27,7 @@ expression: lex_source(source)
),
(
Name(
"foo",
Name("foo"),
),
10..13,
),
@ -50,7 +50,7 @@ expression: lex_source(source)
),
(
Name(
"bar",
Name("bar"),
),
28..31,
),
@ -73,7 +73,7 @@ expression: lex_source(source)
),
(
Name(
"three",
Name("three"),
),
36..41,
),

View file

@ -35,7 +35,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
39..40,
),

View file

@ -18,7 +18,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
3..4,
),
@ -28,7 +28,7 @@ expression: lex_source(source)
),
(
Name(
"s",
Name("s"),
),
5..6,
),
@ -51,7 +51,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
9..10,
),
@ -65,7 +65,7 @@ expression: lex_source(source)
),
(
Name(
"r",
Name("r"),
),
12..13,
),
@ -88,7 +88,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
16..17,
),

View file

@ -27,7 +27,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
4..5,
),
@ -50,7 +50,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
10..11,
),

View file

@ -27,7 +27,7 @@ expression: lex_source(source)
),
(
Name(
"foo",
Name("foo"),
),
4..7,
),
@ -64,7 +64,7 @@ expression: lex_source(source)
),
(
Name(
"foo",
Name("foo"),
),
15..18,
),

View file

@ -27,7 +27,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
5..6,
),
@ -50,7 +50,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
11..12,
),

View file

@ -31,7 +31,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
14..15,
),
@ -49,7 +49,7 @@ expression: lex_source(source)
),
(
Name(
"y",
Name("y"),
),
38..39,
),

View file

@ -93,7 +93,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
81..82,
),

View file

@ -27,7 +27,7 @@ expression: lex_source(source)
),
(
Name(
"BULLET",
Name("BULLET"),
),
6..12,
),

View file

@ -47,7 +47,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
14..15,
),
@ -68,7 +68,7 @@ expression: lex_source(source)
),
(
Name(
"wow",
Name("wow"),
),
21..24,
),

View file

@ -18,7 +18,7 @@ expression: lex_source(source)
),
(
Name(
"foo",
Name("foo"),
),
3..6,
),
@ -45,7 +45,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
10..11,
),
@ -59,7 +59,7 @@ expression: lex_source(source)
),
(
Name(
"s",
Name("s"),
),
13..14,
),
@ -95,7 +95,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
21..22,
),
@ -118,7 +118,7 @@ expression: lex_source(source)
),
(
Name(
"y",
Name("y"),
),
25..26,
),
@ -222,7 +222,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
46..47,
),
@ -254,7 +254,7 @@ expression: lex_source(source)
),
(
Name(
"pop",
Name("pop"),
),
53..56,
),

View file

@ -31,7 +31,7 @@ expression: lex_source(source)
),
(
Name(
"pwd",
Name("pwd"),
),
8..11,
),

View file

@ -22,7 +22,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
10..11,
),
@ -36,7 +36,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
13..14,
),
@ -80,7 +80,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
29..30,
),
@ -94,7 +94,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
32..33,
),

View file

@ -31,7 +31,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
12..13,
),
@ -98,7 +98,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
35..36,
),
@ -165,7 +165,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
78..79,
),
@ -236,7 +236,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
97..98,
),
@ -259,7 +259,7 @@ expression: lex_source(source)
),
(
Name(
"b",
Name("b"),
),
109..110,
),

View file

@ -18,7 +18,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
3..4,
),
@ -58,7 +58,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
12..13,
),
@ -95,7 +95,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
21..22,
),
@ -109,7 +109,7 @@ expression: lex_source(source)
),
(
Name(
"y",
Name("y"),
),
24..25,
),
@ -150,7 +150,7 @@ expression: lex_source(source)
),
(
Name(
"x",
Name("x"),
),
34..35,
),

View file

@ -11,7 +11,7 @@ expression: indentation_with_eol(MAC_EOL)
),
(
Name(
"foo",
Name("foo"),
),
4..7,
),

View file

@ -11,7 +11,7 @@ expression: indentation_with_eol(UNIX_EOL)
),
(
Name(
"foo",
Name("foo"),
),
4..7,
),

View file

@ -11,7 +11,7 @@ expression: indentation_with_eol(WINDOWS_EOL)
),
(
Name(
"foo",
Name("foo"),
),
4..7,
),

View file

@ -7,7 +7,7 @@ expression: lex_jupyter_source(source)
[
(
Name(
"pwd",
Name("pwd"),
),
0..3,
),
@ -28,7 +28,7 @@ expression: lex_jupyter_source(source)
),
(
Name(
"foo",
Name("foo"),
),
11..14,
),
@ -49,7 +49,7 @@ expression: lex_jupyter_source(source)
),
(
Name(
"bar",
Name("bar"),
),
31..34,
),
@ -70,7 +70,7 @@ expression: lex_jupyter_source(source)
),
(
Name(
"baz",
Name("baz"),
),
51..54,
),

View file

@ -11,7 +11,7 @@ expression: lex_jupyter_source(source)
),
(
Name(
"foo",
Name("foo"),
),
6..9,
),
@ -33,7 +33,7 @@ expression: lex_jupyter_source(source)
),
(
Name(
"bar",
Name("bar"),
),
20..23,
),

View file

@ -7,7 +7,7 @@ expression: newline_in_brackets_eol(MAC_EOL)
[
(
Name(
"x",
Name("x"),
),
0..1,
),

View file

@ -7,7 +7,7 @@ expression: newline_in_brackets_eol(UNIX_EOL)
[
(
Name(
"x",
Name("x"),
),
0..1,
),

View file

@ -7,7 +7,7 @@ expression: newline_in_brackets_eol(WINDOWS_EOL)
[
(
Name(
"x",
Name("x"),
),
0..1,
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Assign(
@ -10,7 +10,7 @@ expression: parse_ast
Name(
ExprName {
range: 0..4,
id: "bold",
id: Name("bold"),
ctx: Store,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -27,7 +27,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 6..9,
id: "bbb",
id: Name("bbb"),
ctx: Load,
},
),
@ -48,7 +48,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 14..17,
id: "ddd",
id: Name("ddd"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -27,7 +27,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 5..6,
id: "x",
id: Name("x"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -27,7 +27,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 5..6,
id: "x",
id: Name("x"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -27,7 +27,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 6..7,
id: "x",
id: Name("x"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -21,7 +21,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 3..7,
id: "user",
id: Name("user"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -27,7 +27,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 7..11,
id: "user",
id: Name("user"),
ctx: Load,
},
),
@ -53,7 +53,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 29..35,
id: "second",
id: Name("second"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -21,7 +21,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 3..7,
id: "user",
id: Name("user"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -27,7 +27,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 6..7,
id: "x",
id: Name("x"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -21,7 +21,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 3..4,
id: "a",
id: Name("a"),
ctx: Load,
},
),
@ -36,7 +36,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 7..8,
id: "b",
id: Name("b"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -21,7 +21,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 3..6,
id: "foo",
id: Name("foo"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -21,7 +21,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 3..6,
id: "foo",
id: Name("foo"),
ctx: Load,
},
),
@ -37,7 +37,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 8..12,
id: "spec",
id: Name("spec"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -21,7 +21,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 3..6,
id: "foo",
id: Name("foo"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -21,7 +21,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 3..6,
id: "foo",
id: Name("foo"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -21,7 +21,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 3..4,
id: "x",
id: Name("x"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -21,7 +21,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 3..4,
id: "x",
id: Name("x"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -21,7 +21,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 4..5,
id: "x",
id: Name("x"),
ctx: Load,
},
),

View file

@ -1,6 +1,6 @@
---
source: crates/ruff_python_parser/src/string.rs
expression: parse_ast
expression: suite
---
[
Expr(
@ -21,7 +21,7 @@ expression: parse_ast
expression: Name(
ExprName {
range: 6..7,
id: "x",
id: Name("x"),
ctx: Load,
},
),

View file

@ -9,6 +9,7 @@ use std::fmt;
use bitflags::bitflags;
use ruff_python_ast::name::Name;
use ruff_python_ast::str::Quote;
use ruff_python_ast::str_prefix::{
AnyStringPrefix, ByteStringPrefix, FStringPrefix, StringLiteralPrefix,
@ -780,7 +781,7 @@ pub(crate) enum TokenValue {
///
/// Unicode names are NFKC-normalized by the lexer,
/// matching [the behaviour of Python's lexer](https://docs.python.org/3/reference/lexical_analysis.html#identifiers)
Name(Box<str>),
Name(Name),
/// Token value for an integer.
Int(Int),
/// Token value for a floating point number.