Skip to content

Commit 766ca63

Browse files
authored
refactor(ast): rename RestElement to BindingRestElement (#2116)
close: #2115
1 parent 8bccdab commit 766ca63

File tree

15 files changed

+35
-35
lines changed

15 files changed

+35
-35
lines changed

crates/oxc_ast/src/ast/js.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1484,7 +1484,7 @@ pub struct ObjectPattern<'a> {
14841484
#[cfg_attr(feature = "serde", serde(flatten))]
14851485
pub span: Span,
14861486
pub properties: Vec<'a, BindingProperty<'a>>,
1487-
pub rest: Option<Box<'a, RestElement<'a>>>,
1487+
pub rest: Option<Box<'a, BindingRestElement<'a>>>,
14881488
}
14891489

14901490
impl<'a> ObjectPattern<'a> {
@@ -1514,7 +1514,7 @@ pub struct ArrayPattern<'a> {
15141514
#[cfg_attr(feature = "serde", serde(flatten))]
15151515
pub span: Span,
15161516
pub elements: Vec<'a, Option<BindingPattern<'a>>>,
1517-
pub rest: Option<Box<'a, RestElement<'a>>>,
1517+
pub rest: Option<Box<'a, BindingRestElement<'a>>>,
15181518
}
15191519

15201520
impl<'a> ArrayPattern<'a> {
@@ -1529,7 +1529,7 @@ impl<'a> ArrayPattern<'a> {
15291529

15301530
#[derive(Debug, Hash)]
15311531
#[cfg_attr(feature = "serde", derive(Serialize), serde(tag = "type"))]
1532-
pub struct RestElement<'a> {
1532+
pub struct BindingRestElement<'a> {
15331533
#[cfg_attr(feature = "serde", serde(flatten))]
15341534
pub span: Span,
15351535
pub argument: BindingPattern<'a>,
@@ -1615,7 +1615,7 @@ pub struct FormalParameters<'a> {
16151615
pub span: Span,
16161616
pub kind: FormalParameterKind,
16171617
pub items: Vec<'a, FormalParameter<'a>>,
1618-
pub rest: Option<Box<'a, RestElement<'a>>>,
1618+
pub rest: Option<Box<'a, BindingRestElement<'a>>>,
16191619
}
16201620

16211621
impl<'a> FormalParameters<'a> {

crates/oxc_ast/src/ast_builder.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -731,7 +731,7 @@ impl<'a> AstBuilder<'a> {
731731
span: Span,
732732
kind: FormalParameterKind,
733733
items: Vec<'a, FormalParameter<'a>>,
734-
rest: Option<Box<'a, RestElement<'a>>>,
734+
rest: Option<Box<'a, BindingRestElement<'a>>>,
735735
) -> Box<'a, FormalParameters<'a>> {
736736
self.alloc(FormalParameters { span, kind, items, rest })
737737
}
@@ -938,7 +938,7 @@ impl<'a> AstBuilder<'a> {
938938
&self,
939939
span: Span,
940940
properties: Vec<'a, BindingProperty<'a>>,
941-
rest: Option<Box<'a, RestElement<'a>>>,
941+
rest: Option<Box<'a, BindingRestElement<'a>>>,
942942
) -> BindingPatternKind<'a> {
943943
BindingPatternKind::ObjectPattern(self.alloc(ObjectPattern { span, properties, rest }))
944944
}
@@ -966,7 +966,7 @@ impl<'a> AstBuilder<'a> {
966966
&self,
967967
span: Span,
968968
elements: Vec<'a, Option<BindingPattern<'a>>>,
969-
rest: Option<Box<'a, RestElement<'a>>>,
969+
rest: Option<Box<'a, BindingRestElement<'a>>>,
970970
) -> BindingPatternKind<'a> {
971971
BindingPatternKind::ArrayPattern(self.alloc(ArrayPattern { span, elements, rest }))
972972
}
@@ -989,8 +989,8 @@ impl<'a> AstBuilder<'a> {
989989
&self,
990990
span: Span,
991991
argument: BindingPattern<'a>,
992-
) -> Box<'a, RestElement<'a>> {
993-
self.alloc(RestElement { span, argument })
992+
) -> Box<'a, BindingRestElement<'a>> {
993+
self.alloc(BindingRestElement { span, argument })
994994
}
995995

996996
pub fn property_key_identifier(&self, ident: IdentifierName) -> PropertyKey<'a> {

crates/oxc_ast/src/ast_kind.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ pub enum AstKind<'a> {
8888
Elision(Span),
8989
ExpressionArrayElement(&'a Expression<'a>),
9090
SpreadElement(&'a SpreadElement<'a>),
91-
RestElement(&'a RestElement<'a>),
91+
BindingRestElement(&'a BindingRestElement<'a>),
9292

