api

Ast.ch

Declarations in Ast.ch

40 declarationsjs_syntax

Declarations

Public only
ImportSpecifier#
Publicstruct
struct ImportSpecifier { var imported : string_view var local : string_view }
make#
functionConstructor
func make() : ImportSpecifier
JsArrayLiteral#
Publicstruct
struct JsArrayLiteral { var base : JsNode var elements : vector<*JsNode> }
delete#
function
func delete(self : *JsArrayLiteral) : void
JsArrowFunction#
Publicstruct
struct JsArrowFunction { var base : JsNode var params : vector<JsParam> var body : *JsNode var is_async : bool var contains_jsx : bool }
delete#
function
func delete(self : *JsArrowFunction) : void
JsBinaryOp#
Publicstruct
struct JsBinaryOp { var base : JsNode var left : *JsNode var right : *JsNode var op : string_view }
JsBlock#
Publicstruct
struct JsBlock { var base : JsNode var statements : vector<*JsNode> }
delete#
function
func delete(self : *JsBlock) : void
JsBreak#
Publicstruct
struct JsBreak { var base : JsNode }
JsCase#
Publicstruct
struct JsCase { var test : *JsNode var body : vector<*JsNode> }
delete#
function
func delete(self : *JsCase) : void
JsChemicalValue#
Publicstruct
struct JsChemicalValue { var base : JsNode var value : *Value }
JsClassDecl#
Publicstruct
struct JsClassDecl { var base : JsNode var name : string_view var superClass : string_view var methods : vector<JsClassMethod> }
delete#
function
func delete(self : *JsClassDecl) : void
JsClassMethod#
Publicstruct
struct JsClassMethod { var name : string_view var params : vector<JsParam> var body : *JsNode var is_static : bool }
delete#
function
func delete(self : *JsClassMethod) : void
JsContinue#
Publicstruct
struct JsContinue { var base : JsNode }
JsDebugger#
Publicstruct
struct JsDebugger { var base : JsNode }
JsDoWhile#
Publicstruct
struct JsDoWhile { var base : JsNode var condition : *JsNode var body : *JsNode }
JsExport#
Publicstruct
struct JsExport { var base : JsNode var declaration : *JsNode var is_default : bool }
JsExpressionStatement#
Publicstruct
struct JsExpressionStatement { var base : JsNode var expression : *JsNode }
JsFor#
Publicstruct
struct JsFor { var base : JsNode var init : *JsNode var condition : *JsNode var update : *JsNode var body : *JsNode }
JsForIn#
Publicstruct
struct JsForIn { var base : JsNode var left : *JsNode var right : *JsNode var body : *JsNode }
JsForOf#
Publicstruct
struct JsForOf { var base : JsNode var left : *JsNode var right : *JsNode var body : *JsNode }
JsFunctionCall#
Publicstruct
struct JsFunctionCall { var base : JsNode var callee : *JsNode var args : vector<*JsNode> }
delete#
function
func delete(self : *JsFunctionCall) : void
JsFunctionDecl#
Publicstruct
struct JsFunctionDecl { var base : JsNode var name : string_view var params : vector<JsParam> var body : *JsNode var is_async : bool var is_generator : bool }
delete#
function
func delete(self : *JsFunctionDecl) : void
JsIdentifier#
Publicstruct
struct JsIdentifier { var base : JsNode var value : string_view }
JsIf#
Publicstruct
struct JsIf { var base : JsNode var condition : *JsNode var thenBlock : *JsNode var elseBlock : *JsNode }
JsImport#
Publicstruct
struct JsImport { var base : JsNode var source : string_view var specifiers : vector<ImportSpecifier> }
delete#
function
func delete(self : *JsImport) : void
JsIndexAccess#
Publicstruct
struct JsIndexAccess { var base : JsNode var object : *JsNode var index : *JsNode }
JsLiteral#
Publicstruct
struct JsLiteral { var base : JsNode var value : string_view }
JsMemberAccess#
Publicstruct
struct JsMemberAccess { var base : JsNode var object : *JsNode var property : string_view }
JsNode#
Publicstruct
struct JsNode { var kind : JsNodeKind }
JsObjectLiteral#
Publicstruct
struct JsObjectLiteral { var base : JsNode var properties : vector<JsProperty> }
delete#
function
func delete(self : *JsObjectLiteral) : void
JsParam#
Publicstruct
struct JsParam { var name : string_view var default_value : *JsNode }
JsProperty#
Publicstruct
struct JsProperty { var key : string_view var value : *JsNode }
JsReturn#
Publicstruct
struct JsReturn { var base : JsNode var value : *JsNode }
JsSpread#
Publicstruct
struct JsSpread { var base : JsNode var argument : *JsNode }
JsSwitch#
Publicstruct
struct JsSwitch { var base : JsNode var discriminant : *JsNode var cases : vector<JsCase> }
delete#
function
func delete(self : *JsSwitch) : void
JsTernary#
Publicstruct
struct JsTernary { var base : JsNode var condition : *JsNode var consequent : *JsNode var alternate : *JsNode }
JsThrow#
Publicstruct
struct JsThrow { var base : JsNode var argument : *JsNode }
JsTryCatch#
Publicstruct
struct JsTryCatch { var base : JsNode var tryBlock : *JsNode var catchParam : string_view var catchBlock : *JsNode var finallyBlock : *JsNode }
JsUnaryOp#
Publicstruct
struct JsUnaryOp { var base : JsNode var operator : string_view var operand : *JsNode var prefix : bool }
JsVarDecl#
Publicstruct
struct JsVarDecl { var base : JsNode var name : string_view var pattern : *JsNode var value : *JsNode var keyword : string_view }
JsWhile#
Publicstruct
struct JsWhile { var base : JsNode var condition : *JsNode var body : *JsNode }
JsYield#
Publicstruct
struct JsYield { var base : JsNode var argument : *JsNode var delegate : bool }