Crate swc_ecma_ast

Source

Macros§

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

Structs§

ArchivedArrayLit
An archived ArrayLit
ArchivedArrowExpr
An archived ArrowExpr
ArchivedAssignExpr
An archived AssignExpr
ArchivedAwaitExpr
An archived AwaitExpr
ArchivedBinExpr
An archived BinExpr
ArchivedCallExpr
An archived CallExpr
ArchivedClassExpr
An archived ClassExpr
ArchivedCondExpr
An archived CondExpr
ArchivedExprOrSpread
An archived ExprOrSpread
ArchivedFnExpr
An archived FnExpr
ArchivedImport
An archived Import
ArchivedInvalid
An archived Invalid
ArchivedMemberExpr
An archived MemberExpr
ArchivedMetaPropExpr
An archived MetaPropExpr
ArchivedNewExpr
An archived NewExpr
ArchivedObjectLit
An archived ObjectLit
ArchivedOptCall
An archived OptCall
ArchivedOptChainExpr
An archived OptChainExpr
ArchivedParenExpr
An archived ParenExpr
ArchivedSeqExpr
An archived SeqExpr
ArchivedSpreadElement
An archived SpreadElement
ArchivedSuper
An archived Super
ArchivedSuperPropExpr
An archived SuperPropExpr
ArchivedTaggedTpl
An archived TaggedTpl
ArchivedThisExpr
An archived ThisExpr
ArchivedTpl
An archived Tpl
ArchivedTplElement
An archived TplElement
ArchivedUnaryExpr
An archived UnaryExpr
ArchivedUpdateExpr
An archived UpdateExpr
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
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
ArchivedAssignTarget
An archived AssignTarget
ArchivedAssignTargetPat
An archived AssignTargetPat
ArchivedBlockStmtOrExpr
An archived BlockStmtOrExpr
ArchivedCallee
An archived Callee
ArchivedExpr
An archived Expr
ArchivedMemberProp
An archived MemberProp
ArchivedMetaPropKind
An archived MetaPropKind
ArchivedOptChainBase
An archived OptChainBase
ArchivedPropOrSpread
An archived PropOrSpread
ArchivedSimpleAssignTarget
An archived SimpleAssignTarget
ArchivedSuperProp
An archived SuperProp
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.