diff --git a/crates/oxc_ast/src/ast_kind_impl.rs b/crates/oxc_ast/src/ast_kind_impl.rs index edc81c5ba2dbd..24b137eb71214 100644 --- a/crates/oxc_ast/src/ast_kind_impl.rs +++ b/crates/oxc_ast/src/ast_kind_impl.rs @@ -298,7 +298,6 @@ impl AstKind<'_> { format!("SimpleAssignmentTarget({})", a.get_identifier_name().unwrap_or(&UNKNOWN)) .into() } - Self::AssignmentTargetPattern(_) => "AssignmentTargetPattern".into(), Self::ArrayAssignmentTarget(_) => "ArrayAssignmentTarget".into(), Self::ObjectAssignmentTarget(_) => "ObjectAssignmentTarget".into(), Self::AssignmentTargetWithDefault(_) => "AssignmentTargetWithDefault".into(), diff --git a/crates/oxc_ast/src/generated/ast_kind.rs b/crates/oxc_ast/src/generated/ast_kind.rs index ac4e2f52354ba..d23fd1beaf507 100644 --- a/crates/oxc_ast/src/generated/ast_kind.rs +++ b/crates/oxc_ast/src/generated/ast_kind.rs @@ -45,164 +45,163 @@ pub enum AstType { AssignmentExpression = 28, AssignmentTarget = 29, SimpleAssignmentTarget = 30, - AssignmentTargetPattern = 31, - ArrayAssignmentTarget = 32, - ObjectAssignmentTarget = 33, - AssignmentTargetRest = 34, - AssignmentTargetWithDefault = 35, - AssignmentTargetPropertyIdentifier = 36, - AssignmentTargetPropertyProperty = 37, - SequenceExpression = 38, - Super = 39, - AwaitExpression = 40, - ChainExpression = 41, - ParenthesizedExpression = 42, - Directive = 43, - Hashbang = 44, - BlockStatement = 45, - VariableDeclaration = 46, - VariableDeclarator = 47, - EmptyStatement = 48, - ExpressionStatement = 49, - IfStatement = 50, - DoWhileStatement = 51, - WhileStatement = 52, - ForStatement = 53, - ForInStatement = 54, - ForOfStatement = 55, - ContinueStatement = 56, - BreakStatement = 57, - ReturnStatement = 58, - WithStatement = 59, - SwitchStatement = 60, - SwitchCase = 61, - LabeledStatement = 62, - ThrowStatement = 63, - TryStatement = 64, - CatchClause = 65, - CatchParameter = 66, - DebuggerStatement = 67, - AssignmentPattern = 68, - ObjectPattern = 69, - BindingProperty = 70, - ArrayPattern = 71, - BindingRestElement = 72, - Function = 73, - FormalParameters = 74, - FormalParameter = 75, - FunctionBody = 76, - ArrowFunctionExpression = 77, - YieldExpression = 78, - Class = 79, - ClassBody = 80, - MethodDefinition = 81, - PropertyDefinition = 82, - PrivateIdentifier = 83, - StaticBlock = 84, - AccessorProperty = 85, - ImportExpression = 86, - ImportDeclaration = 87, - ImportSpecifier = 88, - ImportDefaultSpecifier = 89, - ImportNamespaceSpecifier = 90, - WithClause = 91, - ImportAttribute = 92, - ExportNamedDeclaration = 93, - ExportDefaultDeclaration = 94, - ExportAllDeclaration = 95, - ExportSpecifier = 96, - V8IntrinsicExpression = 97, - BooleanLiteral = 98, - NullLiteral = 99, - NumericLiteral = 100, - StringLiteral = 101, - BigIntLiteral = 102, - RegExpLiteral = 103, - JSXElement = 104, - JSXOpeningElement = 105, - JSXClosingElement = 106, - JSXFragment = 107, - JSXOpeningFragment = 108, - JSXClosingFragment = 109, - JSXNamespacedName = 110, - JSXMemberExpression = 111, - JSXExpressionContainer = 112, - JSXEmptyExpression = 113, - JSXAttribute = 114, - JSXSpreadAttribute = 115, - JSXIdentifier = 116, - JSXSpreadChild = 117, - JSXText = 118, - TSThisParameter = 119, - TSEnumDeclaration = 120, - TSEnumBody = 121, - TSEnumMember = 122, - TSTypeAnnotation = 123, - TSLiteralType = 124, - TSConditionalType = 125, - TSUnionType = 126, - TSIntersectionType = 127, - TSParenthesizedType = 128, - TSTypeOperator = 129, - TSArrayType = 130, - TSIndexedAccessType = 131, - TSTupleType = 132, - TSNamedTupleMember = 133, - TSOptionalType = 134, - TSRestType = 135, - TSAnyKeyword = 136, - TSStringKeyword = 137, - TSBooleanKeyword = 138, - TSNumberKeyword = 139, - TSNeverKeyword = 140, - TSIntrinsicKeyword = 141, - TSUnknownKeyword = 142, - TSNullKeyword = 143, - TSUndefinedKeyword = 144, - TSVoidKeyword = 145, - TSSymbolKeyword = 146, - TSThisType = 147, - TSObjectKeyword = 148, - TSBigIntKeyword = 149, - TSTypeReference = 150, - TSQualifiedName = 151, - TSTypeParameterInstantiation = 152, - TSTypeParameter = 153, - TSTypeParameterDeclaration = 154, - TSTypeAliasDeclaration = 155, - TSClassImplements = 156, - TSInterfaceDeclaration = 157, - TSInterfaceBody = 158, - TSPropertySignature = 159, - TSIndexSignature = 160, - TSCallSignatureDeclaration = 161, - TSMethodSignature = 162, - TSConstructSignatureDeclaration = 163, - TSIndexSignatureName = 164, - TSInterfaceHeritage = 165, - TSTypePredicate = 166, - TSModuleDeclaration = 167, - TSModuleBlock = 168, - TSTypeLiteral = 169, - TSInferType = 170, - TSTypeQuery = 171, - TSImportType = 172, - TSConstructorType = 173, - TSMappedType = 174, - TSTemplateLiteralType = 175, - TSAsExpression = 176, - TSSatisfiesExpression = 177, - TSTypeAssertion = 178, - TSImportEqualsDeclaration = 179, - TSExternalModuleReference = 180, - TSNonNullExpression = 181, - Decorator = 182, - TSExportAssignment = 183, - TSNamespaceExportDeclaration = 184, - TSInstantiationExpression = 185, - JSDocNullableType = 186, - JSDocNonNullableType = 187, - JSDocUnknownType = 188, + ArrayAssignmentTarget = 31, + ObjectAssignmentTarget = 32, + AssignmentTargetRest = 33, + AssignmentTargetWithDefault = 34, + AssignmentTargetPropertyIdentifier = 35, + AssignmentTargetPropertyProperty = 36, + SequenceExpression = 37, + Super = 38, + AwaitExpression = 39, + ChainExpression = 40, + ParenthesizedExpression = 41, + Directive = 42, + Hashbang = 43, + BlockStatement = 44, + VariableDeclaration = 45, + VariableDeclarator = 46, + EmptyStatement = 47, + ExpressionStatement = 48, + IfStatement = 49, + DoWhileStatement = 50, + WhileStatement = 51, + ForStatement = 52, + ForInStatement = 53, + ForOfStatement = 54, + ContinueStatement = 55, + BreakStatement = 56, + ReturnStatement = 57, + WithStatement = 58, + SwitchStatement = 59, + SwitchCase = 60, + LabeledStatement = 61, + ThrowStatement = 62, + TryStatement = 63, + CatchClause = 64, + CatchParameter = 65, + DebuggerStatement = 66, + AssignmentPattern = 67, + ObjectPattern = 68, + BindingProperty = 69, + ArrayPattern = 70, + BindingRestElement = 71, + Function = 72, + FormalParameters = 73, + FormalParameter = 74, + FunctionBody = 75, + ArrowFunctionExpression = 76, + YieldExpression = 77, + Class = 78, + ClassBody = 79, + MethodDefinition = 80, + PropertyDefinition = 81, + PrivateIdentifier = 82, + StaticBlock = 83, + AccessorProperty = 84, + ImportExpression = 85, + ImportDeclaration = 86, + ImportSpecifier = 87, + ImportDefaultSpecifier = 88, + ImportNamespaceSpecifier = 89, + WithClause = 90, + ImportAttribute = 91, + ExportNamedDeclaration = 92, + ExportDefaultDeclaration = 93, + ExportAllDeclaration = 94, + ExportSpecifier = 95, + V8IntrinsicExpression = 96, + BooleanLiteral = 97, + NullLiteral = 98, + NumericLiteral = 99, + StringLiteral = 100, + BigIntLiteral = 101, + RegExpLiteral = 102, + JSXElement = 103, + JSXOpeningElement = 104, + JSXClosingElement = 105, + JSXFragment = 106, + JSXOpeningFragment = 107, + JSXClosingFragment = 108, + JSXNamespacedName = 109, + JSXMemberExpression = 110, + JSXExpressionContainer = 111, + JSXEmptyExpression = 112, + JSXAttribute = 113, + JSXSpreadAttribute = 114, + JSXIdentifier = 115, + JSXSpreadChild = 116, + JSXText = 117, + TSThisParameter = 118, + TSEnumDeclaration = 119, + TSEnumBody = 120, + TSEnumMember = 121, + TSTypeAnnotation = 122, + TSLiteralType = 123, + TSConditionalType = 124, + TSUnionType = 125, + TSIntersectionType = 126, + TSParenthesizedType = 127, + TSTypeOperator = 128, + TSArrayType = 129, + TSIndexedAccessType = 130, + TSTupleType = 131, + TSNamedTupleMember = 132, + TSOptionalType = 133, + TSRestType = 134, + TSAnyKeyword = 135, + TSStringKeyword = 136, + TSBooleanKeyword = 137, + TSNumberKeyword = 138, + TSNeverKeyword = 139, + TSIntrinsicKeyword = 140, + TSUnknownKeyword = 141, + TSNullKeyword = 142, + TSUndefinedKeyword = 143, + TSVoidKeyword = 144, + TSSymbolKeyword = 145, + TSThisType = 146, + TSObjectKeyword = 147, + TSBigIntKeyword = 148, + TSTypeReference = 149, + TSQualifiedName = 150, + TSTypeParameterInstantiation = 151, + TSTypeParameter = 152, + TSTypeParameterDeclaration = 153, + TSTypeAliasDeclaration = 154, + TSClassImplements = 155, + TSInterfaceDeclaration = 156, + TSInterfaceBody = 157, + TSPropertySignature = 158, + TSIndexSignature = 159, + TSCallSignatureDeclaration = 160, + TSMethodSignature = 161, + TSConstructSignatureDeclaration = 162, + TSIndexSignatureName = 163, + TSInterfaceHeritage = 164, + TSTypePredicate = 165, + TSModuleDeclaration = 166, + TSModuleBlock = 167, + TSTypeLiteral = 168, + TSInferType = 169, + TSTypeQuery = 170, + TSImportType = 171, + TSConstructorType = 172, + TSMappedType = 173, + TSTemplateLiteralType = 174, + TSAsExpression = 175, + TSSatisfiesExpression = 176, + TSTypeAssertion = 177, + TSImportEqualsDeclaration = 178, + TSExternalModuleReference = 179, + TSNonNullExpression = 180, + Decorator = 181, + TSExportAssignment = 182, + TSNamespaceExportDeclaration = 183, + TSInstantiationExpression = 184, + JSDocNullableType = 185, + JSDocNonNullableType = 186, + JSDocUnknownType = 187, } /// Untyped AST Node Kind @@ -242,8 +241,6 @@ pub enum AstKind<'a> { AssignmentExpression(&'a AssignmentExpression<'a>) = AstType::AssignmentExpression as u8, AssignmentTarget(&'a AssignmentTarget<'a>) = AstType::AssignmentTarget as u8, SimpleAssignmentTarget(&'a SimpleAssignmentTarget<'a>) = AstType::SimpleAssignmentTarget as u8, - AssignmentTargetPattern(&'a AssignmentTargetPattern<'a>) = - AstType::AssignmentTargetPattern as u8, ArrayAssignmentTarget(&'a ArrayAssignmentTarget<'a>) = AstType::ArrayAssignmentTarget as u8, ObjectAssignmentTarget(&'a ObjectAssignmentTarget<'a>) = AstType::ObjectAssignmentTarget as u8, AssignmentTargetRest(&'a AssignmentTargetRest<'a>) = AstType::AssignmentTargetRest as u8, @@ -464,7 +461,6 @@ impl GetSpan for AstKind<'_> { Self::AssignmentExpression(it) => it.span(), Self::AssignmentTarget(it) => it.span(), Self::SimpleAssignmentTarget(it) => it.span(), - Self::AssignmentTargetPattern(it) => it.span(), Self::ArrayAssignmentTarget(it) => it.span(), Self::ObjectAssignmentTarget(it) => it.span(), Self::AssignmentTargetRest(it) => it.span(), @@ -660,7 +656,6 @@ impl GetAddress for AstKind<'_> { Self::AssignmentExpression(it) => Address::from_ptr(it), Self::AssignmentTarget(it) => it.address(), Self::SimpleAssignmentTarget(it) => it.address(), - Self::AssignmentTargetPattern(it) => it.address(), Self::ArrayAssignmentTarget(it) => Address::from_ptr(it), Self::ObjectAssignmentTarget(it) => Address::from_ptr(it), Self::AssignmentTargetRest(it) => Address::from_ptr(it), @@ -978,11 +973,6 @@ impl<'a> AstKind<'a> { if let Self::SimpleAssignmentTarget(v) = self { Some(v) } else { None } } - #[inline] - pub fn as_assignment_target_pattern(self) -> Option<&'a AssignmentTargetPattern<'a>> { - if let Self::AssignmentTargetPattern(v) = self { Some(v) } else { None } - } - #[inline] pub fn as_array_assignment_target(self) -> Option<&'a ArrayAssignmentTarget<'a>> { if let Self::ArrayAssignmentTarget(v) = self { Some(v) } else { None } diff --git a/crates/oxc_ast_visit/src/generated/visit.rs b/crates/oxc_ast_visit/src/generated/visit.rs index 10c78f74e37f1..f3b96077dd56a 100644 --- a/crates/oxc_ast_visit/src/generated/visit.rs +++ b/crates/oxc_ast_visit/src/generated/visit.rs @@ -1802,8 +1802,7 @@ pub mod walk { visitor: &mut V, it: &AssignmentTargetPattern<'a>, ) { - let kind = AstKind::AssignmentTargetPattern(visitor.alloc(it)); - visitor.enter_node(kind); + // No `AstKind` for this type match it { AssignmentTargetPattern::ArrayAssignmentTarget(it) => { visitor.visit_array_assignment_target(it) @@ -1812,7 +1811,6 @@ pub mod walk { visitor.visit_object_assignment_target(it) } } - visitor.leave_node(kind); } #[inline] diff --git a/crates/oxc_ast_visit/src/generated/visit_mut.rs b/crates/oxc_ast_visit/src/generated/visit_mut.rs index bda077aaadecf..a0da0f720cbd7 100644 --- a/crates/oxc_ast_visit/src/generated/visit_mut.rs +++ b/crates/oxc_ast_visit/src/generated/visit_mut.rs @@ -1833,8 +1833,7 @@ pub mod walk_mut { visitor: &mut V, it: &mut AssignmentTargetPattern<'a>, ) { - let kind = AstType::AssignmentTargetPattern; - visitor.enter_node(kind); + // No `AstType` for this type match it { AssignmentTargetPattern::ArrayAssignmentTarget(it) => { visitor.visit_array_assignment_target(it) @@ -1843,7 +1842,6 @@ pub mod walk_mut { visitor.visit_object_assignment_target(it) } } - visitor.leave_node(kind); } #[inline] diff --git a/crates/oxc_formatter/src/generated/ast_nodes.rs b/crates/oxc_formatter/src/generated/ast_nodes.rs index 153d41d46d0aa..aa779491d41c7 100644 --- a/crates/oxc_formatter/src/generated/ast_nodes.rs +++ b/crates/oxc_formatter/src/generated/ast_nodes.rs @@ -58,7 +58,6 @@ pub enum AstNodes<'a> { AssignmentExpression(&'a AstNode<'a, AssignmentExpression<'a>>), AssignmentTarget(&'a AstNode<'a, AssignmentTarget<'a>>), SimpleAssignmentTarget(&'a AstNode<'a, SimpleAssignmentTarget<'a>>), - AssignmentTargetPattern(&'a AstNode<'a, AssignmentTargetPattern<'a>>), ArrayAssignmentTarget(&'a AstNode<'a, ArrayAssignmentTarget<'a>>), ObjectAssignmentTarget(&'a AstNode<'a, ObjectAssignmentTarget<'a>>), AssignmentTargetRest(&'a AstNode<'a, AssignmentTargetRest<'a>>), @@ -2347,7 +2346,6 @@ impl<'a> AstNodes<'a> { Self::AssignmentExpression(n) => n.span(), Self::AssignmentTarget(n) => n.span(), Self::SimpleAssignmentTarget(n) => n.span(), - Self::AssignmentTargetPattern(n) => n.span(), Self::ArrayAssignmentTarget(n) => n.span(), Self::ObjectAssignmentTarget(n) => n.span(), Self::AssignmentTargetRest(n) => n.span(), @@ -2542,7 +2540,6 @@ impl<'a> AstNodes<'a> { Self::AssignmentExpression(n) => n.parent, Self::AssignmentTarget(n) => n.parent, Self::SimpleAssignmentTarget(n) => n.parent, - Self::AssignmentTargetPattern(n) => n.parent, Self::ArrayAssignmentTarget(n) => n.parent, Self::ObjectAssignmentTarget(n) => n.parent, Self::AssignmentTargetRest(n) => n.parent, @@ -2737,7 +2734,6 @@ impl<'a> AstNodes<'a> { Self::AssignmentExpression(n) => SiblingNode::from(n.inner), Self::AssignmentTarget(n) => n.parent.as_sibling_node(), Self::SimpleAssignmentTarget(n) => n.parent.as_sibling_node(), - Self::AssignmentTargetPattern(n) => n.parent.as_sibling_node(), Self::ArrayAssignmentTarget(n) => SiblingNode::from(n.inner), Self::ObjectAssignmentTarget(n) => SiblingNode::from(n.inner), Self::AssignmentTargetRest(n) => SiblingNode::from(n.inner), @@ -2932,7 +2928,6 @@ impl<'a> AstNodes<'a> { Self::AssignmentExpression(_) => "AssignmentExpression", Self::AssignmentTarget(_) => "AssignmentTarget", Self::SimpleAssignmentTarget(_) => "SimpleAssignmentTarget", - Self::AssignmentTargetPattern(_) => "AssignmentTargetPattern", Self::ArrayAssignmentTarget(_) => "ArrayAssignmentTarget", Self::ObjectAssignmentTarget(_) => "ObjectAssignmentTarget", Self::AssignmentTargetRest(_) => "AssignmentTargetRest", @@ -4860,12 +4855,15 @@ impl<'a> AstNode<'a, AssignmentTarget<'a>> { })) } it @ match_assignment_target_pattern!(AssignmentTarget) => { - AstNodes::AssignmentTargetPattern(self.allocator.alloc(AstNode { - inner: it.to_assignment_target_pattern(), - parent, - allocator: self.allocator, - following_node: self.following_node, - })) + return self + .allocator + .alloc(AstNode { + inner: it.to_assignment_target_pattern(), + parent, + allocator: self.allocator, + following_node: self.following_node, + }) + .as_ast_nodes(); } }; self.allocator.alloc(node) @@ -4950,7 +4948,7 @@ impl<'a> GetSpan for AstNode<'a, SimpleAssignmentTarget<'a>> { impl<'a> AstNode<'a, AssignmentTargetPattern<'a>> { #[inline] pub fn as_ast_nodes(&self) -> &AstNodes<'a> { - let parent = self.allocator.alloc(AstNodes::AssignmentTargetPattern(transmute_self(self))); + let parent = self.parent; let node = match self.inner { AssignmentTargetPattern::ArrayAssignmentTarget(s) => { AstNodes::ArrayAssignmentTarget(self.allocator.alloc(AstNode { diff --git a/crates/oxc_formatter/src/generated/format_write.rs b/crates/oxc_formatter/src/generated/format_write.rs index 90ec1c29256e7..15189842304f8 100644 --- a/crates/oxc_formatter/src/generated/format_write.rs +++ b/crates/oxc_formatter/src/generated/format_write.rs @@ -615,7 +615,7 @@ impl<'a> FormatWrite<'a> for AstNode<'a, AssignmentTargetPattern<'a>> { #[inline] fn write(&self, f: &mut Formatter<'_, 'a>) -> FormatResult<()> { let allocator = self.allocator; - let parent = allocator.alloc(AstNodes::AssignmentTargetPattern(transmute_self(self))); + let parent = self.parent; match self.inner { AssignmentTargetPattern::ArrayAssignmentTarget(inner) => allocator .alloc(AstNode:: { diff --git a/crates/oxc_linter/src/rules/unicorn/prefer_dom_node_text_content.rs b/crates/oxc_linter/src/rules/unicorn/prefer_dom_node_text_content.rs index 45bd2a4440eba..f2d315dc9ee58 100644 --- a/crates/oxc_linter/src/rules/unicorn/prefer_dom_node_text_content.rs +++ b/crates/oxc_linter/src/rules/unicorn/prefer_dom_node_text_content.rs @@ -1,4 +1,4 @@ -use oxc_ast::AstKind; +use oxc_ast::{AstKind, ast::AssignmentTarget}; use oxc_diagnostics::OxcDiagnostic; use oxc_macros::declare_oxc_lint; use oxc_span::Span; @@ -109,8 +109,10 @@ impl Rule for PreferDomNodeTextContent { AstKind::ObjectAssignmentTarget(_) | AstKind::AssignmentTarget(_) | AstKind::SimpleAssignmentTarget(_) - ) && matches!(grand_parent_node_kind, AstKind::AssignmentTargetPattern(_)) - { + ) && matches!( + grand_parent_node_kind, + AstKind::AssignmentTarget(AssignmentTarget::ObjectAssignmentTarget(_)) + ) { ctx.diagnostic(prefer_dom_node_text_content_diagnostic(identifier_ref.span)); } } @@ -157,7 +159,7 @@ fn test() { ]; // TODO: implement a fixer for destructuring assignment cases - let fix = vec![ + let fix: Vec<(&'static str, &'static str)> = vec![ ("node.innerText;", "node.textContent;"), ("node?.innerText;", "node?.textContent;"), ("node.innerText = 'foo';", "node.textContent = 'foo';"), diff --git a/crates/oxc_semantic/tests/fixtures/oxc/js/assignments/array.snap b/crates/oxc_semantic/tests/fixtures/oxc/js/assignments/array.snap index 134da511d629d..8a8f0f360bfa7 100644 --- a/crates/oxc_semantic/tests/fixtures/oxc/js/assignments/array.snap +++ b/crates/oxc_semantic/tests/fixtures/oxc/js/assignments/array.snap @@ -19,13 +19,13 @@ input_file: crates/oxc_semantic/tests/fixtures/oxc/js/assignments/array.js "flags": "ReferenceFlags(Read)", "id": 1, "name": "read", - "node_id": 17 + "node_id": 16 }, { "flags": "ReferenceFlags(Read)", "id": 3, "name": "read", - "node_id": 25 + "node_id": 23 } ] }, @@ -39,13 +39,13 @@ input_file: crates/oxc_semantic/tests/fixtures/oxc/js/assignments/array.js "flags": "ReferenceFlags(Write)", "id": 0, "name": "write", - "node_id": 16 + "node_id": 15 }, { "flags": "ReferenceFlags(Write)", "id": 2, "name": "write", - "node_id": 24 + "node_id": 22 } ] } diff --git a/crates/oxc_semantic/tests/fixtures/oxc/js/assignments/nested-assignment.snap b/crates/oxc_semantic/tests/fixtures/oxc/js/assignments/nested-assignment.snap index 2590d66413d90..7aee93c30b783 100644 --- a/crates/oxc_semantic/tests/fixtures/oxc/js/assignments/nested-assignment.snap +++ b/crates/oxc_semantic/tests/fixtures/oxc/js/assignments/nested-assignment.snap @@ -19,25 +19,25 @@ input_file: crates/oxc_semantic/tests/fixtures/oxc/js/assignments/nested-assignm "flags": "ReferenceFlags(Write)", "id": 0, "name": "y", - "node_id": 11 + "node_id": 10 }, { "flags": "ReferenceFlags(Write)", "id": 1, "name": "y", - "node_id": 26 + "node_id": 23 }, { "flags": "ReferenceFlags(Write)", "id": 2, "name": "y", - "node_id": 44 + "node_id": 39 }, { "flags": "ReferenceFlags(Read)", "id": 4, "name": "y", - "node_id": 54 + "node_id": 48 } ] } diff --git a/crates/oxc_semantic/tests/fixtures/oxc/js/assignments/object.snap b/crates/oxc_semantic/tests/fixtures/oxc/js/assignments/object.snap index 072c75c7787bd..a614dca063c82 100644 --- a/crates/oxc_semantic/tests/fixtures/oxc/js/assignments/object.snap +++ b/crates/oxc_semantic/tests/fixtures/oxc/js/assignments/object.snap @@ -19,19 +19,19 @@ input_file: crates/oxc_semantic/tests/fixtures/oxc/js/assignments/object.js "flags": "ReferenceFlags(Read)", "id": 1, "name": "read", - "node_id": 16 + "node_id": 15 }, { "flags": "ReferenceFlags(Read)", "id": 5, "name": "read", - "node_id": 37 + "node_id": 35 }, { "flags": "ReferenceFlags(Read)", "id": 6, "name": "read", - "node_id": 38 + "node_id": 36 } ] }, @@ -45,13 +45,13 @@ input_file: crates/oxc_semantic/tests/fixtures/oxc/js/assignments/object.js "flags": "ReferenceFlags(Write)", "id": 2, "name": "write", - "node_id": 22 + "node_id": 21 }, { "flags": "ReferenceFlags(Write)", "id": 3, "name": "write", - "node_id": 34 + "node_id": 32 } ] } diff --git a/crates/oxc_semantic/tests/fixtures/typescript-eslint/destructuring/array-assignment.snap b/crates/oxc_semantic/tests/fixtures/typescript-eslint/destructuring/array-assignment.snap index 28745125f2860..627531a42e26b 100644 --- a/crates/oxc_semantic/tests/fixtures/typescript-eslint/destructuring/array-assignment.snap +++ b/crates/oxc_semantic/tests/fixtures/typescript-eslint/destructuring/array-assignment.snap @@ -19,7 +19,7 @@ input_file: crates/oxc_semantic/tests/fixtures/typescript-eslint/destructuring/a "flags": "ReferenceFlags(Read)", "id": 0, "name": "obj", - "node_id": 18 + "node_id": 17 } ] }, @@ -33,7 +33,7 @@ input_file: crates/oxc_semantic/tests/fixtures/typescript-eslint/destructuring/a "flags": "ReferenceFlags(Write)", "id": 1, "name": "b", - "node_id": 22 + "node_id": 21 } ] }, @@ -47,7 +47,7 @@ input_file: crates/oxc_semantic/tests/fixtures/typescript-eslint/destructuring/a "flags": "ReferenceFlags(Write)", "id": 2, "name": "c", - "node_id": 28 + "node_id": 26 } ] } diff --git a/crates/oxc_semantic/tests/fixtures/typescript-eslint/destructuring/object-assignment.snap b/crates/oxc_semantic/tests/fixtures/typescript-eslint/destructuring/object-assignment.snap index 4f65df0e17c98..8985423c52021 100644 --- a/crates/oxc_semantic/tests/fixtures/typescript-eslint/destructuring/object-assignment.snap +++ b/crates/oxc_semantic/tests/fixtures/typescript-eslint/destructuring/object-assignment.snap @@ -19,7 +19,7 @@ input_file: crates/oxc_semantic/tests/fixtures/typescript-eslint/destructuring/o "flags": "ReferenceFlags(Read)", "id": 2, "name": "obj", - "node_id": 31 + "node_id": 29 } ] } diff --git a/tasks/ast_tools/src/generators/ast_kind.rs b/tasks/ast_tools/src/generators/ast_kind.rs index 88e024f7c27bc..f16d7943c9989 100644 --- a/tasks/ast_tools/src/generators/ast_kind.rs +++ b/tasks/ast_tools/src/generators/ast_kind.rs @@ -31,13 +31,8 @@ const STRUCTS_BLACK_LIST: &[&str] = &["BindingPattern", "TSFunctionType", "Span" /// Enums to create an `AstKind` for. /// /// Apart from this list, enums don't have `AstKind`s. -const ENUMS_WHITE_LIST: &[&str] = &[ - "PropertyKey", - "Argument", - "AssignmentTarget", - "SimpleAssignmentTarget", - "AssignmentTargetPattern", -]; +const ENUMS_WHITE_LIST: &[&str] = + &["PropertyKey", "Argument", "AssignmentTarget", "SimpleAssignmentTarget"]; /// Generator for `AstKind`, `AstType`, and related code. pub struct AstKindGenerator;