Skip to content

Commit f45e864

Browse files
authored
Remove unused parser modes
<!-- Thank you for contributing to Ruff! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? - Does this pull request include references to any relevant issues? --> ## Summary This PR removes the `Interactive` and `FunctionType` parser modes that are unused by ruff <!-- What's the purpose of the change? What does it do, and why? --> ## Test Plan `cargo test` <!-- How was it tested? -->
1 parent 7c7231d commit f45e864

File tree

15 files changed

+8103
-8534
lines changed

15 files changed

+8103
-8534
lines changed

crates/ruff_python_ast/src/node.rs

Lines changed: 1 addition & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ pub trait AstNode: Ranged {
2222
#[derive(Clone, Debug, is_macro::Is, PartialEq)]
2323
pub enum AnyNode {
2424
ModModule(ast::ModModule),
25-
ModInteractive(ast::ModInteractive),
2625
ModExpression(ast::ModExpression),
27-
ModFunctionType(ast::ModFunctionType),
2826
StmtFunctionDef(ast::StmtFunctionDef),
2927
StmtAsyncFunctionDef(ast::StmtAsyncFunctionDef),
3028
StmtClassDef(ast::StmtClassDef),
@@ -140,9 +138,7 @@ impl AnyNode {
140138
AnyNode::StmtLineMagic(node) => Some(Stmt::LineMagic(node)),
141139

142140
AnyNode::ModModule(_)
143-
| AnyNode::ModInteractive(_)
144141
| AnyNode::ModExpression(_)
145-
| AnyNode::ModFunctionType(_)
146142
| AnyNode::ExprBoolOp(_)
147143
| AnyNode::ExprNamedExpr(_)
148144
| AnyNode::ExprBinOp(_)
@@ -228,9 +224,7 @@ impl AnyNode {
228224
AnyNode::ExprLineMagic(node) => Some(Expr::LineMagic(node)),
229225

230226
AnyNode::ModModule(_)
231-
| AnyNode::ModInteractive(_)
232227
| AnyNode::ModExpression(_)
233-
| AnyNode::ModFunctionType(_)
234228
| AnyNode::StmtFunctionDef(_)
235229
| AnyNode::StmtAsyncFunctionDef(_)
236230
| AnyNode::StmtClassDef(_)
@@ -288,9 +282,7 @@ impl AnyNode {
288282
pub fn module(self) -> Option<Mod> {
289283
match self {
290284
AnyNode::ModModule(node) => Some(Mod::Module(node)),
291-
AnyNode::ModInteractive(node) => Some(Mod::Interactive(node)),
292285
AnyNode::ModExpression(node) => Some(Mod::Expression(node)),
293-
AnyNode::ModFunctionType(node) => Some(Mod::FunctionType(node)),
294286

295287
AnyNode::StmtFunctionDef(_)
296288
| AnyNode::StmtAsyncFunctionDef(_)
@@ -386,9 +378,7 @@ impl AnyNode {
386378
AnyNode::PatternMatchOr(node) => Some(Pattern::MatchOr(node)),
387379

388380
AnyNode::ModModule(_)
389-
| AnyNode::ModInteractive(_)
390381
| AnyNode::ModExpression(_)
391-
| AnyNode::ModFunctionType(_)
392382
| AnyNode::StmtFunctionDef(_)
393383
| AnyNode::StmtAsyncFunctionDef(_)
394384
| AnyNode::StmtClassDef(_)
@@ -468,9 +458,7 @@ impl AnyNode {
468458
AnyNode::ExceptHandlerExceptHandler(node) => Some(ExceptHandler::ExceptHandler(node)),
469459

470460
AnyNode::ModModule(_)
471-
| AnyNode::ModInteractive(_)
472461
| AnyNode::ModExpression(_)
473-
| AnyNode::ModFunctionType(_)
474462
| AnyNode::StmtFunctionDef(_)
475463
| AnyNode::StmtAsyncFunctionDef(_)
476464
| AnyNode::StmtClassDef(_)
@@ -575,9 +563,7 @@ impl AnyNode {
575563
pub const fn as_ref(&self) -> AnyNodeRef {
576564
match self {
577565
Self::ModModule(node) => AnyNodeRef::ModModule(node),
578-
Self::ModInteractive(node) => AnyNodeRef::ModInteractive(node),
579566
Self::ModExpression(node) => AnyNodeRef::ModExpression(node),
580-
Self::ModFunctionType(node) => AnyNodeRef::ModFunctionType(node),
581567
Self::StmtFunctionDef(node) => AnyNodeRef::StmtFunctionDef(node),
582568
Self::StmtAsyncFunctionDef(node) => AnyNodeRef::StmtAsyncFunctionDef(node),
583569
Self::StmtClassDef(node) => AnyNodeRef::StmtClassDef(node),
@@ -694,34 +680,6 @@ impl AstNode for ast::ModModule {
694680
AnyNode::from(self)
695681
}
696682
}
697-
impl AstNode for ast::ModInteractive {
698-
fn cast(kind: AnyNode) -> Option<Self>
699-
where
700-
Self: Sized,
701-
{
702-
if let AnyNode::ModInteractive(node) = kind {
703-
Some(node)
704-
} else {
705-
None
706-
}
707-
}
708-
709-
fn cast_ref(kind: AnyNodeRef) -> Option<&Self> {
710-
if let AnyNodeRef::ModInteractive(node) = kind {
711-
Some(node)
712-
} else {
713-
None
714-
}
715-
}
716-
717-
fn as_any_node_ref(&self) -> AnyNodeRef {
718-
AnyNodeRef::from(self)
719-
}
720-
721-
fn into_any_node(self) -> AnyNode {
722-
AnyNode::from(self)
723-
}
724-
}
725683
impl AstNode for ast::ModExpression {
726684
fn cast(kind: AnyNode) -> Option<Self>
727685
where
@@ -750,34 +708,6 @@ impl AstNode for ast::ModExpression {
750708
AnyNode::from(self)
751709
}
752710
}
753-
impl AstNode for ast::ModFunctionType {
754-
fn cast(kind: AnyNode) -> Option<Self>
755-
where
756-
Self: Sized,
757-
{
758-
if let AnyNode::ModFunctionType(node) = kind {
759-
Some(node)
760-
} else {
761-
None
762-
}
763-
}
764-
765-
fn cast_ref(kind: AnyNodeRef) -> Option<&Self> {
766-
if let AnyNodeRef::ModFunctionType(node) = kind {
767-
Some(node)
768-
} else {
769-
None
770-
}
771-
}
772-
773-
fn as_any_node_ref(&self) -> AnyNodeRef {
774-
AnyNodeRef::from(self)
775-
}
776-
777-
fn into_any_node(self) -> AnyNode {
778-
AnyNode::from(self)
779-
}
780-
}
781711
impl AstNode for ast::StmtFunctionDef {
782712
fn cast(kind: AnyNode) -> Option<Self>
783713
where
@@ -3067,9 +2997,7 @@ impl From<Mod> for AnyNode {
30672997
fn from(module: Mod) -> Self {
30682998
match module {
30692999
Mod::Module(node) => AnyNode::ModModule(node),
3070-
Mod::Interactive(node) => AnyNode::ModInteractive(node),
30713000
Mod::Expression(node) => AnyNode::ModExpression(node),
3072-
Mod::FunctionType(node) => AnyNode::ModFunctionType(node),
30733001
}
30743002
}
30753003
}
@@ -3103,24 +3031,12 @@ impl From<ast::ModModule> for AnyNode {
31033031
}
31043032
}
31053033

3106-
impl From<ast::ModInteractive> for AnyNode {
3107-
fn from(node: ast::ModInteractive) -> Self {
3108-
AnyNode::ModInteractive(node)
3109-
}
3110-
}
3111-
31123034
impl From<ast::ModExpression> for AnyNode {
31133035
fn from(node: ast::ModExpression) -> Self {
31143036
AnyNode::ModExpression(node)
31153037
}
31163038
}
31173039

3118-
impl From<ast::ModFunctionType> for AnyNode {
3119-
fn from(node: ast::ModFunctionType) -> Self {
3120-
AnyNode::ModFunctionType(node)
3121-
}
3122-
}
3123-
31243040
impl From<ast::StmtFunctionDef> for AnyNode {
31253041
fn from(node: ast::StmtFunctionDef) -> Self {
31263042
AnyNode::StmtFunctionDef(node)
@@ -3590,9 +3506,7 @@ impl Ranged for AnyNode {
35903506
fn range(&self) -> TextRange {
35913507
match self {
35923508
AnyNode::ModModule(node) => node.range(),
3593-
AnyNode::ModInteractive(node) => node.range(),
35943509
AnyNode::ModExpression(node) => node.range(),
3595-
AnyNode::ModFunctionType(node) => node.range(),
35963510
AnyNode::StmtFunctionDef(node) => node.range(),
35973511
AnyNode::StmtAsyncFunctionDef(node) => node.range(),
35983512
AnyNode::StmtClassDef(node) => node.range(),
@@ -3679,9 +3593,7 @@ impl Ranged for AnyNode {
36793593
#[derive(Copy, Clone, Debug, is_macro::Is, PartialEq)]
36803594
pub enum AnyNodeRef<'a> {
36813595
ModModule(&'a ast::ModModule),
3682-
ModInteractive(&'a ast::ModInteractive),
36833596
ModExpression(&'a ast::ModExpression),
3684-
ModFunctionType(&'a ast::ModFunctionType),
36853597
StmtFunctionDef(&'a ast::StmtFunctionDef),
36863598
StmtAsyncFunctionDef(&'a ast::StmtAsyncFunctionDef),
36873599
StmtClassDef(&'a ast::StmtClassDef),
@@ -3767,9 +3679,7 @@ impl AnyNodeRef<'_> {
37673679
pub fn as_ptr(&self) -> NonNull<()> {
37683680
match self {
37693681
AnyNodeRef::ModModule(node) => NonNull::from(*node).cast(),
3770-
AnyNodeRef::ModInteractive(node) => NonNull::from(*node).cast(),
37713682
AnyNodeRef::ModExpression(node) => NonNull::from(*node).cast(),
3772-
AnyNodeRef::ModFunctionType(node) => NonNull::from(*node).cast(),
37733683
AnyNodeRef::StmtFunctionDef(node) => NonNull::from(*node).cast(),
37743684
AnyNodeRef::StmtAsyncFunctionDef(node) => NonNull::from(*node).cast(),
37753685
AnyNodeRef::StmtClassDef(node) => NonNull::from(*node).cast(),
@@ -3861,9 +3771,7 @@ impl AnyNodeRef<'_> {
38613771
pub const fn kind(self) -> NodeKind {
38623772
match self {
38633773
AnyNodeRef::ModModule(_) => NodeKind::ModModule,
3864-
AnyNodeRef::ModInteractive(_) => NodeKind::ModInteractive,
38653774
AnyNodeRef::ModExpression(_) => NodeKind::ModExpression,
3866-
AnyNodeRef::ModFunctionType(_) => NodeKind::ModFunctionType,
38673775
AnyNodeRef::StmtFunctionDef(_) => NodeKind::StmtFunctionDef,
38683776
AnyNodeRef::StmtAsyncFunctionDef(_) => NodeKind::StmtAsyncFunctionDef,
38693777
AnyNodeRef::StmtClassDef(_) => NodeKind::StmtClassDef,
@@ -3979,9 +3887,7 @@ impl AnyNodeRef<'_> {
39793887
| AnyNodeRef::StmtLineMagic(_) => true,
39803888

39813889
AnyNodeRef::ModModule(_)
3982-
| AnyNodeRef::ModInteractive(_)
39833890
| AnyNodeRef::ModExpression(_)
3984-
| AnyNodeRef::ModFunctionType(_)
39853891
| AnyNodeRef::ExprBoolOp(_)
39863892
| AnyNodeRef::ExprNamedExpr(_)
39873893
| AnyNodeRef::ExprBinOp(_)
@@ -4067,9 +3973,7 @@ impl AnyNodeRef<'_> {
40673973
| AnyNodeRef::ExprLineMagic(_) => true,
40683974

40693975
AnyNodeRef::ModModule(_)
4070-
| AnyNodeRef::ModInteractive(_)
40713976
| AnyNodeRef::ModExpression(_)
4072-
| AnyNodeRef::ModFunctionType(_)
40733977
| AnyNodeRef::StmtFunctionDef(_)
40743978
| AnyNodeRef::StmtAsyncFunctionDef(_)
40753979
| AnyNodeRef::StmtClassDef(_)
@@ -4126,10 +4030,7 @@ impl AnyNodeRef<'_> {
41264030

41274031
pub const fn is_module(self) -> bool {
41284032
match self {
4129-
AnyNodeRef::ModModule(_)
4130-
| AnyNodeRef::ModInteractive(_)
4131-
| AnyNodeRef::ModExpression(_)
4132-
| AnyNodeRef::ModFunctionType(_) => true,
4033+
AnyNodeRef::ModModule(_) | AnyNodeRef::ModExpression(_) => true,
41334034

41344035
AnyNodeRef::StmtFunctionDef(_)
41354036
| AnyNodeRef::StmtAsyncFunctionDef(_)
@@ -4225,9 +4126,7 @@ impl AnyNodeRef<'_> {
42254126
| AnyNodeRef::PatternMatchOr(_) => true,
42264127

42274128
AnyNodeRef::ModModule(_)
4228-
| AnyNodeRef::ModInteractive(_)
42294129
| AnyNodeRef::ModExpression(_)
4230-
| AnyNodeRef::ModFunctionType(_)
42314130
| AnyNodeRef::StmtFunctionDef(_)
42324131
| AnyNodeRef::StmtAsyncFunctionDef(_)
42334132
| AnyNodeRef::StmtClassDef(_)
@@ -4307,9 +4206,7 @@ impl AnyNodeRef<'_> {
43074206
AnyNodeRef::ExceptHandlerExceptHandler(_) => true,
43084207

43094208
AnyNodeRef::ModModule(_)
4310-
| AnyNodeRef::ModInteractive(_)
43114209
| AnyNodeRef::ModExpression(_)
4312-
| AnyNodeRef::ModFunctionType(_)
43134210
| AnyNodeRef::StmtFunctionDef(_)
43144211
| AnyNodeRef::StmtAsyncFunctionDef(_)
43154212
| AnyNodeRef::StmtClassDef(_)
@@ -4428,24 +4325,12 @@ impl<'a> From<&'a ast::ModModule> for AnyNodeRef<'a> {
44284325
}
44294326
}
44304327

4431-
impl<'a> From<&'a ast::ModInteractive> for AnyNodeRef<'a> {
4432-
fn from(node: &'a ast::ModInteractive) -> Self {
4433-
AnyNodeRef::ModInteractive(node)
4434-
}
4435-
}
4436-
44374328
impl<'a> From<&'a ast::ModExpression> for AnyNodeRef<'a> {
44384329
fn from(node: &'a ast::ModExpression) -> Self {
44394330
AnyNodeRef::ModExpression(node)
44404331
}
44414332
}
44424333

4443-
impl<'a> From<&'a ast::ModFunctionType> for AnyNodeRef<'a> {
4444-
fn from(node: &'a ast::ModFunctionType) -> Self {
4445-
AnyNodeRef::ModFunctionType(node)
4446-
}
4447-
}
4448-
44494334
impl<'a> From<&'a ast::StmtFunctionDef> for AnyNodeRef<'a> {
44504335
fn from(node: &'a ast::StmtFunctionDef) -> Self {
44514336
AnyNodeRef::StmtFunctionDef(node)
@@ -4947,9 +4832,7 @@ impl<'a> From<&'a Mod> for AnyNodeRef<'a> {
49474832
fn from(module: &'a Mod) -> Self {
49484833
match module {
49494834
Mod::Module(node) => AnyNodeRef::ModModule(node),
4950-
Mod::Interactive(node) => AnyNodeRef::ModInteractive(node),
49514835
Mod::Expression(node) => AnyNodeRef::ModExpression(node),
4952-
Mod::FunctionType(node) => AnyNodeRef::ModFunctionType(node),
49534836
}
49544837
}
49554838
}
@@ -5034,9 +4917,7 @@ impl Ranged for AnyNodeRef<'_> {
50344917
fn range(&self) -> TextRange {
50354918
match self {
50364919
AnyNodeRef::ModModule(node) => node.range(),
5037-
AnyNodeRef::ModInteractive(node) => node.range(),
50384920
AnyNodeRef::ModExpression(node) => node.range(),
5039-
AnyNodeRef::ModFunctionType(node) => node.range(),
50404921
AnyNodeRef::StmtFunctionDef(node) => node.range(),
50414922
AnyNodeRef::StmtAsyncFunctionDef(node) => node.range(),
50424923
AnyNodeRef::StmtClassDef(node) => node.range(),

crates/ruff_python_ast/src/nodes.rs

Lines changed: 1 addition & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@ use std::fmt::Debug;
1010
#[derive(Clone, Debug, PartialEq, is_macro::Is)]
1111
pub enum Mod {
1212
Module(ModModule),
13-
Interactive(ModInteractive),
1413
Expression(ModExpression),
15-
FunctionType(ModFunctionType),
1614
}
1715

1816
/// See also [Module](https://docs.python.org/3/library/ast.html#ast.Module)
@@ -28,19 +26,6 @@ impl From<ModModule> for Mod {
2826
}
2927
}
3028

31-
/// See also [Interactive](https://docs.python.org/3/library/ast.html#ast.Interactive)
32-
#[derive(Clone, Debug, PartialEq)]
33-
pub struct ModInteractive {
34-
pub range: TextRange,
35-
pub body: Vec<Stmt>,
36-
}
37-
38-
impl From<ModInteractive> for Mod {
39-
fn from(payload: ModInteractive) -> Self {
40-
Mod::Interactive(payload)
41-
}
42-
}
43-
4429
/// See also [Expression](https://docs.python.org/3/library/ast.html#ast.Expression)
4530
#[derive(Clone, Debug, PartialEq)]
4631
pub struct ModExpression {
@@ -54,20 +39,6 @@ impl From<ModExpression> for Mod {
5439
}
5540
}
5641

57-
/// See also [FunctionType](https://docs.python.org/3/library/ast.html#ast.FunctionType)
58-
#[derive(Clone, Debug, PartialEq)]
59-
pub struct ModFunctionType {
60-
pub range: TextRange,
61-
pub argtypes: Vec<Expr>,
62-
pub returns: Box<Expr>,
63-
}
64-
65-
impl From<ModFunctionType> for Mod {
66-
fn from(payload: ModFunctionType) -> Self {
67-
Mod::FunctionType(payload)
68-
}
69-
}
70-
7142
/// See also [stmt](https://docs.python.org/3/library/ast.html#ast.stmt)
7243
#[derive(Clone, Debug, PartialEq, is_macro::Is)]
7344
pub enum Stmt {
@@ -2474,28 +2445,16 @@ impl Ranged for crate::nodes::ModModule {
24742445
self.range
24752446
}
24762447
}
2477-
impl Ranged for crate::nodes::ModInteractive {
2478-
fn range(&self) -> TextRange {
2479-
self.range
2480-
}
2481-
}
24822448
impl Ranged for crate::nodes::ModExpression {
24832449
fn range(&self) -> TextRange {
24842450
self.range
24852451
}
24862452
}
2487-
impl Ranged for crate::nodes::ModFunctionType {
2488-
fn range(&self) -> TextRange {
2489-
self.range
2490-
}
2491-
}
24922453
impl Ranged for crate::Mod {
24932454
fn range(&self) -> TextRange {
24942455
match self {
24952456
Self::Module(node) => node.range(),
2496-
Self::Interactive(node) => node.range(),
24972457
Self::Expression(node) => node.range(),
2498-
Self::FunctionType(node) => node.range(),
24992458
}
25002459
}
25012460
}
@@ -3017,5 +2976,5 @@ mod size_assertions {
30172976
assert_eq_size!(Expr, [u8; 80]);
30182977
assert_eq_size!(Constant, [u8; 32]);
30192978
assert_eq_size!(Pattern, [u8; 96]);
3020-
assert_eq_size!(Mod, [u8; 48]);
2979+
assert_eq_size!(Mod, [u8; 32]);
30212980
}

0 commit comments

Comments
 (0)