9393
Function(&'a Function<'a>),
9494
FunctionBody(&'a FunctionBody<'a>),
@@ -401,7 +401,7 @@ impl<'a> GetSpan for AstKind<'a> {
401401
Self::SpreadElement(x) => x.span,
402402
Self::Elision(span) => *span,
403403
Self::ExpressionArrayElement(x) => x.span(),
404-
Self::RestElement(x) => x.span,
404+
Self::BindingRestElement(x) => x.span,
405405

406406
Self::Function(x) => x.span,
407407
Self::FunctionBody(x) => x.span,
@@ -574,7 +574,7 @@ impl<'a> AstKind<'a> {
574574
Self::SpreadElement(_) => "SpreadElement".into(),
575575
Self::Elision(_) => "Elision".into(),
576576
Self::ExpressionArrayElement(_) => "ExpressionArrayElement".into(),
577-
Self::RestElement(_) => "RestElement".into(),
577+
Self::BindingRestElement(_) => "BindingRestElement".into(),
578578

579579
Self::Function(x) => format!(
580580
"Function({})",

crates/oxc_ast/src/syntax_directed_operations/bound_names.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ impl<'a> BoundNames for AssignmentPattern<'a> {
5454
}
5555
}
5656

57-
impl<'a> BoundNames for RestElement<'a> {
57+
impl<'a> BoundNames for BindingRestElement<'a> {
5858
fn bound_names<F: FnMut(&BindingIdentifier)>(&self, f: &mut F) {
5959
self.argument.bound_names(f);
6060
}

crates/oxc_ast/src/visit.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1214,8 +1214,8 @@ pub trait Visit<'a>: Sized {
12141214
self.leave_node(kind);
12151215
}
12161216

1217-
fn visit_rest_element(&mut self, pat: &RestElement<'a>) {
1218-
let kind = AstKind::RestElement(self.alloc(pat));
1217+
fn visit_rest_element(&mut self, pat: &BindingRestElement<'a>) {
1218+
let kind = AstKind::BindingRestElement(self.alloc(pat));
12191219
self.enter_node(kind);
12201220
self.visit_binding_pattern(&pat.argument);
12211221
self.leave_node(kind);

crates/oxc_ast/src/visit_mut.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1213,8 +1213,8 @@ pub trait VisitMut<'a>: Sized {
12131213
self.leave_node(kind);
12141214
}
12151215

1216-
fn visit_rest_element(&mut self, pat: &mut RestElement<'a>) {
1217-
let kind = AstKind::RestElement(self.alloc(pat));
1216+
fn visit_rest_element(&mut self, pat: &mut BindingRestElement<'a>) {
1217+
let kind = AstKind::BindingRestElement(self.alloc(pat));
12181218
self.enter_node(kind);
12191219
self.visit_binding_pattern(&mut pat.argument);
12201220
self.leave_node(kind);

crates/oxc_codegen/src/gen.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2100,7 +2100,7 @@ impl<'a, const MINIFY: bool> Gen<MINIFY> for BindingProperty<'a> {
21002100
}
21012101
}
21022102

2103-
impl<'a, const MINIFY: bool> Gen<MINIFY> for RestElement<'a> {
2103+
impl<'a, const MINIFY: bool> Gen<MINIFY> for BindingRestElement<'a> {
21042104
fn gen(&self, p: &mut Codegen<{ MINIFY }>, ctx: Context) {
21052105
p.print_ellipsis();
21062106
self.argument.gen(p, ctx);

crates/oxc_linter/src/rules/typescript/no_explicit_any.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ impl NoExplicitAny {
118118
debug_assert!(matches!(node.kind(), AstKind::TSAnyKeyword(_)));
119119
ctx.nodes()
120120
.iter_parents(node.id())
121-
.any(|parent| matches!(parent.kind(), AstKind::RestElement(_)))
121+
.any(|parent| matches!(parent.kind(), AstKind::BindingRestElement(_)))
122122
}
123123
}
124124

crates/oxc_parser/src/diagnostics.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ pub struct ClassDeclaration(#[label] pub Span);
126126
#[derive(Debug, Error, Diagnostic)]
127127
#[error("A rest element must be last in a destructuring pattern")]
128128
#[diagnostic()]
129-
pub struct RestElementLast(#[label] pub Span);
129+
pub struct BindingRestElementLast(#[label] pub Span);
130130

131131
#[derive(Debug, Error, Diagnostic)]
132132
#[error("A rest parameter must be last in a parameter list")]
@@ -141,12 +141,12 @@ pub struct SpreadLastElement(#[label] pub Span);
141141
#[derive(Debug, Error, Diagnostic)]
142142
#[error("Unexpected trailing comma after rest element")]
143143
#[diagnostic()]
144-
pub struct RestElementTrailingComma(#[label] pub Span);
144+
pub struct BindingRestElementTrailingComma(#[label] pub Span);
145145

146146
#[derive(Debug, Error, Diagnostic)]
147147
#[error("Invalid rest element")]
148148
#[diagnostic(help("Expected identifier in rest element"))]
149-
pub struct InvalidRestElement(#[label] pub Span);
149+
pub struct InvalidBindingRestElement(#[label] pub Span);
150150

151151
#[derive(Debug, Error, Diagnostic)]
152152
#[error("Cannot assign to this expression")]

crates/oxc_parser/src/js/binding.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,17 @@ impl<'a> Parser<'a> {
4848
}
4949

5050
/// Section 14.3.3 Binding Rest Property
51-
pub(crate) fn parse_rest_element(&mut self) -> Result<Box<'a, RestElement<'a>>> {
51+
pub(crate) fn parse_rest_element(&mut self) -> Result<Box<'a, BindingRestElement<'a>>> {
5252
let span = self.start_span();
5353
self.bump_any(); // advance `...`
5454
let argument = self.parse_binding_pattern()?;
5555
let span = self.end_span(span);
5656

5757
if self.at(Kind::Comma) {
5858
if self.peek_at(Kind::RBrack) {
59-
self.error(diagnostics::RestElementTrailingComma(self.cur_token().span()));
59+
self.error(diagnostics::BindingRestElementTrailingComma(self.cur_token().span()));
6060
} else if !self.ctx.has_ambient() {
61-
self.error(diagnostics::RestElementLast(span));
61+
self.error(diagnostics::BindingRestElementLast(span));
6262
}
6363
}
6464

0 commit comments

Comments
 (0)