mirror of
https://github.com/oxc-project/oxc.git
synced 2026-09-14 19:36:11 +08:00
feat(ast): add GetNodeId trait (#26145)
## Summary - add `GetNodeId` alongside `NodeId` in `oxc_syntax` - add a dedicated `DeriveGetNodeId` following the existing `GetSpan` derive architecture - generate implementations into `derive_get_node_id.rs`, delegating uniformly through `self.node_id()`
This commit is contained in:
+125
-121
@@ -28,6 +28,7 @@ use oxc_estree::ESTree;
|
||||
use oxc_span::{ContentEq, GetSpan, GetSpanMut, SourceType, Span};
|
||||
use oxc_str::{Ident, Str};
|
||||
use oxc_syntax::{
|
||||
GetNodeId,
|
||||
node::NodeId,
|
||||
operator::{
|
||||
AssignmentOperator, BinaryOperator, LogicalOperator, UnaryOperator, UpdateOperator,
|
||||
@@ -48,7 +49,7 @@ use super::*;
|
||||
)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(field_order(body, source_type, hashbang, span), via = ProgramConverter)]
|
||||
pub struct Program<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -76,7 +77,7 @@ pub struct Program<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum Expression<'a> {
|
||||
/// See [`BooleanLiteral`] for AST node details.
|
||||
BooleanLiteral(Box<'a, BooleanLiteral>) = 0,
|
||||
@@ -180,7 +181,7 @@ pub enum Expression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "Identifier",
|
||||
add_fields(decorators = TsEmptyArray, optional = TsFalse, typeAnnotation = TsNull),
|
||||
@@ -200,7 +201,7 @@ pub struct IdentifierName<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "Identifier",
|
||||
add_fields(decorators = TsEmptyArray, optional = TsFalse, typeAnnotation = TsNull),
|
||||
@@ -230,7 +231,7 @@ pub struct IdentifierReference<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "Identifier",
|
||||
add_fields(decorators = TsEmptyArray, optional = TsFalse, typeAnnotation = TsTypeAnnotationOrNull),
|
||||
@@ -258,7 +259,7 @@ pub struct BindingIdentifier<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "Identifier",
|
||||
add_fields(decorators = TsEmptyArray, optional = TsFalse, typeAnnotation = TsNull),
|
||||
@@ -276,7 +277,7 @@ pub struct LabelIdentifier<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ThisExpression {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -288,7 +289,7 @@ pub struct ThisExpression {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ArrayExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -302,7 +303,8 @@ pub struct ArrayExpression<'a> {
|
||||
/// [`ast` module docs]: `super`
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn, ContentEq, ESTree, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum ArrayExpressionElement<'a> {
|
||||
/// `...[3, 4]` in `const array = [1, 2, ...[3, 4], null];`
|
||||
SpreadElement(Box<'a, SpreadElement<'a>>) = 64,
|
||||
@@ -322,7 +324,7 @@ pub enum ArrayExpressionElement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(via = Null)]
|
||||
pub struct Elision {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -336,7 +338,7 @@ pub struct Elision {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ObjectExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -348,7 +350,7 @@ pub struct ObjectExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum ObjectPropertyKind<'a> {
|
||||
/// `a: 1` in `const obj = { a: 1 };`
|
||||
ObjectProperty(Box<'a, ObjectProperty<'a>>) = 0,
|
||||
@@ -362,7 +364,7 @@ pub enum ObjectPropertyKind<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "Property", add_fields(optional = TsFalse))]
|
||||
pub struct ObjectProperty<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -383,7 +385,7 @@ pub struct ObjectProperty<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum PropertyKey<'a> {
|
||||
/// `a` in `const obj = { a: 1 }; obj.a;`
|
||||
StaticIdentifier(Box<'a, IdentifierName<'a>>) = 64,
|
||||
@@ -413,7 +415,7 @@ pub enum PropertyKind {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TemplateLiteral<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -430,7 +432,7 @@ pub struct TemplateLiteral<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TaggedTemplateExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -446,7 +448,7 @@ pub struct TaggedTemplateExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(via = TemplateElementConverter)]
|
||||
pub struct TemplateElement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -487,7 +489,7 @@ pub struct TemplateElementValue<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum MemberExpression<'a> {
|
||||
/// `ar[0]` in `const ar = [1, 2]; ar[0];`
|
||||
ComputedMemberExpression(Box<'a, ComputedMemberExpression<'a>>) = 48,
|
||||
@@ -503,7 +505,7 @@ pub enum MemberExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "MemberExpression", add_fields(computed = True))]
|
||||
pub struct ComputedMemberExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -520,7 +522,7 @@ pub struct ComputedMemberExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "MemberExpression", add_fields(computed = False))]
|
||||
pub struct StaticMemberExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -536,7 +538,7 @@ pub struct StaticMemberExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "MemberExpression", add_fields(computed = False))]
|
||||
pub struct PrivateFieldExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -566,7 +568,7 @@ pub struct PrivateFieldExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct CallExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -596,7 +598,7 @@ pub struct CallExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct NewExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -614,7 +616,7 @@ pub struct NewExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "MetaProperty",
|
||||
ts_alias = "MetaProperty",
|
||||
@@ -638,7 +640,7 @@ pub struct ImportMeta {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "MetaProperty",
|
||||
ts_alias = "MetaProperty",
|
||||
@@ -656,7 +658,7 @@ pub struct NewTarget {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct SpreadElement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -672,7 +674,7 @@ pub struct SpreadElement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum Argument<'a> {
|
||||
/// `...[1, 2]` in `const arr = [...[1, 2]];`
|
||||
SpreadElement(Box<'a, SpreadElement<'a>>) = 64,
|
||||
@@ -688,7 +690,7 @@ pub enum Argument<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct UpdateExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -704,7 +706,7 @@ pub struct UpdateExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(add_fields(prefix = True))]
|
||||
pub struct UnaryExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -719,7 +721,7 @@ pub struct UnaryExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct BinaryExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -732,7 +734,7 @@ pub struct BinaryExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "BinaryExpression", add_fields(operator = In), field_order(left, operator, right, span))]
|
||||
pub struct PrivateInExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -748,7 +750,7 @@ pub struct PrivateInExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct LogicalExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -763,7 +765,7 @@ pub struct LogicalExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ConditionalExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -778,7 +780,7 @@ pub struct ConditionalExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct AssignmentExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -796,7 +798,7 @@ pub struct AssignmentExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum AssignmentTarget<'a> {
|
||||
// `SimpleAssignmentTarget` and `AssignmentTargetPattern` variants added here by `#[ast]` macro
|
||||
INHERIT(SimpleAssignmentTarget<'a>),
|
||||
@@ -811,7 +813,7 @@ pub enum AssignmentTarget<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum SimpleAssignmentTarget<'a> {
|
||||
AssignmentTargetIdentifier(Box<'a, IdentifierReference<'a>>) = 0,
|
||||
TSAsExpression(Box<'a, TSAsExpression<'a>>) = 1,
|
||||
@@ -826,7 +828,7 @@ pub enum SimpleAssignmentTarget<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum AssignmentTargetPattern<'a> {
|
||||
ArrayAssignmentTarget(Box<'a, ArrayAssignmentTarget<'a>>) = 8,
|
||||
ObjectAssignmentTarget(Box<'a, ObjectAssignmentTarget<'a>>) = 9,
|
||||
@@ -838,7 +840,7 @@ pub enum AssignmentTargetPattern<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "ArrayPattern",
|
||||
add_fields(decorators = TsEmptyArray, optional = TsFalse, typeAnnotation = TsNull),
|
||||
@@ -858,7 +860,7 @@ pub struct ArrayAssignmentTarget<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "ObjectPattern",
|
||||
add_fields(decorators = TsEmptyArray, optional = TsFalse, typeAnnotation = TsNull),
|
||||
@@ -878,7 +880,7 @@ pub struct ObjectAssignmentTarget<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "RestElement",
|
||||
add_fields(decorators = TsEmptyArray, optional = TsFalse, typeAnnotation = TsNull, value = TsNull),
|
||||
@@ -899,7 +901,7 @@ pub struct AssignmentTargetRest<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum AssignmentTargetMaybeDefault<'a> {
|
||||
AssignmentTargetWithDefault(Box<'a, AssignmentTargetWithDefault<'a>>) = 16,
|
||||
|
||||
@@ -910,7 +912,7 @@ pub enum AssignmentTargetMaybeDefault<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "AssignmentPattern",
|
||||
add_fields(decorators = TsEmptyArray, optional = TsFalse, typeAnnotation = TsNull),
|
||||
@@ -928,7 +930,7 @@ pub struct AssignmentTargetWithDefault<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum AssignmentTargetProperty<'a> {
|
||||
AssignmentTargetPropertyIdentifier(Box<'a, AssignmentTargetPropertyIdentifier<'a>>) = 0,
|
||||
AssignmentTargetPropertyProperty(Box<'a, AssignmentTargetPropertyProperty<'a>>) = 1,
|
||||
@@ -941,7 +943,7 @@ pub enum AssignmentTargetProperty<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "Property",
|
||||
add_fields(kind = Init, method = False, shorthand = True, computed = False, optional = TsFalse),
|
||||
@@ -962,7 +964,7 @@ pub struct AssignmentTargetPropertyIdentifier<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "Property",
|
||||
add_fields(kind = Init, method = False, shorthand = False, optional = TsFalse),
|
||||
@@ -995,7 +997,7 @@ pub struct AssignmentTargetPropertyProperty<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct SequenceExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1008,7 +1010,7 @@ pub struct SequenceExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct Super {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1020,7 +1022,7 @@ pub struct Super {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct AwaitExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1033,7 +1035,7 @@ pub struct AwaitExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ChainExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1048,7 +1050,7 @@ pub struct ChainExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum ChainElement<'a> {
|
||||
CallExpression(Box<'a, CallExpression<'a>>) = 0,
|
||||
/// `foo?.baz!` or `foo?.[bar]!`
|
||||
@@ -1064,7 +1066,7 @@ pub enum ChainElement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(via = ParenthesizedExpressionConverter)]
|
||||
pub struct ParenthesizedExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -1081,7 +1083,7 @@ pub struct ParenthesizedExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum Statement<'a> {
|
||||
// Statements
|
||||
BlockStatement(Box<'a, BlockStatement<'a>>) = 0,
|
||||
@@ -1114,7 +1116,7 @@ pub enum Statement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "ExpressionStatement")]
|
||||
pub struct Directive<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -1131,7 +1133,7 @@ pub struct Directive<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct Hashbang<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1145,7 +1147,7 @@ pub struct Hashbang<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct BlockStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1157,7 +1159,7 @@ pub struct BlockStatement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum Declaration<'a> {
|
||||
VariableDeclaration(Box<'a, VariableDeclaration<'a>>) = 32,
|
||||
#[visit(args(flags = ScopeFlags::Function))]
|
||||
@@ -1179,7 +1181,7 @@ pub enum Declaration<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct VariableDeclaration<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1212,7 +1214,7 @@ pub enum VariableDeclarationKind {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct VariableDeclarator<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1230,7 +1232,7 @@ pub struct VariableDeclarator<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct EmptyStatement {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1240,7 +1242,7 @@ pub struct EmptyStatement {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(add_fields(directive = ExpressionStatementDirective))] // Only in TS AST
|
||||
pub struct ExpressionStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -1252,7 +1254,7 @@ pub struct ExpressionStatement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct IfStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1265,7 +1267,7 @@ pub struct IfStatement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct DoWhileStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1277,7 +1279,7 @@ pub struct DoWhileStatement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct WhileStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1290,7 +1292,7 @@ pub struct WhileStatement<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ForStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1309,7 +1311,7 @@ pub struct ForStatement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum ForStatementInit<'a> {
|
||||
VariableDeclaration(Box<'a, VariableDeclaration<'a>>) = 64,
|
||||
|
||||
@@ -1322,7 +1324,7 @@ pub enum ForStatementInit<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ForInStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1340,7 +1342,7 @@ pub struct ForInStatement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum ForStatementLeft<'a> {
|
||||
VariableDeclaration(Box<'a, VariableDeclaration<'a>>) = 16,
|
||||
|
||||
@@ -1353,7 +1355,7 @@ pub enum ForStatementLeft<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ForOfStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1368,7 +1370,7 @@ pub struct ForOfStatement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ContinueStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1379,7 +1381,7 @@ pub struct ContinueStatement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct BreakStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1390,7 +1392,7 @@ pub struct BreakStatement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ReturnStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1402,7 +1404,7 @@ pub struct ReturnStatement<'a> {
|
||||
#[scope(flags = ScopeFlags::With)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct WithStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1417,7 +1419,7 @@ pub struct WithStatement<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct SwitchStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1430,7 +1432,7 @@ pub struct SwitchStatement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct SwitchCase<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1442,7 +1444,7 @@ pub struct SwitchCase<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct LabeledStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1460,7 +1462,7 @@ pub struct LabeledStatement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ThrowStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1486,7 +1488,7 @@ pub struct ThrowStatement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TryStatement<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1514,7 +1516,7 @@ pub struct TryStatement<'a> {
|
||||
#[scope(flags = ScopeFlags::CatchClause)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct CatchClause<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1541,7 +1543,7 @@ pub struct CatchClause<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(no_type, via = CatchParameterConverter)]
|
||||
pub struct CatchParameter<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -1564,7 +1566,7 @@ pub struct CatchParameter<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct DebuggerStatement {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1573,7 +1575,7 @@ pub struct DebuggerStatement {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum BindingPattern<'a> {
|
||||
/// `x` in `const x = 1;`.
|
||||
///
|
||||
@@ -1628,7 +1630,7 @@ pub enum BindingPattern<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
add_fields(decorators = TsEmptyArray, optional = TsFalse, typeAnnotation = TsNull),
|
||||
field_order(decorators, left, right, optional, typeAnnotation, span),
|
||||
@@ -1646,7 +1648,7 @@ pub struct AssignmentPattern<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
add_fields(decorators = TsEmptyArray, optional = TsFalse, typeAnnotation = TsTypeAnnotationOrNull),
|
||||
field_order(decorators, properties, optional, typeAnnotation, span),
|
||||
@@ -1662,7 +1664,7 @@ pub struct ObjectPattern<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "Property",
|
||||
add_fields(kind = Init, method = False, optional = TsFalse),
|
||||
@@ -1683,7 +1685,7 @@ pub struct BindingProperty<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
add_fields(decorators = TsEmptyArray, optional = TsFalse, typeAnnotation = TsTypeAnnotationOrNull),
|
||||
field_order(decorators, elements, optional, typeAnnotation, span),
|
||||
@@ -1708,7 +1710,7 @@ pub struct ArrayPattern<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "RestElement",
|
||||
add_fields(decorators = TsEmptyArray, optional = TsFalse, typeAnnotation = TsTypeAnnotationOrNull, value = TsNull),
|
||||
@@ -1764,7 +1766,7 @@ pub struct BindingRestElement<'a> {
|
||||
)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
// https://github.com/estree/estree/blob/master/es5.md#patterns
|
||||
// https://github.com/DefinitelyTyped/DefinitelyTyped/blob/cd61c555bfc93e985b313263a42ed78074570d08/types/estree/index.d.ts#L411
|
||||
#[estree(
|
||||
@@ -1862,7 +1864,7 @@ pub enum FunctionType {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
via = FormalParametersConverter,
|
||||
add_ts_def = "
|
||||
@@ -1890,7 +1892,7 @@ pub struct FormalParameters<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
// Pluralize as `FormalParameterList` to avoid naming clash with `FormalParameters`.
|
||||
#[plural(FormalParameterList)]
|
||||
#[estree(
|
||||
@@ -1959,7 +1961,7 @@ pub enum FormalParameterKind {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct FormalParameterRest<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1972,7 +1974,7 @@ pub struct FormalParameterRest<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "BlockStatement")]
|
||||
pub struct FunctionBody<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -1990,7 +1992,7 @@ pub struct FunctionBody<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
#[estree(no_ts_def)]
|
||||
pub enum ArrowFunctionBody<'a> {
|
||||
FunctionBody(Box<'a, FunctionBody<'a>>) = 64,
|
||||
@@ -2007,7 +2009,7 @@ pub enum ArrowFunctionBody<'a> {
|
||||
)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
add_fields(expression = ArrowFunctionExpressionExpression, id = Null, generator = False),
|
||||
field_order(expression, r#async, type_parameters, params, return_type, body, id, generator, span),
|
||||
@@ -2043,7 +2045,7 @@ pub struct ArrowFunctionExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct YieldExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2056,7 +2058,7 @@ pub struct YieldExpression<'a> {
|
||||
#[scope(flags = ScopeFlags::StrictMode)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
add_fields(superClass = ClassSuperClass, superTypeArguments = ClassSuperTypeArguments),
|
||||
field_order(
|
||||
@@ -2177,7 +2179,7 @@ pub enum ClassType {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ClassBody<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2205,7 +2207,7 @@ pub struct ClassBody<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum ClassElement<'a> {
|
||||
StaticBlock(Box<'a, StaticBlock<'a>>) = 0,
|
||||
/// Class Methods
|
||||
@@ -2228,7 +2230,7 @@ pub enum ClassElement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct MethodDefinition<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2268,7 +2270,7 @@ pub enum MethodDefinitionType {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct PropertyDefinition<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2385,7 +2387,7 @@ pub enum MethodDefinitionKind {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct PrivateIdentifier<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2409,7 +2411,7 @@ pub struct PrivateIdentifier<'a> {
|
||||
#[scope(flags = ScopeFlags::ClassStaticBlock)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct StaticBlock<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2442,7 +2444,7 @@ pub struct StaticBlock<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum ModuleDeclaration<'a> {
|
||||
/// `import hello from './world.js';`
|
||||
/// `import * as t from './world.js';`
|
||||
@@ -2484,7 +2486,7 @@ pub enum AccessorPropertyType {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(add_fields(declare = TsFalse, optional = TsFalse, readonly = TsFalse))]
|
||||
pub struct AccessorProperty<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -2534,7 +2536,7 @@ pub struct AccessorProperty<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ImportExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2546,7 +2548,7 @@ pub struct ImportExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ImportDeclaration<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2579,7 +2581,7 @@ pub enum ImportPhase {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum ImportDeclarationSpecifier<'a> {
|
||||
/// `import {imported} from "source";`
|
||||
/// `import {imported as local} from "source";`
|
||||
@@ -2606,7 +2608,7 @@ pub enum ImportDeclarationSpecifier<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ImportSpecifier<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2632,7 +2634,7 @@ pub struct ImportSpecifier<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ImportDefaultSpecifier<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2649,7 +2651,7 @@ pub struct ImportDefaultSpecifier<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ImportNamespaceSpecifier<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2659,7 +2661,7 @@ pub struct ImportNamespaceSpecifier<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(no_type, no_ts_def)]
|
||||
pub struct WithClause<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -2683,7 +2685,7 @@ pub enum WithClauseKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ImportAttribute<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2693,7 +2695,8 @@ pub struct ImportAttribute<'a> {
|
||||
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn, ContentEq, ESTree, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum ImportAttributeKey<'a> {
|
||||
Identifier(IdentifierName<'a>) = 0,
|
||||
StringLiteral(StringLiteral<'a>) = 1,
|
||||
@@ -2710,7 +2713,7 @@ pub enum ImportAttributeKey<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "ExportNamedDeclaration",
|
||||
ts_alias = "ExportNamedDeclaration",
|
||||
@@ -2753,7 +2756,7 @@ pub struct ExportDeclaration<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "ExportNamedDeclaration",
|
||||
ts_alias = "ExportNamedDeclaration",
|
||||
@@ -2780,7 +2783,7 @@ pub struct ExportNamedDeclaration<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "ExportNamedDeclaration",
|
||||
ts_alias = "ExportNamedDeclaration",
|
||||
@@ -2812,7 +2815,7 @@ pub struct ExportFromDeclaration<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(add_fields(exportKind = TsValue))]
|
||||
pub struct ExportDefaultDeclaration<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -2832,7 +2835,7 @@ pub struct ExportDefaultDeclaration<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ExportAllDeclaration<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2864,7 +2867,7 @@ pub struct ExportAllDeclaration<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct ExportSpecifier<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -2882,7 +2885,7 @@ pub struct ExportSpecifier<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum ExportDefaultDeclarationKind<'a> {
|
||||
#[visit(args(flags = ScopeFlags::Function))]
|
||||
FunctionDeclaration(Box<'a, Function<'a>>) = 64,
|
||||
@@ -2903,7 +2906,8 @@ pub enum ExportDefaultDeclarationKind<'a> {
|
||||
/// * <https://github.com/tc39/ecma262/pull/2154>
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn, ContentEq, ESTree, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum ModuleExportName<'a> {
|
||||
IdentifierName(IdentifierName<'a>) = 0,
|
||||
/// For `local` in `ExportSpecifier`: `foo` in `export { foo }`
|
||||
@@ -2916,7 +2920,7 @@ pub enum ModuleExportName<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct V8IntrinsicExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
|
||||
@@ -11,7 +11,7 @@ use oxc_ast_macros::ast;
|
||||
use oxc_estree::ESTree;
|
||||
use oxc_span::{ContentEq, GetSpan, GetSpanMut, Span};
|
||||
use oxc_str::Str;
|
||||
use oxc_syntax::node::NodeId;
|
||||
use oxc_syntax::{GetNodeId, node::NodeId};
|
||||
|
||||
use super::{js::*, literal::*, ts::*};
|
||||
|
||||
@@ -37,7 +37,7 @@ use super::{js::*, literal::*, ts::*};
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXElement<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -72,7 +72,7 @@ pub struct JSXElement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(add_fields(selfClosing = JSXOpeningElementSelfClosing))]
|
||||
pub struct JSXOpeningElement<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
@@ -102,7 +102,7 @@ pub struct JSXOpeningElement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXClosingElement<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -123,7 +123,7 @@ pub struct JSXClosingElement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXFragment<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -141,7 +141,7 @@ pub struct JSXFragment<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(add_fields(attributes = JsEmptyArray, selfClosing = JsFalse))]
|
||||
pub struct JSXOpeningFragment {
|
||||
/// Unique identifier for this AST node.
|
||||
@@ -154,7 +154,7 @@ pub struct JSXOpeningFragment {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXClosingFragment {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -166,7 +166,7 @@ pub struct JSXClosingFragment {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum JSXElementName<'a> {
|
||||
/// `<div />`
|
||||
Identifier(Box<'a, JSXIdentifier<'a>>) = 0,
|
||||
@@ -192,7 +192,7 @@ pub enum JSXElementName<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXNamespacedName<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -222,7 +222,7 @@ pub struct JSXNamespacedName<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXMemberExpression<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -253,7 +253,7 @@ pub struct JSXMemberExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum JSXMemberExpressionObject<'a> {
|
||||
/// `<Apple.Orange />`
|
||||
#[estree(via = JSXElementIdentifierReference)]
|
||||
@@ -281,7 +281,7 @@ pub enum JSXMemberExpressionObject<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXExpressionContainer<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -299,7 +299,8 @@ pub struct JSXExpressionContainer<'a> {
|
||||
/// [`ast` module docs]: `super`
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn, ContentEq, ESTree, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum JSXExpression<'a> {
|
||||
/// An empty expression
|
||||
///
|
||||
@@ -318,7 +319,7 @@ pub enum JSXExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXEmptyExpression {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -340,7 +341,7 @@ pub struct JSXEmptyExpression {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum JSXAttributeItem<'a> {
|
||||
/// A `key="value"` attribute
|
||||
Attribute(Box<'a, JSXAttribute<'a>>) = 0,
|
||||
@@ -362,7 +363,7 @@ pub enum JSXAttributeItem<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXAttribute<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -386,7 +387,7 @@ pub struct JSXAttribute<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXSpreadAttribute<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -414,7 +415,7 @@ pub struct JSXSpreadAttribute<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum JSXAttributeName<'a> {
|
||||
/// An attribute name without a namespace prefix, e.g. `foo` in `foo="bar"`.
|
||||
Identifier(Box<'a, JSXIdentifier<'a>>) = 0,
|
||||
@@ -443,7 +444,7 @@ pub enum JSXAttributeName<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum JSXAttributeValue<'a> {
|
||||
/// `<Component foo="bar" />`
|
||||
StringLiteral(Box<'a, StringLiteral<'a>>) = 0,
|
||||
@@ -463,7 +464,7 @@ pub enum JSXAttributeValue<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXIdentifier<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -482,7 +483,7 @@ pub struct JSXIdentifier<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum JSXChild<'a> {
|
||||
/// `<Foo>Some Text</Foo>`
|
||||
Text(Box<'a, JSXText<'a>>) = 0,
|
||||
@@ -502,7 +503,7 @@ pub enum JSXChild<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXSpreadChild<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -525,7 +526,7 @@ pub struct JSXSpreadChild<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct JSXText<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
pub node_id: Cell<NodeId>,
|
||||
|
||||
@@ -14,6 +14,7 @@ use oxc_regular_expression::ast::Pattern;
|
||||
use oxc_span::{ContentEq, GetSpan, GetSpanMut, Span};
|
||||
use oxc_str::Str;
|
||||
use oxc_syntax::{
|
||||
GetNodeId,
|
||||
node::NodeId,
|
||||
number::{BigintBase, NumberBase},
|
||||
};
|
||||
@@ -24,7 +25,7 @@ use oxc_syntax::{
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "Literal", add_fields(raw = BooleanLiteralRaw))]
|
||||
pub struct BooleanLiteral {
|
||||
/// Unique identifier for this AST node.
|
||||
@@ -41,7 +42,7 @@ pub struct BooleanLiteral {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "Literal", add_fields(value = Null, raw = NullLiteralRaw))]
|
||||
pub struct NullLiteral {
|
||||
/// Unique identifier for this AST node.
|
||||
@@ -56,7 +57,7 @@ pub struct NullLiteral {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "Literal")]
|
||||
pub struct NumericLiteral<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
@@ -83,7 +84,7 @@ pub struct NumericLiteral<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "Literal")]
|
||||
pub struct StringLiteral<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
@@ -117,7 +118,7 @@ pub struct StringLiteral<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug, Clone)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "Literal", add_fields(bigint = BigIntLiteralBigint))]
|
||||
pub struct BigIntLiteral<'a> {
|
||||
/// Unique identifier for this AST node.
|
||||
@@ -143,7 +144,7 @@ pub struct BigIntLiteral<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "Literal",
|
||||
add_fields(value = RegExpLiteralValue),
|
||||
|
||||
@@ -26,7 +26,7 @@ use oxc_ast_macros::ast;
|
||||
use oxc_estree::ESTree;
|
||||
use oxc_span::{ContentEq, GetSpan, GetSpanMut, Span};
|
||||
use oxc_str::Ident;
|
||||
use oxc_syntax::{node::NodeId, scope::ScopeId};
|
||||
use oxc_syntax::{GetNodeId, node::NodeId, scope::ScopeId};
|
||||
|
||||
use super::{js::*, literal::*};
|
||||
|
||||
@@ -43,7 +43,7 @@ use super::{js::*, literal::*};
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "Identifier",
|
||||
add_fields(decorators = EmptyArray, name = This, optional = False),
|
||||
@@ -81,7 +81,7 @@ pub struct TSThisParameter<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSEnumDeclaration<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -108,7 +108,7 @@ pub struct TSEnumDeclaration<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSEnumBody<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -136,7 +136,7 @@ pub struct TSEnumBody<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(add_fields(computed = TSEnumMemberComputed))]
|
||||
pub struct TSEnumMember<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -162,7 +162,7 @@ pub struct TSEnumMember<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum TSEnumMemberName<'a> {
|
||||
Identifier(Box<'a, IdentifierName<'a>>) = 0,
|
||||
String(Box<'a, StringLiteral<'a>>) = 1,
|
||||
@@ -185,7 +185,7 @@ pub enum TSEnumMemberName<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTypeAnnotation<'a> {
|
||||
/// starts at the `:` token and ends at the end of the type annotation
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -211,7 +211,7 @@ pub struct TSTypeAnnotation<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSLiteralType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -222,7 +222,7 @@ pub struct TSLiteralType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum TSLiteral<'a> {
|
||||
BooleanLiteral(Box<'a, BooleanLiteral>) = 0,
|
||||
NumericLiteral(Box<'a, NumericLiteral<'a>>) = 1,
|
||||
@@ -246,7 +246,7 @@ pub enum TSLiteral<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum TSType<'a> {
|
||||
// Keyword
|
||||
TSAnyKeyword(Box<'a, TSAnyKeyword>) = 0,
|
||||
@@ -307,7 +307,7 @@ pub enum TSType<'a> {
|
||||
#[scope(flags = ScopeFlags::TsConditional)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSConditionalType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -336,7 +336,7 @@ pub struct TSConditionalType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSUnionType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -360,7 +360,7 @@ pub struct TSUnionType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSIntersectionType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -379,7 +379,7 @@ pub struct TSIntersectionType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(via = TSParenthesizedTypeConverter)]
|
||||
pub struct TSParenthesizedType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -399,7 +399,7 @@ pub struct TSParenthesizedType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTypeOperator<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -432,7 +432,7 @@ pub enum TSTypeOperatorOperator {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSArrayType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -453,7 +453,7 @@ pub struct TSArrayType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSIndexedAccessType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -473,7 +473,7 @@ pub struct TSIndexedAccessType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTupleType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -494,7 +494,7 @@ pub struct TSTupleType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSNamedTupleMember<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -515,7 +515,7 @@ pub struct TSNamedTupleMember<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSOptionalType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -533,7 +533,7 @@ pub struct TSOptionalType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSRestType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -550,7 +550,7 @@ pub struct TSRestType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum TSTupleElement<'a> {
|
||||
// Discriminants start at 64, so that `TSTupleElement::is_ts_type` is a single
|
||||
// bitwise AND operation on the discriminant (`discriminant & 63 != 0`).
|
||||
@@ -573,7 +573,7 @@ pub enum TSTupleElement<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSAnyKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -591,7 +591,7 @@ pub struct TSAnyKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSStringKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -609,7 +609,7 @@ pub struct TSStringKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSBooleanKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -627,7 +627,7 @@ pub struct TSBooleanKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSNumberKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -646,7 +646,7 @@ pub struct TSNumberKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSNeverKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -665,7 +665,7 @@ pub struct TSNeverKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSIntrinsicKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -685,7 +685,7 @@ pub struct TSIntrinsicKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSUnknownKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -704,7 +704,7 @@ pub struct TSUnknownKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSNullKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -725,7 +725,7 @@ pub struct TSNullKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSUndefinedKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -734,7 +734,7 @@ pub struct TSUndefinedKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSVoidKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -743,7 +743,7 @@ pub struct TSVoidKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSSymbolKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -752,7 +752,7 @@ pub struct TSSymbolKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSThisType {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -761,7 +761,7 @@ pub struct TSThisType {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSObjectKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -770,7 +770,7 @@ pub struct TSObjectKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSBigIntKeyword {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -790,7 +790,7 @@ pub struct TSBigIntKeyword {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTypeReference<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -805,7 +805,7 @@ pub struct TSTypeReference<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum TSTypeName<'a> {
|
||||
IdentifierReference(Box<'a, IdentifierReference<'a>>) = 0,
|
||||
QualifiedName(Box<'a, TSQualifiedName<'a>>) = 1,
|
||||
@@ -824,7 +824,7 @@ pub enum TSTypeName<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSQualifiedName<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -835,7 +835,7 @@ pub struct TSQualifiedName<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTypeParameterInstantiation<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -862,7 +862,7 @@ pub struct TSTypeParameterInstantiation<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTypeParameter<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -883,7 +883,7 @@ pub struct TSTypeParameter<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTypeParameterDeclaration<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -902,7 +902,7 @@ pub struct TSTypeParameterDeclaration<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTypeAliasDeclaration<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -937,7 +937,7 @@ pub enum TSAccessibility {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[plural(TSClassImplementsList)]
|
||||
pub struct TSClassImplements<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -966,7 +966,7 @@ pub struct TSClassImplements<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSInterfaceDeclaration<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -987,7 +987,7 @@ pub struct TSInterfaceDeclaration<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSInterfaceBody<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1012,7 +1012,7 @@ pub struct TSInterfaceBody<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(add_fields(accessibility = Null, r#static = False))]
|
||||
pub struct TSPropertySignature<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -1027,7 +1027,7 @@ pub struct TSPropertySignature<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum TSSignature<'a> {
|
||||
TSIndexSignature(Box<'a, TSIndexSignature<'a>>) = 0,
|
||||
TSPropertySignature(Box<'a, TSPropertySignature<'a>>) = 1,
|
||||
@@ -1050,7 +1050,7 @@ pub enum TSSignature<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(add_fields(accessibility = Null))]
|
||||
pub struct TSIndexSignature<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -1066,7 +1066,7 @@ pub struct TSIndexSignature<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSCallSignatureDeclaration<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1103,7 +1103,7 @@ pub enum TSMethodSignatureKind {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(add_fields(accessibility = Null, readonly = False, r#static = False))]
|
||||
pub struct TSMethodSignature<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -1126,7 +1126,7 @@ pub struct TSMethodSignature<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSConstructSignatureDeclaration<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1139,7 +1139,7 @@ pub struct TSConstructSignatureDeclaration<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "Identifier",
|
||||
add_fields(decorators = EmptyArray, optional = False),
|
||||
@@ -1155,7 +1155,7 @@ pub struct TSIndexSignatureName<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSInterfaceHeritage<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1187,7 +1187,7 @@ pub struct TSInterfaceHeritage<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTypePredicate<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1205,7 +1205,8 @@ pub struct TSTypePredicate<'a> {
|
||||
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn, ContentEq, ESTree, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum TSTypePredicateName<'a> {
|
||||
Identifier(Box<'a, IdentifierName<'a>>) = 0,
|
||||
This(Box<'a, TSThisType>) = 1,
|
||||
@@ -1225,7 +1226,7 @@ pub enum TSTypePredicateName<'a> {
|
||||
)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "TSModuleDeclaration",
|
||||
ts_alias = "TSModuleDeclaration",
|
||||
@@ -1269,7 +1270,7 @@ pub struct TSExternalModuleDeclaration<'a> {
|
||||
)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "TSModuleDeclaration",
|
||||
ts_alias = "TSModuleDeclaration",
|
||||
@@ -1300,7 +1301,7 @@ pub enum TSNamespaceDeclarationKind {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
#[estree(no_ts_def)]
|
||||
pub enum TSNamespaceDeclarationBody<'a> {
|
||||
TSNamespaceDeclaration(Box<'a, TSNamespaceDeclaration<'a>>) = 0,
|
||||
@@ -1325,7 +1326,7 @@ pub enum TSNamespaceDeclarationBody<'a> {
|
||||
#[scope(flags = ScopeFlags::TsModuleBlock)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(
|
||||
rename = "TSModuleDeclaration",
|
||||
add_fields(id = TSGlobalDeclarationId, kind = Global, global = True),
|
||||
@@ -1347,7 +1348,7 @@ pub struct TSGlobalDeclaration<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSModuleBlock<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1359,7 +1360,7 @@ pub struct TSModuleBlock<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTypeLiteral<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1382,7 +1383,7 @@ pub struct TSTypeLiteral<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSInferType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1402,7 +1403,7 @@ pub struct TSInferType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTypeQuery<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1418,7 +1419,7 @@ pub struct TSTypeQuery<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum TSTypeQueryExprName<'a> {
|
||||
/// `type foo = typeof import('foo')`
|
||||
TSImportType(Box<'a, TSImportType<'a>>) = 3,
|
||||
@@ -1440,7 +1441,7 @@ pub enum TSTypeQueryExprName<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSImportType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1461,7 +1462,7 @@ pub struct TSImportType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum TSImportTypeQualifier<'a> {
|
||||
Identifier(Box<'a, IdentifierName<'a>>) = 0,
|
||||
QualifiedName(Box<'a, TSImportTypeQualifiedName<'a>>) = 1,
|
||||
@@ -1473,7 +1474,7 @@ pub enum TSImportTypeQualifier<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "TSQualifiedName")]
|
||||
pub struct TSImportTypeQualifiedName<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -1494,7 +1495,7 @@ pub struct TSImportTypeQualifiedName<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSFunctionType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1530,7 +1531,7 @@ pub struct TSFunctionType<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSConstructorType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1566,7 +1567,7 @@ pub struct TSConstructorType<'a> {
|
||||
#[scope]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(field_order(key, constraint, name_type, type_annotation, optional, readonly, span))]
|
||||
pub struct TSMappedType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -1634,7 +1635,7 @@ pub enum TSMappedTypeModifierOperator {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTemplateLiteralType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1647,7 +1648,7 @@ pub struct TSTemplateLiteralType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSAsExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1670,7 +1671,7 @@ pub struct TSAsExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSSatisfiesExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1691,7 +1692,7 @@ pub struct TSSatisfiesExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSTypeAssertion<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1702,7 +1703,7 @@ pub struct TSTypeAssertion<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSImportEqualsDeclaration<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1725,7 +1726,7 @@ pub struct TSImportEqualsDeclaration<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetSpan, GetSpanMut)]
|
||||
#[generate_derive(ContentEq, ESTree, GetAddress, GetNodeId, GetSpan, GetSpanMut)]
|
||||
pub enum TSModuleReference<'a> {
|
||||
ExternalModuleReference(Box<'a, TSExternalModuleReference<'a>>) = 0,
|
||||
IdentifierReference(Box<'a, IdentifierReference<'a>>) = 1,
|
||||
@@ -1735,7 +1736,7 @@ pub enum TSModuleReference<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSExternalModuleReference<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1745,7 +1746,7 @@ pub struct TSExternalModuleReference<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSNonNullExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1779,7 +1780,7 @@ pub struct TSNonNullExpression<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct Decorator<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1792,7 +1793,7 @@ pub struct Decorator<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSExportAssignment<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1805,7 +1806,7 @@ pub struct TSExportAssignment<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSNamespaceExportDeclaration<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1815,7 +1816,7 @@ pub struct TSNamespaceExportDeclaration<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
pub struct TSInstantiationExpression<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
pub span: Span,
|
||||
@@ -1840,7 +1841,7 @@ pub enum ImportOrExportKind {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "TSJSDocNullableType")]
|
||||
pub struct JSDocNullableType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -1854,7 +1855,7 @@ pub struct JSDocNullableType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "TSJSDocNonNullableType")]
|
||||
pub struct JSDocNonNullableType<'a> {
|
||||
pub node_id: Cell<NodeId>,
|
||||
@@ -1867,7 +1868,7 @@ pub struct JSDocNonNullableType<'a> {
|
||||
#[ast(visit)]
|
||||
#[derive(Debug)]
|
||||
#[generate_derive(CloneIn, Dummy, ReplaceWith, TakeIn)]
|
||||
#[generate_derive(ContentEq, ESTree, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[generate_derive(ContentEq, ESTree, GetNodeId, GetSpan, GetSpanMut, UnstableAddress)]
|
||||
#[estree(rename = "TSJSDocUnknownType")]
|
||||
pub struct JSDocUnknownType {
|
||||
pub node_id: Cell<NodeId>,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -63,6 +63,7 @@ mod generated {
|
||||
#[cfg(feature = "serialize")]
|
||||
mod derive_estree;
|
||||
mod derive_get_address;
|
||||
mod derive_get_node_id;
|
||||
mod derive_get_span;
|
||||
mod derive_get_span_mut;
|
||||
mod derive_replace_with;
|
||||
|
||||
@@ -12,6 +12,7 @@ pub fn get_trait_crate_and_generics(trait_name: &str) -> Option<(TokenStream, To
|
||||
"ReplaceWith" => (quote!(::oxc_allocator::ReplaceWith), quote!(< 'static >)),
|
||||
"GetAddress" => (quote!(::oxc_allocator::GetAddress), TokenStream::new()),
|
||||
"UnstableAddress" => (quote!(::oxc_allocator::UnstableAddress), TokenStream::new()),
|
||||
"GetNodeId" => (quote!(::oxc_syntax::GetNodeId), TokenStream::new()),
|
||||
"GetSpan" => (quote!(::oxc_span::GetSpan), TokenStream::new()),
|
||||
"GetSpanMut" => (quote!(::oxc_span::GetSpanMut), TokenStream::new()),
|
||||
"ContentEq" => (quote!(::oxc_span::ContentEq), TokenStream::new()),
|
||||
|
||||
@@ -23,6 +23,8 @@ mod serialize;
|
||||
pub mod symbol;
|
||||
pub mod xml_entities;
|
||||
|
||||
pub use node::GetNodeId;
|
||||
|
||||
mod generated {
|
||||
#[cfg(debug_assertions)]
|
||||
mod assert_layouts;
|
||||
|
||||
@@ -53,6 +53,14 @@ impl<'alloc> CloneIn<'alloc> for NodeId {
|
||||
|
||||
impl SemanticId for NodeId {}
|
||||
|
||||
/// Get the [`NodeId`] of given AST node.
|
||||
///
|
||||
/// Only use this method on a post-semantic AST where [`NodeId`]s are always defined.
|
||||
pub trait GetNodeId {
|
||||
/// Get the [`NodeId`] for an AST node.
|
||||
fn node_id(&self) -> NodeId;
|
||||
}
|
||||
|
||||
bitflags! {
|
||||
/// Contains additional information about an AST node.
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
//! Derive for `GetNodeId` trait.
|
||||
|
||||
use proc_macro2::TokenStream;
|
||||
use quote::quote;
|
||||
|
||||
use crate::schema::{Def, Schema};
|
||||
|
||||
use super::{Derive, StructOrEnum, define_derive};
|
||||
|
||||
/// Derive for `GetNodeId` trait.
|
||||
pub struct DeriveGetNodeId;
|
||||
|
||||
define_derive!(DeriveGetNodeId);
|
||||
|
||||
impl Derive for DeriveGetNodeId {
|
||||
fn trait_name(&self) -> &'static str {
|
||||
"GetNodeId"
|
||||
}
|
||||
|
||||
fn crate_name(&self) -> &'static str {
|
||||
"oxc_syntax"
|
||||
}
|
||||
|
||||
fn prelude(&self) -> TokenStream {
|
||||
quote! {
|
||||
use oxc_syntax::{GetNodeId, node::NodeId};
|
||||
}
|
||||
}
|
||||
|
||||
fn derive(&self, type_def: StructOrEnum, schema: &Schema) -> TokenStream {
|
||||
let ty = type_def.ty_anon(schema);
|
||||
|
||||
quote! {
|
||||
impl GetNodeId for #ty {
|
||||
#[inline]
|
||||
fn node_id(&self) -> NodeId {
|
||||
self.node_id()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,7 @@ mod content_eq;
|
||||
mod dummy;
|
||||
pub mod estree;
|
||||
mod get_address;
|
||||
mod get_node_id;
|
||||
mod get_span;
|
||||
mod replace_with;
|
||||
mod take_in;
|
||||
@@ -29,6 +30,7 @@ pub use content_eq::DeriveContentEq;
|
||||
pub use dummy::DeriveDummy;
|
||||
pub use estree::DeriveESTree;
|
||||
pub use get_address::DeriveGetAddress;
|
||||
pub use get_node_id::DeriveGetNodeId;
|
||||
pub use get_span::{DeriveGetSpan, DeriveGetSpanMut};
|
||||
pub use replace_with::DeriveReplaceWith;
|
||||
pub use take_in::DeriveTakeIn;
|
||||
|
||||
@@ -251,6 +251,7 @@ const DERIVES: &[&(dyn Derive + Sync)] = &[
|
||||
&derives::DeriveReplaceWith,
|
||||
&derives::DeriveGetAddress,
|
||||
&derives::DeriveUnstableAddress,
|
||||
&derives::DeriveGetNodeId,
|
||||
&derives::DeriveGetSpan,
|
||||
&derives::DeriveGetSpanMut,
|
||||
&derives::DeriveContentEq,
|
||||
|
||||
Reference in New Issue
Block a user