Module ast

Source
Available on crate features __ecma and ecma_ast only.

Macros§

op
Creates a corresponding operator. This macro is used to make code more readable.

Structs§

ArchivedArrayLit
An archived ArrayLit
ArchivedArrayPat
An archived ArrayPat
ArchivedArrowExpr
An archived ArrowExpr
ArchivedAssignExpr
An archived AssignExpr
ArchivedAssignPat
An archived AssignPat
ArchivedAssignPatProp
An archived AssignPatProp
ArchivedAssignProp
An archived AssignProp
ArchivedAutoAccessor
An archived AutoAccessor
ArchivedAwaitExpr
An archived AwaitExpr
ArchivedBigInt
An archived BigInt
ArchivedBinExpr
An archived BinExpr
ArchivedBindingIdent
An archived BindingIdent
ArchivedBlockStmt
An archived BlockStmt
ArchivedBool
An archived Bool
ArchivedBreakStmt
An archived BreakStmt
ArchivedCallExpr
An archived CallExpr
ArchivedCatchClause
An archived CatchClause
ArchivedClass
An archived Class
ArchivedClassDecl
An archived ClassDecl
ArchivedClassExpr
An archived ClassExpr
ArchivedClassMethod
An archived ClassMethod
ArchivedClassProp
An archived ClassProp
ArchivedComputedPropName
An archived ComputedPropName
ArchivedCondExpr
An archived CondExpr
ArchivedConstructor
An archived Constructor
ArchivedContinueStmt
An archived ContinueStmt
ArchivedDebuggerStmt
An archived DebuggerStmt
ArchivedDecorator
An archived Decorator
ArchivedDoWhileStmt
An archived DoWhileStmt
ArchivedEmptyStmt
An archived EmptyStmt
ArchivedExportAll
An archived ExportAll
ArchivedExportDecl
An archived ExportDecl
ArchivedExportDefaultDecl
An archived ExportDefaultDecl
ArchivedExportDefaultExpr
An archived ExportDefaultExpr
ArchivedExportDefaultSpecifier
An archived ExportDefaultSpecifier
ArchivedExportNamedSpecifier
An archived ExportNamedSpecifier
ArchivedExportNamespaceSpecifier
An archived ExportNamespaceSpecifier
ArchivedExprOrSpread
An archived ExprOrSpread
ArchivedExprStmt
An archived ExprStmt
ArchivedFnDecl
An archived FnDecl
ArchivedFnExpr
An archived FnExpr
ArchivedForInStmt
An archived ForInStmt
ArchivedForOfStmt
An archived ForOfStmt
ArchivedForStmt
An archived ForStmt
ArchivedFunction
An archived Function
ArchivedGetterProp
An archived GetterProp
ArchivedIdent
An archived Ident
ArchivedIdentName
An archived IdentName
ArchivedIfStmt
An archived IfStmt
ArchivedImport
An archived Import
ArchivedImportDecl
An archived ImportDecl
ArchivedImportDefaultSpecifier
An archived ImportDefaultSpecifier
ArchivedImportNamedSpecifier
An archived ImportNamedSpecifier
ArchivedImportStarAsSpecifier
An archived ImportStarAsSpecifier
ArchivedInvalid
An archived Invalid
ArchivedJSXAttr
An archived JSXAttr
ArchivedJSXClosingElement
An archived JSXClosingElement
ArchivedJSXClosingFragment
An archived JSXClosingFragment
ArchivedJSXElement
An archived JSXElement
ArchivedJSXEmptyExpr
An archived JSXEmptyExpr
ArchivedJSXExprContainer
An archived JSXExprContainer
ArchivedJSXFragment
An archived JSXFragment
ArchivedJSXMemberExpr
An archived JSXMemberExpr
ArchivedJSXNamespacedName
An archived JSXNamespacedName
ArchivedJSXOpeningElement
An archived JSXOpeningElement
ArchivedJSXOpeningFragment
An archived JSXOpeningFragment
ArchivedJSXSpreadChild
An archived JSXSpreadChild
ArchivedJSXText
An archived JSXText
ArchivedKeyValuePatProp
An archived KeyValuePatProp
ArchivedKeyValueProp
An archived KeyValueProp
ArchivedLabeledStmt
An archived LabeledStmt
ArchivedMemberExpr
An archived MemberExpr
ArchivedMetaPropExpr
An archived MetaPropExpr
ArchivedMethodProp
An archived MethodProp
ArchivedModule
An archived Module
ArchivedNamedExport
An archived NamedExport
ArchivedNewExpr
An archived NewExpr
ArchivedNull
An archived Null
ArchivedNumber
An archived Number
ArchivedObjectLit
An archived ObjectLit
ArchivedObjectPat
An archived ObjectPat
ArchivedOptCall
An archived OptCall
ArchivedOptChainExpr
An archived OptChainExpr
ArchivedParam
An archived Param
ArchivedParenExpr
An archived ParenExpr
ArchivedPrivateMethod
An archived PrivateMethod
ArchivedPrivateName
An archived PrivateName
ArchivedPrivateProp
An archived PrivateProp
ArchivedRegex
An archived Regex
ArchivedRestPat
An archived RestPat
ArchivedReturnStmt
An archived ReturnStmt
ArchivedScript
An archived Script
ArchivedSeqExpr
An archived SeqExpr
ArchivedSetterProp
An archived SetterProp
ArchivedSpreadElement
An archived SpreadElement
ArchivedStaticBlock
An archived StaticBlock
ArchivedStr
An archived Str
ArchivedSuper
An archived Super
ArchivedSuperPropExpr
An archived SuperPropExpr
ArchivedSwitchCase
An archived SwitchCase
ArchivedSwitchStmt
An archived SwitchStmt
ArchivedTaggedTpl
An archived TaggedTpl
ArchivedThisExpr
An archived ThisExpr
ArchivedThrowStmt
An archived ThrowStmt
ArchivedTpl
An archived Tpl
ArchivedTplElement
An archived TplElement
ArchivedTryStmt
An archived TryStmt
ArchivedTsArrayType
An archived TsArrayType
ArchivedTsAsExpr
An archived TsAsExpr
ArchivedTsCallSignatureDecl
An archived TsCallSignatureDecl
ArchivedTsConditionalType
An archived TsConditionalType
ArchivedTsConstAssertion
An archived TsConstAssertion
ArchivedTsConstructSignatureDecl
An archived TsConstructSignatureDecl
ArchivedTsConstructorType
An archived TsConstructorType
ArchivedTsEnumDecl
An archived TsEnumDecl
ArchivedTsEnumMember
An archived TsEnumMember
ArchivedTsExportAssignment
An archived TsExportAssignment
ArchivedTsExprWithTypeArgs
An archived TsExprWithTypeArgs
ArchivedTsExternalModuleRef
An archived TsExternalModuleRef
ArchivedTsFnType
An archived TsFnType
ArchivedTsGetterSignature
An archived TsGetterSignature
ArchivedTsImportEqualsDecl
An archived TsImportEqualsDecl
ArchivedTsImportType
An archived TsImportType
ArchivedTsIndexSignature
An archived TsIndexSignature
ArchivedTsIndexedAccessType
An archived TsIndexedAccessType
ArchivedTsInferType
An archived TsInferType
ArchivedTsInstantiation
An archived TsInstantiation
ArchivedTsInterfaceBody
An archived TsInterfaceBody
ArchivedTsInterfaceDecl
An archived TsInterfaceDecl
ArchivedTsIntersectionType
An archived TsIntersectionType
ArchivedTsKeywordType
An archived TsKeywordType
ArchivedTsLitType
An archived TsLitType
ArchivedTsMappedType
An archived TsMappedType
ArchivedTsMethodSignature
An archived TsMethodSignature
ArchivedTsModuleBlock
An archived TsModuleBlock
ArchivedTsModuleDecl
An archived TsModuleDecl
ArchivedTsNamespaceDecl
An archived TsNamespaceDecl
ArchivedTsNamespaceExportDecl
An archived TsNamespaceExportDecl
ArchivedTsNonNullExpr
An archived TsNonNullExpr
ArchivedTsOptionalType
An archived TsOptionalType
ArchivedTsParamProp
An archived TsParamProp
ArchivedTsParenthesizedType
An archived TsParenthesizedType
ArchivedTsPropertySignature
An archived TsPropertySignature
ArchivedTsQualifiedName
An archived TsQualifiedName
ArchivedTsRestType
An archived TsRestType
ArchivedTsSatisfiesExpr
An archived TsSatisfiesExpr
ArchivedTsSetterSignature
An archived TsSetterSignature
ArchivedTsThisType
An archived TsThisType
ArchivedTsTplLitType
An archived TsTplLitType
ArchivedTsTupleElement
An archived TsTupleElement
ArchivedTsTupleType
An archived TsTupleType
ArchivedTsTypeAliasDecl
An archived TsTypeAliasDecl
ArchivedTsTypeAnn
An archived TsTypeAnn
ArchivedTsTypeAssertion
An archived TsTypeAssertion
ArchivedTsTypeLit
An archived TsTypeLit
ArchivedTsTypeOperator
An archived TsTypeOperator
ArchivedTsTypeParam
An archived TsTypeParam
ArchivedTsTypeParamDecl
An archived TsTypeParamDecl
ArchivedTsTypeParamInstantiation
An archived TsTypeParamInstantiation
ArchivedTsTypePredicate
An archived TsTypePredicate
ArchivedTsTypeQuery
An archived TsTypeQuery
ArchivedTsTypeRef
An archived TsTypeRef
ArchivedTsUnionType
An archived TsUnionType
ArchivedUnaryExpr
An archived UnaryExpr
ArchivedUpdateExpr
An archived UpdateExpr
ArchivedUsingDecl
An archived UsingDecl
ArchivedVarDecl
An archived VarDecl
ArchivedVarDeclarator
An archived VarDeclarator
ArchivedWhileStmt
An archived WhileStmt
ArchivedWithStmt
An archived WithStmt
ArchivedYieldExpr
An archived YieldExpr
ArrayLit
Array literal.
ArrayLitResolver
The resolver for an archived ArrayLit
ArrayPat
ArrowExpr
ArrowExprResolver
The resolver for an archived ArrowExpr
AssignExpr
AssignExprResolver
The resolver for an archived AssignExpr
AssignPat
AssignPatProp
{key} or {key = value}
AssignProp
AutoAccessor
AwaitExpr
AwaitExprResolver
The resolver for an archived AwaitExpr
BigInt
BigIntValue
A big signed integer type.
BinExpr
BinExprResolver
The resolver for an archived BinExpr
BindingIdent
Identifier used as a pattern.
BlockStmt
Use when only block statements are allowed.
Bool
A boolean literal.
BreakStmt
CallExpr
CallExprResolver
The resolver for an archived CallExpr
CatchClause
Class
ClassDecl
ClassExpr
Class expression.
ClassExprResolver
The resolver for an archived ClassExpr
ClassMethod
ClassProp
ComputedPropName
CondExpr
CondExprResolver
The resolver for an archived CondExpr
Constructor
ContinueStmt
DebuggerStmt
Decorator
DoWhileStmt
EmptyStmt
ExportAll
export * from 'mod'
ExportDecl
ExportDefaultDecl
ExportDefaultExpr
Default exports other than direct function expression or class expression.
ExportDefaultSpecifier
ExportNamedSpecifier
ExportNamespaceSpecifier
export * as foo from 'src';
ExprOrSpread
ExprOrSpreadResolver
The resolver for an archived ExprOrSpread
ExprStmt
FnDecl
FnExpr
Function expression.
FnExprResolver
The resolver for an archived FnExpr
ForInStmt
ForOfStmt
ForStmt
Function
Common parts of function and method.
GetterProp
Ident
A complete identifier with span.
IdentName
IfStmt
Import
ImportDecl
ImportDefaultSpecifier
e.g. import foo from 'mod.js'
ImportNamedSpecifier
e.g. local = foo, imported = None import { foo } from 'mod.js' e.g. local = bar, imported = Some(foo) for import { foo as bar } from 'mod.js'
ImportResolver
The resolver for an archived Import
ImportStarAsSpecifier
e.g. import * as foo from 'mod.js'.
ImportWith
According to the current spec with of crate::ImportDecl can only have strings or idents as keys, can’t be nested, can only have string literals as values:
ImportWithItem
Invalid
Represents a invalid node.
InvalidResolver
The resolver for an archived Invalid
JSXAttr
JSXClosingElement
JSXClosingFragment
JSXElement
JSXEmptyExpr
JSXExprContainer
JSXFragment
JSXMemberExpr
JSXNamespacedName
XML-based namespace syntax:
JSXOpeningElement
JSXOpeningFragment
JSXSpreadChild
JSXText
KeyValuePatProp
{key: value}
KeyValueProp
LabeledStmt
ListFormat
Represents the formatting rule for a list of nodes.
MemberExpr
MemberExprResolver
The resolver for an archived MemberExpr
MetaPropExpr
MetaPropExprResolver
The resolver for an archived MetaPropExpr
MethodProp
Module
NamedExport
export { foo } from 'mod' export { foo as bar } from 'mod'
NewExpr
NewExprResolver
The resolver for an archived NewExpr
Null
Number
A numeric literal.
ObjectLit
Object literal.
ObjectLitResolver
The resolver for an archived ObjectLit
ObjectPat
OptCall
OptCallResolver
The resolver for an archived OptCall
OptChainExpr
OptChainExprResolver
The resolver for an archived OptChainExpr
Param
ParenExpr
ParenExprResolver
The resolver for an archived ParenExpr
PrivateMethod
PrivateName
PrivateProp
Regex
RestPat
EsTree RestElement
ReturnStmt
Script
SeqExpr
SeqExprResolver
The resolver for an archived SeqExpr
SetterProp
SpreadElement
SpreadElementResolver
The resolver for an archived SpreadElement
StaticBlock
Str
A string literal.
Super
SuperPropExpr
SuperPropExprResolver
The resolver for an archived SuperPropExpr
SuperResolver
The resolver for an archived Super
SwitchCase
SwitchStmt
TaggedTpl
TaggedTplResolver
The resolver for an archived TaggedTpl
ThisExpr
ThisExprResolver
The resolver for an archived ThisExpr
ThrowStmt
Tpl
TplElement
TplElementResolver
The resolver for an archived TplElement
TplResolver
The resolver for an archived Tpl
TryStmt
TsArrayType
TsAsExpr
TsCallSignatureDecl
TsConditionalType
TsConstAssertion
TsConstructSignatureDecl
TsConstructorType
TsEnumDecl
TsEnumMember
TsExportAssignment
TypeScript’s own parser uses ExportAssignment for both export default and export =. But for @babel/parser, export default is an ExportDefaultDecl, so a TsExportAssignment is always export =.
TsExprWithTypeArgs
TsExternalModuleRef
TsFnType
TsGetterSignature
TsImportCallOptions
TsImportEqualsDecl
TsImportType
TsIndexSignature
TsIndexedAccessType
TsInferType
TsInstantiation
TsInterfaceBody
TsInterfaceDecl
TsIntersectionType
TsKeywordType
TsLitType
TsMappedType
TsMethodSignature
TsModuleBlock
TsModuleDecl
TsNamespaceDecl
TsNamespaceExportDecl
TsNonNullExpr
TsOptionalType
TsParamProp
TsParenthesizedType
TsPropertySignature
TsQualifiedName
TsRestType
TsSatisfiesExpr
TsSetterSignature
TsThisType
TsTplLitType
TsTupleElement
TsTupleType
TsTypeAliasDecl
TsTypeAnn
TsTypeAssertion
TsTypeLit
TsTypeOperator
TsTypeParam
TsTypeParamDecl
TsTypeParamInstantiation
TsTypePredicate
TsTypeQuery
typeof operator
TsTypeRef
TsUnionType
UnaryExpr
UnaryExprResolver
The resolver for an archived UnaryExpr
UpdateExpr
UpdateExprResolver
The resolver for an archived UpdateExpr
UsingDecl
VarDecl
VarDeclarator
WhileStmt
WithStmt
YieldExpr
YieldExprResolver
The resolver for an archived YieldExpr

