Crate swc_ecma_ast
Available on crate features
__ecma
and __visit
only.Macros§
- Creates a corresponding operator. This macro is used to make code more readable.
Structs§
- An archived
ArrayLit
- An archived
ArrayPat
- An archived
ArrowExpr
- An archived
AssignExpr
- An archived
AssignPat
- An archived
AssignPatProp
- An archived
AssignProp
- An archived
AutoAccessor
- An archived
AwaitExpr
- An archived
BigInt
- An archived
BinExpr
- An archived
BindingIdent
- An archived
BlockStmt
- An archived
Bool
- An archived
BreakStmt
- An archived
CallExpr
- An archived
CatchClause
- An archived
Class
- An archived
ClassDecl
- An archived
ClassExpr
- An archived
ClassMethod
- An archived
ClassProp
- An archived
ComputedPropName
- An archived
CondExpr
- An archived
Constructor
- An archived
ContinueStmt
- An archived
DebuggerStmt
- An archived
Decorator
- An archived
DoWhileStmt
- An archived
EmptyStmt
- An archived
ExportAll
- An archived
ExportDecl
- An archived
ExportDefaultDecl
- An archived
ExportDefaultExpr
- An archived
ExportDefaultSpecifier
- An archived
ExportNamedSpecifier
- An archived
ExportNamespaceSpecifier
- An archived
ExprOrSpread
- An archived
ExprStmt
- An archived
FnDecl
- An archived
FnExpr
- An archived
ForInStmt
- An archived
ForOfStmt
- An archived
ForStmt
- An archived
Function
- An archived
GetterProp
- An archived
Ident
- An archived
IdentName
- An archived
IfStmt
- An archived
Import
- An archived
ImportDecl
- An archived
ImportDefaultSpecifier
- An archived
ImportNamedSpecifier
- An archived
ImportStarAsSpecifier
- An archived
Invalid
- An archived
JSXAttr
- An archived
JSXClosingElement
- An archived
JSXClosingFragment
- An archived
JSXElement
- An archived
JSXEmptyExpr
- An archived
JSXExprContainer
- An archived
JSXFragment
- An archived
JSXMemberExpr
- An archived
JSXNamespacedName
- An archived
JSXOpeningElement
- An archived
JSXOpeningFragment
- An archived
JSXSpreadChild
- An archived
JSXText
- An archived
KeyValuePatProp
- An archived
KeyValueProp
- An archived
LabeledStmt
- An archived
MemberExpr
- An archived
MetaPropExpr
- An archived
MethodProp
- An archived
Module
- An archived
NamedExport
- An archived
NewExpr
- An archived
Null
- An archived
Number
- An archived
ObjectLit
- An archived
ObjectPat
- An archived
OptCall
- An archived
OptChainExpr
- An archived
Param
- An archived
ParenExpr
- An archived
PrivateMethod
- An archived
PrivateName
- An archived
PrivateProp
- An archived
Regex
- An archived
RestPat
- An archived
ReturnStmt
- An archived
Script
- An archived
SeqExpr
- An archived
SetterProp
- An archived
SpreadElement
- An archived
StaticBlock
- An archived
Str
- An archived
Super
- An archived
SuperPropExpr
- An archived
SwitchCase
- An archived
SwitchStmt
- An archived
TaggedTpl
- An archived
ThisExpr
- An archived
ThrowStmt
- An archived
Tpl
- An archived
TplElement
- An archived
TryStmt
- An archived
TsArrayType
- An archived
TsAsExpr
- An archived
TsCallSignatureDecl
- An archived
TsConditionalType
- An archived
TsConstAssertion
- An archived
TsConstructSignatureDecl
- An archived
TsConstructorType
- An archived
TsEnumDecl
- An archived
TsEnumMember
- An archived
TsExportAssignment
- An archived
TsExprWithTypeArgs
- An archived
TsExternalModuleRef
- An archived
TsFnType
- An archived
TsGetterSignature
- An archived
TsImportEqualsDecl
- An archived
TsImportType
- An archived
TsIndexSignature
- An archived
TsIndexedAccessType
- An archived
TsInferType
- An archived
TsInstantiation
- An archived
TsInterfaceBody
- An archived
TsInterfaceDecl
- An archived
TsIntersectionType
- An archived
TsKeywordType
- An archived
TsLitType
- An archived
TsMappedType
- An archived
TsMethodSignature
- An archived
TsModuleBlock
- An archived
TsModuleDecl
- An archived
TsNamespaceDecl
- An archived
TsNamespaceExportDecl
- An archived
TsNonNullExpr
- An archived
TsOptionalType
- An archived
TsParamProp
- An archived
TsParenthesizedType
- An archived
TsPropertySignature
- An archived
TsQualifiedName
- An archived
TsRestType
- An archived
TsSatisfiesExpr
- An archived
TsSetterSignature
- An archived
TsThisType
- An archived
TsTplLitType
- An archived
TsTupleElement
- An archived
TsTupleType
- An archived
TsTypeAliasDecl
- An archived
TsTypeAnn
- An archived
TsTypeAssertion
- An archived
TsTypeLit
- An archived
TsTypeOperator
- An archived
TsTypeParam
- An archived
TsTypeParamDecl
- An archived
TsTypeParamInstantiation
- An archived
TsTypePredicate
- An archived
TsTypeQuery
- An archived
TsTypeRef
- An archived
TsUnionType
- An archived
UnaryExpr
- An archived
UpdateExpr
- An archived
UsingDecl
- An archived
VarDecl
- An archived
VarDeclarator
- An archived
WhileStmt
- An archived
WithStmt
- An archived
YieldExpr
- Array literal.
- The resolver for an archived
ArrayLit
- The resolver for an archived
ArrowExpr
- The resolver for an archived
AssignExpr
{key}
or{key = value}
- The resolver for an archived
AwaitExpr
- A big signed integer type.
- The resolver for an archived
BinExpr
- Identifier used as a pattern.
- Use when only block statements are allowed.
- A boolean literal.
- The resolver for an archived
CallExpr
- Class expression.
- The resolver for an archived
ClassExpr
- The resolver for an archived
CondExpr
export * from 'mod'
- Default exports other than direct function expression or class expression.
export * as foo from 'src';
- The resolver for an archived
ExprOrSpread
- Function expression.
- The resolver for an archived
FnExpr
- Common parts of function and method.
- A complete identifier with span.
- e.g.
import foo from 'mod.js'
- e.g. local = foo, imported = None
import { foo } from 'mod.js'
e.g. local = bar, imported = Some(foo) forimport { foo as bar } from 'mod.js'
- The resolver for an archived
Import
- e.g.
import * as foo from 'mod.js'
. - 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: - Represents a invalid node.
- The resolver for an archived
Invalid
- XML-based namespace syntax:
{key: value}
- Represents the formatting rule for a list of nodes.
- The resolver for an archived
MemberExpr
- The resolver for an archived
MetaPropExpr
export { foo } from 'mod'
export { foo as bar } from 'mod'
- The resolver for an archived
NewExpr
- A numeric literal.
- Object literal.
- The resolver for an archived
ObjectLit
- The resolver for an archived
OptCall
- The resolver for an archived
OptChainExpr
- The resolver for an archived
ParenExpr
- EsTree
RestElement
- The resolver for an archived
SeqExpr
- The resolver for an archived
SpreadElement
- A string literal.
- The resolver for an archived
SuperPropExpr
- The resolver for an archived
Super
- The resolver for an archived
TaggedTpl
- The resolver for an archived
ThisExpr
- The resolver for an archived
TplElement
- The resolver for an archived
Tpl
- TypeScript’s own parser uses ExportAssignment for both
export default
andexport =
. But for @babel/parser,export default
is an ExportDefaultDecl, so a TsExportAssignment is alwaysexport =
. typeof
operator- The resolver for an archived
UnaryExpr
- The resolver for an archived
UpdateExpr
- The resolver for an archived
YieldExpr
Enums§
- An archived
Accessibility
- An archived
AssignOp
- An archived
AssignTarget
- An archived
AssignTargetPat
- An archived
BinaryOp
- An archived
BlockStmtOrExpr
- An archived
Callee
- An archived
ClassMember
- An archived
Decl
- An archived
DefaultDecl
- An archived
ExportSpecifier
- An archived
Expr
- An archived
ForHead
- An archived
ImportSpecifier
- An archived
JSXAttrName
- An archived
JSXAttrOrSpread
- An archived
JSXAttrValue
- An archived
JSXElementChild
- An archived
JSXElementName
- An archived
JSXExpr
- An archived
JSXObject
- An archived
Key
- An archived
Lit
- An archived
MemberProp
- An archived
MetaPropKind
- An archived
MethodKind
- An archived
ModuleDecl
- An archived
ModuleExportName
- An archived
ModuleItem
- An archived
ObjectPatProp
- An archived
OptChainBase
- An archived
ParamOrTsParamProp
- An archived
Pat
- An archived
Program
- An archived
Prop
- An archived
PropName
- An archived
PropOrSpread
- An archived
SimpleAssignTarget
- An archived
Stmt
- An archived
SuperProp
- An archived
TruePlusMinus
- An archived
TsEntityName
- An archived
TsEnumMemberId
- An archived
TsFnOrConstructorType
- An archived
TsFnParam
- An archived
TsKeywordTypeKind
- An archived
TsLit
- An archived
TsModuleName
- An archived
TsModuleRef
- An archived
TsNamespaceBody
- An archived
TsParamPropParam
- An archived
TsThisTypeOrIdent
- An archived
TsType
- An archived
TsTypeElement
- An archived
TsTypeOperatorOp
- An archived
TsTypeQueryExpr
- An archived
TsUnionOrIntersectionType
- An archived
UnaryOp
- An archived
UpdateOp
- An archived
VarDeclKind
- An archived
VarDeclOrExpr
- The resolver for an archived
AssignTargetPat
- The resolver for an archived
AssignTarget
- The resolver for an archived
BlockStmtOrExpr
- The resolver for an archived
Callee
- Note: This type implements
Serailize
andDeserialize
ifserde
is enabled, instead of requiringserde-impl
feature. - The resolver for an archived
Expr
- A head for for-in and for-of loop.
- Used for
obj
property ofJSXMemberExpr
. - Either a private name or a public name.
- The resolver for an archived
MemberProp
- The resolver for an archived
MetaPropKind
- The resolver for an archived
OptChainBase
- The resolver for an archived
PropOrSpread
- The resolver for an archived
SimpleAssignTarget
- The resolver for an archived
SuperProp
- Invalid: Ident with empty symbol.
namespace A.B { }
is a namespace namedA
with another TsNamespaceDecl as its body.
Traits§
Functions§
Type Aliases§
- See Ident for documentation.