Enums§

Accessibility
ArchivedAccessibility
An archived Accessibility
ArchivedAssignOp
An archived AssignOp
ArchivedAssignTarget
An archived AssignTarget
ArchivedAssignTargetPat
An archived AssignTargetPat
ArchivedBinaryOp
An archived BinaryOp
ArchivedBlockStmtOrExpr
An archived BlockStmtOrExpr
ArchivedCallee
An archived Callee
ArchivedClassMember
An archived ClassMember
ArchivedDecl
An archived Decl
ArchivedDefaultDecl
An archived DefaultDecl
ArchivedExportSpecifier
An archived ExportSpecifier
ArchivedExpr
An archived Expr
ArchivedForHead
An archived ForHead
ArchivedImportSpecifier
An archived ImportSpecifier
ArchivedJSXAttrName
An archived JSXAttrName
ArchivedJSXAttrOrSpread
An archived JSXAttrOrSpread
ArchivedJSXAttrValue
An archived JSXAttrValue
ArchivedJSXElementChild
An archived JSXElementChild
ArchivedJSXElementName
An archived JSXElementName
ArchivedJSXExpr
An archived JSXExpr
ArchivedJSXObject
An archived JSXObject
ArchivedKey
An archived Key
ArchivedLit
An archived Lit
ArchivedMemberProp
An archived MemberProp
ArchivedMetaPropKind
An archived MetaPropKind
ArchivedMethodKind
An archived MethodKind
ArchivedModuleDecl
An archived ModuleDecl
ArchivedModuleExportName
An archived ModuleExportName
ArchivedModuleItem
An archived ModuleItem
ArchivedObjectPatProp
An archived ObjectPatProp
ArchivedOptChainBase
An archived OptChainBase
ArchivedParamOrTsParamProp
An archived ParamOrTsParamProp
ArchivedPat
An archived Pat
ArchivedProgram
An archived Program
ArchivedProp
An archived Prop
ArchivedPropName
An archived PropName
ArchivedPropOrSpread
An archived PropOrSpread
ArchivedSimpleAssignTarget
An archived SimpleAssignTarget
ArchivedStmt
An archived Stmt
ArchivedSuperProp
An archived SuperProp
ArchivedTruePlusMinus
An archived TruePlusMinus
ArchivedTsEntityName
An archived TsEntityName
ArchivedTsEnumMemberId
An archived TsEnumMemberId
ArchivedTsFnOrConstructorType
An archived TsFnOrConstructorType
ArchivedTsFnParam
An archived TsFnParam
ArchivedTsKeywordTypeKind
An archived TsKeywordTypeKind
ArchivedTsLit
An archived TsLit
ArchivedTsModuleName
An archived TsModuleName
ArchivedTsModuleRef
An archived TsModuleRef
ArchivedTsNamespaceBody
An archived TsNamespaceBody
ArchivedTsParamPropParam
An archived TsParamPropParam
ArchivedTsThisTypeOrIdent
An archived TsThisTypeOrIdent
ArchivedTsType
An archived TsType
ArchivedTsTypeElement
An archived TsTypeElement
ArchivedTsTypeOperatorOp
An archived TsTypeOperatorOp
ArchivedTsTypeQueryExpr
An archived TsTypeQueryExpr
ArchivedTsUnionOrIntersectionType
An archived TsUnionOrIntersectionType
ArchivedUnaryOp
An archived UnaryOp
ArchivedUpdateOp
An archived UpdateOp
ArchivedVarDeclKind
An archived VarDeclKind
ArchivedVarDeclOrExpr
An archived VarDeclOrExpr
AssignOp
AssignTarget
AssignTargetPat
AssignTargetPatResolver
The resolver for an archived AssignTargetPat
AssignTargetResolver
The resolver for an archived AssignTarget
BinaryOp
BlockStmtOrExpr
BlockStmtOrExprResolver
The resolver for an archived BlockStmtOrExpr
Callee
CalleeResolver
The resolver for an archived Callee
ClassMember
Decl
DefaultDecl
EsVersion
Note: This type implements Serailize and Deserialize if serde is enabled, instead of requiring serde-impl feature.
ExportSpecifier
Expr
ExprResolver
The resolver for an archived Expr
ForHead
A head for for-in and for-of loop.
ImportPhase
ImportSpecifier
JSXAttrName
JSXAttrOrSpread
JSXAttrValue
JSXElementChild
JSXElementName
JSXExpr
JSXObject
Used for obj property of JSXMemberExpr.
Key
Either a private name or a public name.
Lit
MemberProp
MemberPropResolver
The resolver for an archived MemberProp
MetaPropKind
MetaPropKindResolver
The resolver for an archived MetaPropKind
MethodKind
ModuleDecl
ModuleExportName
ModuleItem
ObjectPatProp
OptChainBase
OptChainBaseResolver
The resolver for an archived OptChainBase
ParamOrTsParamProp
Pat
Program
Prop
PropName
PropOrSpread
PropOrSpreadResolver
The resolver for an archived PropOrSpread
SimpleAssignTarget
SimpleAssignTargetResolver
The resolver for an archived SimpleAssignTarget
Stmt
SuperProp
SuperPropResolver
The resolver for an archived SuperProp
TruePlusMinus
TsEntityName
TsEnumMemberId
Invalid: Ident with empty symbol.
TsFnOrConstructorType
TsFnParam
TsKeywordTypeKind
TsLit
TsModuleName
TsModuleRef
TsNamespaceBody
namespace A.B { } is a namespace named A with another TsNamespaceDecl as its body.
TsParamPropParam
TsThisTypeOrIdent
TsType
TsTypeElement
TsTypeOperatorOp
TsTypeQueryExpr
TsUnionOrIntersectionType
UnaryOp
UpdateOp
VarDeclKind
VarDeclOrExpr

Traits§

EsReserved
Pass
A map from the Program to the Program.
SourceMapperExt
SpanExt

Functions§

fn_pass
noop_pass
unsafe_id
This is extremely unsafe so don’t use it unless you know what you are doing.
unsafe_id_from_ident
This is extremely unsafe so don’t use it unless you know what you are doing.

Type Aliases§

Id
See Ident for documentation.
UnsafeId
UnsafeId is a wrapper around Id that does not allocate, but extremely unsafe.