diff --git a/src/compiler/ast.ts b/src/compiler/ast.ts index bfea5a415f3..cd93debb87a 100644 --- a/src/compiler/ast.ts +++ b/src/compiler/ast.ts @@ -1,3 +1,4 @@ +import { isAstParenthesizedExpression } from "./_namespaces/ts.ast.js"; import * as ts from "./_namespaces/ts.js"; import { __String, @@ -73,7 +74,6 @@ import { TypeNodeSyntaxKind, updateSourceFile, } from "./_namespaces/ts.js"; -import { isAstParenthesizedExpression } from "./_namespaces/ts.ast.js"; /** @internal */ export type NextContainer = AstNode; @@ -126,14 +126,28 @@ export class AstNode = Node> | undefined { return this._extra?.original; } - set original(value) { this.extra.original = value; } - get emitNode(): ts.EmitNode | undefined { return this._extra?.emitNode; } - set emitNode(value) { this.extra.emitNode = value; } + get id(): number { + return this._extra?.id.id ?? 0; + } + set id(value) { + this.extra.id.id = value; + } + get original(): AstNode> | undefined { + return this._extra?.original; + } + set original(value) { + this.extra.original = value; + } + get emitNode(): ts.EmitNode | undefined { + return this._extra?.emitNode; + } + set emitNode(value) { + this.extra.emitNode = value; + } get transformFlags(): ts.TransformFlags { const transformFlags = this._extra?.transformFlags; if (transformFlags === undefined) { @@ -142,12 +156,20 @@ export class AstNode = Node = Node = N extends unknown ? AstNode : never; @@ -517,30 +967,78 @@ export class Node { // for use with vscode-js-debug's new customDescriptionGenerator in launch.json __tsDebuggerDisplay: { value(this: Node) { - const nodeHeader = - ts.isGeneratedIdentifier(this) ? "GeneratedIdentifier" : + const nodeHeader = ts.isGeneratedIdentifier(this) ? "GeneratedIdentifier" : ts.isIdentifier(this) ? `Identifier '${idText(this)}'` : ts.isPrivateIdentifier(this) ? `PrivateIdentifier '${idText(this)}'` : ts.isStringLiteral(this) ? `StringLiteral ${JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...")}` : @@ -765,11 +1262,19 @@ export class AstNodeArray { this.hasTrailingComma = hasTrailingComma; } - /** @private */ get extra(): AstNodeArrayExtraFields { return this._extra ??= new AstNodeArrayExtraFields(); } + /** @private */ get extra(): AstNodeArrayExtraFields { + return this._extra ??= new AstNodeArrayExtraFields(); + } - get nodes(): NodeArray { return this.extra.nodes ??= new NodeArray(this); } - get hasTrailingComma(): boolean { return this._extra?.hasTrailingComma ?? false; } - set hasTrailingComma(value) { this.extra.hasTrailingComma = value; } + get nodes(): NodeArray { + return this.extra.nodes ??= new NodeArray(this); + } + get hasTrailingComma(): boolean { + return this._extra?.hasTrailingComma ?? false; + } + set hasTrailingComma(value) { + this.extra.hasTrailingComma = value; + } get transformFlags(): ts.TransformFlags { let transformFlags = this._extra?.transformFlags; @@ -782,7 +1287,9 @@ export class AstNodeArray { } return transformFlags; } - set transformFlags(value) { this.extra.transformFlags = value; } + set transformFlags(value) { + this.extra.transformFlags = value; + } } /** @internal */ @@ -797,21 +1304,47 @@ export class NodeArray extends Array implements ts.NodeArray< Object.preventExtensions(this); } - static override get [globalThis.Symbol.species](): ArrayConstructor { return Array; } + static override get [globalThis.Symbol.species](): ArrayConstructor { + return Array; + } - get pos(): number { return this.ast.pos; } - set pos(value) { this.ast.pos = value; } - get end(): number { return this.ast.end; } - set end(value) { this.ast.end = value; } - get hasTrailingComma(): boolean { return this.ast.hasTrailingComma; } - set hasTrailingComma(value) { this.ast.hasTrailingComma = value; } - get transformFlags(): ts.TransformFlags { return this.ast.transformFlags; } - set transformFlags(value) { this.ast.transformFlags = value; } + get pos(): number { + return this.ast.pos; + } + set pos(value) { + this.ast.pos = value; + } + get end(): number { + return this.ast.end; + } + set end(value) { + this.ast.end = value; + } + get hasTrailingComma(): boolean { + return this.ast.hasTrailingComma; + } + set hasTrailingComma(value) { + this.ast.hasTrailingComma = value; + } + get transformFlags(): ts.TransformFlags { + return this.ast.transformFlags; + } + set transformFlags(value) { + this.ast.transformFlags = value; + } - get __pos(): number | undefined { return astNodeArrayMaybeExtra(this.ast)?.__pos; } // eslint-disable-line @typescript-eslint/naming-convention - set __pos(value) { this.ast.extra.__pos = value; } // eslint-disable-line @typescript-eslint/naming-convention - get __end(): number | undefined { return astNodeArrayMaybeExtra(this.ast)?.__end; } // eslint-disable-line @typescript-eslint/naming-convention - set __end(value) { this.ast.extra.__end = value; } // eslint-disable-line @typescript-eslint/naming-convention + get __pos(): number | undefined { // eslint-disable-line @typescript-eslint/naming-convention + return astNodeArrayMaybeExtra(this.ast)?.__pos; + } + set __pos(value) { // eslint-disable-line @typescript-eslint/naming-convention + this.ast.extra.__pos = value; + } + get __end(): number | undefined { // eslint-disable-line @typescript-eslint/naming-convention + return astNodeArrayMaybeExtra(this.ast)?.__end; + } + set __end(value) { // eslint-disable-line @typescript-eslint/naming-convention + this.ast.extra.__end = value; + } } Debug.registerDebugInfo(() => { @@ -1121,8 +1654,12 @@ export class EndOfFileToken extends Token implements Prim /** @internal */ export type BooleanLiteral = | TrueLiteral - | FalseLiteral - ; + | FalseLiteral; /** @internal */ export type AstBooleanLiteral = AstNodeOneOf; @@ -1232,7 +1776,7 @@ export type AstBooleanLiteral = AstNodeOneOf; // Punctuation /** @internal */ -export interface PunctuationToken extends Token { } +export interface PunctuationToken extends Token {} /** @internal */ export type DotToken = PunctuationToken; @@ -1298,7 +1842,7 @@ export type AstQuestionDotToken = AstNode; // Keywords /** @internal */ -export interface KeywordToken extends Token { } +export interface KeywordToken extends Token {} /** @internal */ export type AssertsKeyword = KeywordToken; @@ -1324,7 +1868,7 @@ export type AstCaseKeyword = AstNode; // Modifiers /** @internal */ -export interface ModifierToken extends KeywordToken { } +export interface ModifierToken extends KeywordToken {} /** @internal */ export type AbstractKeyword = ModifierToken; @@ -1434,20 +1978,46 @@ export class Identifier extends Token declare _jsdocContainerBrand: any; declare _flowContainerBrand: any; - get escapedText(): __String { return this.ast.data.escapedText; } - set escapedText(value: __String) { this.ast.data.escapedText = value; } - get resolvedSymbol(): Symbol { return this.ast.data.resolvedSymbol; } - set resolvedSymbol(value: Symbol) { this.ast.data.resolvedSymbol = value; } - get symbol(): Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get flowNode(): FlowNode | undefined { return this.ast.data.flowNode; } - set flowNode(value) { this.ast.data.flowNode = value; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value) { this.ast.data.jsDoc = value; } + get escapedText(): __String { + return this.ast.data.escapedText; + } + set escapedText(value: __String) { + this.ast.data.escapedText = value; + } + get resolvedSymbol(): Symbol { + return this.ast.data.resolvedSymbol; + } + set resolvedSymbol(value: Symbol) { + this.ast.data.resolvedSymbol = value; + } + get symbol(): Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get flowNode(): FlowNode | undefined { + return this.ast.data.flowNode; + } + set flowNode(value) { + this.ast.data.flowNode = value; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value) { + this.ast.data.jsDoc = value; + } - get text(): string { return idText(this); } + get text(): string { + return idText(this); + } } /** @internal */ @@ -1477,12 +2047,24 @@ export class QualifiedName extends Node; export class ComputedPropertyName extends Node implements ts.ComputedPropertyName { declare readonly ast: AstComputedPropertyName; - override get parent() { return super.parent as Declaration; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as Declaration; + } + override set parent(value) { + super.parent = value; + } - get expression(): Expression { return this.ast.data.expression?.node; } - set expression(value: Expression) { this.ast.data.expression = value?.ast; } + get expression(): Expression { + return this.ast.data.expression?.node; + } + set expression(value: Expression) { + this.ast.data.expression = value?.ast; + } } /** @internal */ @@ -1579,10 +2169,16 @@ export class PrivateIdentifier extends Token | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value: NodeArray | undefined) { this.ast.data.modifiers = value?.ast; } - get name(): Identifier { return this.ast.data.name?.node; } - set name(value: Identifier) { this.ast.data.name = value?.ast; } - get constraint(): TypeNode | undefined { return this.ast.data.constraint?.node; } - set constraint(value: TypeNode | undefined) { this.ast.data.constraint = value?.ast; } - get default(): TypeNode | undefined { return this.ast.data.default?.node; } - set default(value: TypeNode | undefined) { this.ast.data.default = value?.ast; } - get expression(): Expression | undefined { return this.ast.data.expression?.node; } - set expression(value: Expression | undefined) { this.ast.data.expression = value?.ast; } - get symbol(): Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value) { this.ast.data.jsDoc = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value: NodeArray | undefined) { + this.ast.data.modifiers = value?.ast; + } + get name(): Identifier { + return this.ast.data.name?.node; + } + set name(value: Identifier) { + this.ast.data.name = value?.ast; + } + get constraint(): TypeNode | undefined { + return this.ast.data.constraint?.node; + } + set constraint(value: TypeNode | undefined) { + this.ast.data.constraint = value?.ast; + } + get default(): TypeNode | undefined { + return this.ast.data.default?.node; + } + set default(value: TypeNode | undefined) { + this.ast.data.default = value?.ast; + } + get expression(): Expression | undefined { + return this.ast.data.expression?.node; + } + set expression(value: Expression | undefined) { + this.ast.data.expression = value?.ast; + } + get symbol(): Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value) { + this.ast.data.jsDoc = value; + } } /** @internal */ @@ -1642,27 +2274,67 @@ export class ParameterDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value: NodeArray | undefined) { this.ast.data.modifiers = value?.ast; } - get dotDotDotToken(): DotDotDotToken | undefined { return this.ast.data.dotDotDotToken?.node; } - set dotDotDotToken(value: DotDotDotToken | undefined) { this.ast.data.dotDotDotToken = value?.ast; } - get name(): BindingName { return this.ast.data.name?.node; } - set name(value: BindingName) { this.ast.data.name = value?.ast; } - get questionToken(): QuestionToken | undefined { return this.ast.data.questionToken?.node; } - set questionToken(value: QuestionToken | undefined) { this.ast.data.questionToken = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value: TypeNode | undefined) { this.ast.data.type = value?.ast; } - get initializer(): Expression | undefined { return this.ast.data.initializer?.node; } - set initializer(value: Expression | undefined) { this.ast.data.initializer = value?.ast; } - get symbol(): Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value) { this.ast.data.jsDoc = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value: NodeArray | undefined) { + this.ast.data.modifiers = value?.ast; + } + get dotDotDotToken(): DotDotDotToken | undefined { + return this.ast.data.dotDotDotToken?.node; + } + set dotDotDotToken(value: DotDotDotToken | undefined) { + this.ast.data.dotDotDotToken = value?.ast; + } + get name(): BindingName { + return this.ast.data.name?.node; + } + set name(value: BindingName) { + this.ast.data.name = value?.ast; + } + get questionToken(): QuestionToken | undefined { + return this.ast.data.questionToken?.node; + } + set questionToken(value: QuestionToken | undefined) { + this.ast.data.questionToken = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value: TypeNode | undefined) { + this.ast.data.type = value?.ast; + } + get initializer(): Expression | undefined { + return this.ast.data.initializer?.node; + } + set initializer(value: Expression | undefined) { + this.ast.data.initializer = value?.ast; + } + get symbol(): Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value) { + this.ast.data.jsDoc = value; + } } /** @internal */ @@ -1698,11 +2370,19 @@ export class AstParameterDeclarationData extends AstData { export class Decorator extends Node implements ts.Decorator { declare readonly ast: AstDecorator; - override get parent() { return super.parent as Declaration; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as Declaration; + } + override set parent(value) { + super.parent = value; + } - get expression(): LeftHandSideExpression { return this.ast.data.expression?.node; } - set expression(value: LeftHandSideExpression) { this.ast.data.expression = value?.ast; } + get expression(): LeftHandSideExpression { + return this.ast.data.expression?.node; + } + set expression(value: LeftHandSideExpression) { + this.ast.data.expression = value?.ast; + } } /** @internal */ @@ -1725,25 +2405,61 @@ export class PropertySignature extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value: NodeArray | undefined) { this.ast.data.modifiers = value?.ast; } - get name(): PropertyName { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get questionToken(): QuestionToken | undefined { return this.ast.data.questionToken?.node; } - set questionToken(value) { this.ast.data.questionToken = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get initializer(): Expression | undefined { return this.ast.data.initializer?.node; } - set initializer(value) { this.ast.data.initializer = value?.ast; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value: NodeArray | undefined) { + this.ast.data.modifiers = value?.ast; + } + get name(): PropertyName { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get questionToken(): QuestionToken | undefined { + return this.ast.data.questionToken?.node; + } + set questionToken(value) { + this.ast.data.questionToken = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get initializer(): Expression | undefined { + return this.ast.data.initializer?.node; + } + set initializer(value) { + this.ast.data.initializer = value?.ast; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } } /** @internal */ @@ -1787,24 +2503,60 @@ export class CallSignatureDeclaration extends Node | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -1829,24 +2581,60 @@ export class ConstructSignatureDeclaration extends Node | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -1869,23 +2657,55 @@ export class VariableDeclaration extends Node implements ts.VariableDeclarationList { declare readonly ast: AstVariableDeclarationList; - override get parent() { return super.parent as VariableStatement | ForStatement | ForOfStatement | ForInStatement; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as VariableStatement | ForStatement | ForOfStatement | ForInStatement; + } + override set parent(value) { + super.parent = value; + } - get declarations(): NodeArray { return this.ast.data.declarations.nodes; } - set declarations(value) { this.ast.data.declarations = value?.ast; } + get declarations(): NodeArray { + return this.ast.data.declarations.nodes; + } + set declarations(value) { + this.ast.data.declarations = value?.ast; + } } /** @internal */ @@ -1942,23 +2770,55 @@ export class BindingElement extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get name(): PropertyName { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get questionToken(): QuestionToken | undefined { return this.ast.data.questionToken?.node; } - set questionToken(value) { this.ast.data.questionToken = value?.ast; } - get exclamationToken(): ExclamationToken | undefined { return this.ast.data.exclamationToken?.node; } - set exclamationToken(value) { this.ast.data.exclamationToken = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get initializer(): Expression | undefined { return this.ast.data.initializer?.node; } - set initializer(value) { this.ast.data.initializer = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get name(): PropertyName { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get questionToken(): QuestionToken | undefined { + return this.ast.data.questionToken?.node; + } + set questionToken(value) { + this.ast.data.questionToken = value?.ast; + } + get exclamationToken(): ExclamationToken | undefined { + return this.ast.data.exclamationToken?.node; + } + set exclamationToken(value) { + this.ast.data.exclamationToken = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get initializer(): Expression | undefined { + return this.ast.data.initializer?.node; + } + set initializer(value) { + this.ast.data.initializer = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -2047,25 +2947,61 @@ export class PropertyAssignment extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get questionToken(): QuestionToken | undefined { return this.ast.data.questionToken?.node; } - set questionToken(value) { this.ast.data.questionToken = value?.ast; } - get exclamationToken(): ExclamationToken | undefined { return this.ast.data.exclamationToken?.node; } - set exclamationToken(value) { this.ast.data.exclamationToken = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get name(): PropertyName { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get initializer(): Expression { + return this.ast.data.initializer?.node; + } + set initializer(value) { + this.ast.data.initializer = value?.ast; + } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get questionToken(): QuestionToken | undefined { + return this.ast.data.questionToken?.node; + } + set questionToken(value) { + this.ast.data.questionToken = value?.ast; + } + get exclamationToken(): ExclamationToken | undefined { + return this.ast.data.exclamationToken?.node; + } + set exclamationToken(value) { + this.ast.data.exclamationToken = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -2094,27 +3030,67 @@ export class ShorthandPropertyAssignment extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get questionToken(): QuestionToken | undefined { return this.ast.data.questionToken?.node; } - set questionToken(value) { this.ast.data.questionToken = value?.ast; } - get exclamationToken(): ExclamationToken | undefined { return this.ast.data.exclamationToken?.node; } - set exclamationToken(value) { this.ast.data.exclamationToken = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get name(): Identifier { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get equalsToken(): EqualsToken | undefined { + return this.ast.data.equalsToken?.node; + } + set equalsToken(value) { + this.ast.data.equalsToken = value?.ast; + } + get objectAssignmentInitializer(): Expression | undefined { + return this.ast.data.objectAssignmentInitializer?.node; + } + set objectAssignmentInitializer(value) { + this.ast.data.objectAssignmentInitializer = value?.ast; + } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get questionToken(): QuestionToken | undefined { + return this.ast.data.questionToken?.node; + } + set questionToken(value) { + this.ast.data.questionToken = value?.ast; + } + get exclamationToken(): ExclamationToken | undefined { + return this.ast.data.exclamationToken?.node; + } + set exclamationToken(value) { + this.ast.data.exclamationToken = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -2145,17 +3121,37 @@ export class SpreadAssignment extends Node; @@ -2185,8 +3180,7 @@ export type AstBindingPattern = AstNodeOneOf; /** @internal */ export type ArrayBindingElement = | BindingElement - | OmittedExpression - ; + | OmittedExpression; /** @internal */ export type AstArrayBindingElement = AstNodeOneOf; @@ -2195,11 +3189,19 @@ export type AstArrayBindingElement = AstNodeOneOf; export class ObjectBindingPattern extends Node implements ts.ObjectBindingPattern { declare readonly ast: AstObjectBindingPattern; - override get parent() { return super.parent as VariableDeclaration | ParameterDeclaration | BindingElement; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as VariableDeclaration | ParameterDeclaration | BindingElement; + } + override set parent(value) { + super.parent = value; + } - get elements(): NodeArray { return this.ast.data.elements?.nodes!; } // TODO: remove `!` - set elements(value) { this.ast.data.elements = value?.ast; } + get elements(): NodeArray { + return this.ast.data.elements?.nodes!; // TODO: remove `!` + } + set elements(value) { + this.ast.data.elements = value?.ast; + } } /** @internal */ @@ -2221,11 +3223,19 @@ export class AstObjectBindingPatternData extends AstData { export class ArrayBindingPattern extends Node implements ts.ArrayBindingPattern { declare readonly ast: AstArrayBindingPattern; - override get parent() { return super.parent as VariableDeclaration | ParameterDeclaration | BindingElement; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as VariableDeclaration | ParameterDeclaration | BindingElement; + } + override set parent(value) { + super.parent = value; + } - get elements(): NodeArray { return this.ast.data.elements?.nodes!; } // TODO: remove `!` - set elements(value) { this.ast.data.elements = value?.ast; } + get elements(): NodeArray { + return this.ast.data.elements?.nodes!; // TODO: remove `!` + } + set elements(value) { + this.ast.data.elements = value?.ast; + } } /** @internal */ @@ -2249,37 +3259,97 @@ export class FunctionDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get asteriskToken(): AsteriskToken | undefined { return this.ast.data.asteriskToken?.node; } - set asteriskToken(value) { this.ast.data.asteriskToken = value?.ast; } - get name(): Identifier | undefined { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get body(): Block | undefined { return this.ast.data.body?.node; } - set body(value) { this.ast.data.body = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } - get endFlowNode(): ts.FlowNode | undefined { return this.ast.data.endFlowNode; } - set endFlowNode(value) { this.ast.data.endFlowNode = value; } - get returnFlowNode(): ts.FlowNode | undefined { return this.ast.data.returnFlowNode; } - set returnFlowNode(value) { this.ast.data.returnFlowNode = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get asteriskToken(): AsteriskToken | undefined { + return this.ast.data.asteriskToken?.node; + } + set asteriskToken(value) { + this.ast.data.asteriskToken = value?.ast; + } + get name(): Identifier | undefined { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get body(): Block | undefined { + return this.ast.data.body?.node; + } + set body(value) { + this.ast.data.body = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } + get endFlowNode(): ts.FlowNode | undefined { + return this.ast.data.endFlowNode; + } + set endFlowNode(value) { + this.ast.data.endFlowNode = value; + } + get returnFlowNode(): ts.FlowNode | undefined { + return this.ast.data.returnFlowNode; + } + set returnFlowNode(value) { + this.ast.data.returnFlowNode = value; + } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } // Used for quick info, replaces typeParameters for instantiated signatures - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } // Used for quick info, replaces typeParameters for instantiated signatures + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } } /** @internal */ @@ -2337,33 +3407,85 @@ export class MethodSignature extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get name(): PropertyName { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get questionToken(): QuestionToken | undefined { return this.ast.data.questionToken?.node; } - set questionToken(value) { this.ast.data.questionToken = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get name(): PropertyName { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get questionToken(): QuestionToken | undefined { + return this.ast.data.questionToken?.node; + } + set questionToken(value) { + this.ast.data.questionToken = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -2395,45 +3517,121 @@ export class MethodDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get asteriskToken(): AsteriskToken | undefined { return this.ast.data.asteriskToken?.node; } - set asteriskToken(value) { this.ast.data.asteriskToken = value?.ast; } - get name(): PropertyName { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get questionToken(): QuestionToken | undefined { return this.ast.data.questionToken?.node; } - set questionToken(value) { this.ast.data.questionToken = value?.ast; } - get exclamationToken(): ExclamationToken | undefined { return this.ast.data.exclamationToken?.node; } - set exclamationToken(value) { this.ast.data.exclamationToken = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get body(): Block | undefined { return this.ast.data.body?.node; } - set body(value) { this.ast.data.body = value?.ast; } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } - get flowNode(): FlowNode | undefined { return this.ast.data.flowNode; } - set flowNode(value: FlowNode | undefined) { this.ast.data.flowNode = value; } - get endFlowNode(): ts.FlowNode | undefined { return this.ast.data.endFlowNode; } - set endFlowNode(value) { this.ast.data.endFlowNode = value; } - get returnFlowNode(): ts.FlowNode | undefined { return this.ast.data.returnFlowNode; } - set returnFlowNode(value) { this.ast.data.returnFlowNode = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get asteriskToken(): AsteriskToken | undefined { + return this.ast.data.asteriskToken?.node; + } + set asteriskToken(value) { + this.ast.data.asteriskToken = value?.ast; + } + get name(): PropertyName { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get questionToken(): QuestionToken | undefined { + return this.ast.data.questionToken?.node; + } + set questionToken(value) { + this.ast.data.questionToken = value?.ast; + } + get exclamationToken(): ExclamationToken | undefined { + return this.ast.data.exclamationToken?.node; + } + set exclamationToken(value) { + this.ast.data.exclamationToken = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get body(): Block | undefined { + return this.ast.data.body?.node; + } + set body(value) { + this.ast.data.body = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } + get flowNode(): FlowNode | undefined { + return this.ast.data.flowNode; + } + set flowNode(value: FlowNode | undefined) { + this.ast.data.flowNode = value; + } + get endFlowNode(): ts.FlowNode | undefined { + return this.ast.data.endFlowNode; + } + set endFlowNode(value) { + this.ast.data.endFlowNode = value; + } + get returnFlowNode(): ts.FlowNode | undefined { + return this.ast.data.returnFlowNode; + } + set returnFlowNode(value) { + this.ast.data.returnFlowNode = value; + } } /** @internal */ @@ -2495,35 +3693,91 @@ export class ConstructorDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get body(): Block | undefined { return this.ast.data.body?.node; } - set body(value) { this.ast.data.body = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } - get endFlowNode(): ts.FlowNode | undefined { return this.ast.data.endFlowNode; } - set endFlowNode(value) { this.ast.data.endFlowNode = value; } - get returnFlowNode(): ts.FlowNode | undefined { return this.ast.data.returnFlowNode; } - set returnFlowNode(value) { this.ast.data.returnFlowNode = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get body(): Block | undefined { + return this.ast.data.body?.node; + } + set body(value) { + this.ast.data.body = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } + get endFlowNode(): ts.FlowNode | undefined { + return this.ast.data.endFlowNode; + } + set endFlowNode(value) { + this.ast.data.endFlowNode = value; + } + get returnFlowNode(): ts.FlowNode | undefined { + return this.ast.data.returnFlowNode; + } + set returnFlowNode(value) { + this.ast.data.returnFlowNode = value; + } } /** @internal */ @@ -2566,11 +3820,19 @@ export class SemicolonClassElement extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get name(): PropertyName { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get body(): Block | undefined { return this.ast.data.body?.node; } - set body(value) { this.ast.data.body = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } - get flowNode(): FlowNode | undefined { return this.ast.data.flowNode; } - set flowNode(value: FlowNode | undefined) { this.ast.data.flowNode = value; } - get endFlowNode(): ts.FlowNode | undefined { return this.ast.data.endFlowNode; } - set endFlowNode(value) { this.ast.data.endFlowNode = value; } - get returnFlowNode(): ts.FlowNode | undefined { return this.ast.data.returnFlowNode; } - set returnFlowNode(value) { this.ast.data.returnFlowNode = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get name(): PropertyName { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get body(): Block | undefined { + return this.ast.data.body?.node; + } + set body(value) { + this.ast.data.body = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } + get flowNode(): FlowNode | undefined { + return this.ast.data.flowNode; + } + set flowNode(value: FlowNode | undefined) { + this.ast.data.flowNode = value; + } + get endFlowNode(): ts.FlowNode | undefined { + return this.ast.data.endFlowNode; + } + set endFlowNode(value) { + this.ast.data.endFlowNode = value; + } + get returnFlowNode(): ts.FlowNode | undefined { + return this.ast.data.returnFlowNode; + } + set returnFlowNode(value) { + this.ast.data.returnFlowNode = value; + } } /** @internal */ @@ -2661,7 +3987,6 @@ export class AstGetAccessorDeclarationData extends AstData { (propagateChildFlags(this.body) & ~TransformFlags.ContainsPossibleTopLevelAwait) | (this.type ? TransformFlags.ContainsTypeScript : TransformFlags.None); } - } } @@ -2678,39 +4003,103 @@ export class SetAccessorDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get name(): PropertyName { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get body(): Block | undefined { return this.ast.data.body?.node; } - set body(value) { this.ast.data.body = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } - get flowNode(): FlowNode | undefined { return this.ast.data.flowNode; } - set flowNode(value: FlowNode | undefined) { this.ast.data.flowNode = value; } - get endFlowNode(): ts.FlowNode | undefined { return this.ast.data.endFlowNode; } - set endFlowNode(value) { this.ast.data.endFlowNode = value; } - get returnFlowNode(): ts.FlowNode | undefined { return this.ast.data.returnFlowNode; } - set returnFlowNode(value) { this.ast.data.returnFlowNode = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get name(): PropertyName { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get body(): Block | undefined { + return this.ast.data.body?.node; + } + set body(value) { + this.ast.data.body = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } + get flowNode(): FlowNode | undefined { + return this.ast.data.flowNode; + } + set flowNode(value: FlowNode | undefined) { + this.ast.data.flowNode = value; + } + get endFlowNode(): ts.FlowNode | undefined { + return this.ast.data.endFlowNode; + } + set endFlowNode(value) { + this.ast.data.endFlowNode = value; + } + get returnFlowNode(): ts.FlowNode | undefined { + return this.ast.data.returnFlowNode; + } + set returnFlowNode(value) { + this.ast.data.returnFlowNode = value; + } } /** @internal */ @@ -2749,8 +4138,7 @@ export class AstSetAccessorDeclarationData extends AstData { /** @internal */ export type AccessorDeclaration = | GetAccessorDeclaration - | SetAccessorDeclaration - ; + | SetAccessorDeclaration; /** @internal */ export type AstAccessorDeclaration = AstNodeOneOf; @@ -2765,29 +4153,73 @@ export class IndexSignatureDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode { return this.ast.data.type?.node!; } - set type(value) { this.ast.data.type = value?.ast; } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode { + return this.ast.data.type?.node!; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -2814,27 +4246,67 @@ export class ClassStaticBlockDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } - get endFlowNode(): ts.FlowNode | undefined { return this.ast.data.endFlowNode; } - set endFlowNode(value) { this.ast.data.endFlowNode = value; } - get returnFlowNode(): ts.FlowNode | undefined { return this.ast.data.returnFlowNode; } - set returnFlowNode(value) { this.ast.data.returnFlowNode = value; } + get body(): Block { + return this.ast.data.body?.node; + } + set body(value) { + this.ast.data.body = value?.ast; + } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } + get endFlowNode(): ts.FlowNode | undefined { + return this.ast.data.endFlowNode; + } + set endFlowNode(value) { + this.ast.data.endFlowNode = value; + } + get returnFlowNode(): ts.FlowNode | undefined { + return this.ast.data.returnFlowNode; + } + set returnFlowNode(value) { + this.ast.data.returnFlowNode = value; + } } /** @internal */ @@ -2862,14 +4334,26 @@ export class AstClassStaticBlockDeclarationData extends AstData { export class ImportTypeAssertionContainer extends Node implements ts.ImportTypeAssertionContainer { declare readonly ast: AstImportTypeAssertionContainer; - override get parent() { return super.parent as ImportTypeNode; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as ImportTypeNode; + } + override set parent(value) { + super.parent = value; + } /** @deprecated */ - get assertClause(): ImportAttributes { return this.ast.data.assertClause?.node; } - set assertClause(value) { this.ast.data.assertClause = value?.ast; } - get multiLine(): boolean { return this.ast.data.multiLine; } - set multiLine(value) { this.ast.data.multiLine = value; } + get assertClause(): ImportAttributes { + return this.ast.data.assertClause?.node; + } + set assertClause(value) { + this.ast.data.assertClause = value?.ast; + } + get multiLine(): boolean { + return this.ast.data.multiLine; + } + set multiLine(value) { + this.ast.data.multiLine = value; + } } /** @@ -2893,19 +4377,43 @@ export class ImportTypeNode extends Node | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } + get attributes(): ImportAttributes | undefined { + return this.ast.data.attributes?.node; + } + set attributes(value) { + this.ast.data.attributes = value?.ast; + } + get assertions(): ImportTypeAssertionContainer | undefined { + return this.ast.data.assertions?.node; + } + set assertions(value) { + this.ast.data.assertions = value?.ast; + } + get qualifier(): Identifier | QualifiedName | undefined { + return this.ast.data.qualifier?.node; + } + set qualifier(value) { + this.ast.data.qualifier = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } } /** @internal */ @@ -2948,26 +4456,66 @@ export class FunctionTypeNode extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -2994,26 +4542,66 @@ export class ConstructorTypeNode extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -3037,10 +4625,18 @@ export class TypeReferenceNode extends Node | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } + get typeName(): Identifier | QualifiedName { + return this.ast.data.typeName?.node; + } + set typeName(value) { + this.ast.data.typeName = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } } /** @internal */ @@ -3055,15 +4651,31 @@ export class TypePredicateNode extends Node | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } + get exprName(): Identifier | QualifiedName { + return this.ast.data.exprName?.node; + } + set exprName(value) { + this.ast.data.exprName = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } } /** @internal */ @@ -3098,12 +4718,24 @@ export class TypeLiteralNode extends Node { return this.ast.data.members?.nodes!; } // TODO: remove '!' - set members(value) { this.ast.data.members = value?.ast; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get members(): NodeArray { + return this.ast.data.members?.nodes!; + } // TODO: remove '!' + set members(value) { + this.ast.data.members = value?.ast; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -3119,8 +4751,12 @@ export class ArrayTypeNode extends Node { return this.ast.data.elements?.nodes!; } // TODO: remove '!' - set elements(value: NodeArray) { this.ast.data.elements = value?.ast; } + get elements(): NodeArray { + return this.ast.data.elements?.nodes!; + } // TODO: remove '!' + set elements(value: NodeArray) { + this.ast.data.elements = value?.ast; + } } /** @internal */ @@ -3151,20 +4791,48 @@ export class NamedTupleMember extends Node declare _typeNodeBrand: any; - get type(): TypeNode { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } + get type(): TypeNode { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } } /** @internal */ @@ -3215,8 +4891,12 @@ export class UnionTypeNode extends Node { return this.ast.data.types?.nodes!; } // TODO: remove '!' - set types(value) { this.ast.data.types = value?.ast; } + get types(): NodeArray { + return this.ast.data.types?.nodes!; + } // TODO: remove '!' + set types(value) { + this.ast.data.types = value?.ast; + } } /** @internal */ @@ -3230,8 +4910,12 @@ export class IntersectionTypeNode extends Node { return this.ast.data.types?.nodes!; } // TODO: remove '!' - set types(value) { this.ast.data.types = value?.ast; } + get types(): NodeArray { + return this.ast.data.types?.nodes!; + } // TODO: remove '!' + set types(value) { + this.ast.data.types = value?.ast; + } } /** @internal */ @@ -3246,18 +4930,42 @@ export class ConditionalTypeNode extends Node | undefined { return this.ast.data.members?.nodes; } - set members(value) { this.ast.data.members = value?.ast; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get readonlyToken(): PlusToken | MinusToken | ReadonlyKeyword | undefined { + return this.ast.data.readonlyToken?.node; + } + set readonlyToken(value) { + this.ast.data.readonlyToken = value?.ast; + } + get typeParameter(): TypeParameterDeclaration { + return this.ast.data.typeParameter?.node; + } + set typeParameter(value) { + this.ast.data.typeParameter = value?.ast; + } + get nameType(): TypeNode | undefined { + return this.ast.data.nameType?.node; + } + set nameType(value) { + this.ast.data.nameType = value?.ast; + } + get questionToken(): QuestionToken | PlusToken | MinusToken | undefined { + return this.ast.data.questionToken?.node; + } + set questionToken(value) { + this.ast.data.questionToken = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get members(): NodeArray | undefined { + return this.ast.data.members?.nodes; + } + set members(value) { + this.ast.data.members = value?.ast; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -3386,8 +5158,12 @@ export class LiteralTypeNode extends Node { return this.ast.data.templateSpans?.nodes!; } // TODO: remove '!' - set templateSpans(value) { this.ast.data.templateSpans = value?.ast; } + get head(): TemplateHead { + return this.ast.data.head?.node; + } + set head(value) { + this.ast.data.head = value?.ast; + } + get templateSpans(): NodeArray { + return this.ast.data.templateSpans?.nodes!; + } // TODO: remove '!' + set templateSpans(value) { + this.ast.data.templateSpans = value?.ast; + } } /** @internal */ @@ -3430,13 +5214,25 @@ export class TemplateLiteralTypeSpan extends Node; @@ -3480,10 +5275,18 @@ export class PrefixUnaryExpression extends Node { return this.ast.data.colonToken?.node; } - set colonToken(value) { this.ast.data.colonToken = value?.ast; } - get whenFalse(): Expression { return this.ast.data.whenFalse?.node; } - set whenFalse(value) { this.ast.data.whenFalse = value?.ast; } + get condition(): Expression { + return this.ast.data.condition?.node; + } + set condition(value) { + this.ast.data.condition = value?.ast; + } + get questionToken(): QuestionToken { + return this.ast.data.questionToken?.node; + } + set questionToken(value) { + this.ast.data.questionToken = value?.ast; + } + get whenTrue(): Expression { + return this.ast.data.whenTrue?.node; + } + set whenTrue(value) { + this.ast.data.whenTrue = value?.ast; + } + get colonToken(): Token { + return this.ast.data.colonToken?.node; + } + set colonToken(value) { + this.ast.data.colonToken = value?.ast; + } + get whenFalse(): Expression { + return this.ast.data.whenFalse?.node; + } + set whenFalse(value) { + this.ast.data.whenFalse = value?.ast; + } } /** @internal */ @@ -3788,8 +5667,7 @@ export class AstConditionalExpressionData extends AstData { } /** @internal */ -export type FunctionBody = - | Block; +export type FunctionBody = Block; /** @internal */ export type AstFunctionBody = AstNodeOneOf; @@ -3818,38 +5696,102 @@ export class FunctionExpression extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get asteriskToken(): AsteriskToken | undefined { return this.ast.data.asteriskToken?.node; } - set asteriskToken(value) { this.ast.data.asteriskToken = value?.ast; } - get name(): Identifier | undefined { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - /** @internal */ get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - /** @internal */ set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get body(): Block { return this.ast.data.body?.node; } - set body(value) { this.ast.data.body = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } - get flowNode(): FlowNode | undefined { return this.ast.data.flowNode; } - set flowNode(value: FlowNode | undefined) { this.ast.data.flowNode = value; } - get endFlowNode(): ts.FlowNode | undefined { return this.ast.data.endFlowNode; } - set endFlowNode(value) { this.ast.data.endFlowNode = value; } - get returnFlowNode(): ts.FlowNode | undefined { return this.ast.data.returnFlowNode; } - set returnFlowNode(value) { this.ast.data.returnFlowNode = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get asteriskToken(): AsteriskToken | undefined { + return this.ast.data.asteriskToken?.node; + } + set asteriskToken(value) { + this.ast.data.asteriskToken = value?.ast; + } + get name(): Identifier | undefined { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + /** @internal */ get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + /** @internal */ set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get body(): Block { + return this.ast.data.body?.node; + } + set body(value) { + this.ast.data.body = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } + get flowNode(): FlowNode | undefined { + return this.ast.data.flowNode; + } + set flowNode(value: FlowNode | undefined) { + this.ast.data.flowNode = value; + } + get endFlowNode(): ts.FlowNode | undefined { + return this.ast.data.endFlowNode; + } + set endFlowNode(value) { + this.ast.data.endFlowNode = value; + } + get returnFlowNode(): ts.FlowNode | undefined { + return this.ast.data.returnFlowNode; + } + set returnFlowNode(value) { + this.ast.data.returnFlowNode = value; + } } /** @internal */ @@ -3907,36 +5849,96 @@ export class ArrowFunction extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get equalsGreaterThanToken(): EqualsGreaterThanToken { return this.ast.data.equalsGreaterThanToken?.node; } - set equalsGreaterThanToken(value) { this.ast.data.equalsGreaterThanToken = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get body(): Block | Expression { return this.ast.data.body?.node; } - set body(value) { this.ast.data.body = value?.ast; } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } - get flowNode(): FlowNode | undefined { return this.ast.data.flowNode; } - set flowNode(value: FlowNode | undefined) { this.ast.data.flowNode = value; } - get endFlowNode(): ts.FlowNode | undefined { return this.ast.data.endFlowNode; } - set endFlowNode(value) { this.ast.data.endFlowNode = value; } - get returnFlowNode(): ts.FlowNode | undefined { return this.ast.data.returnFlowNode; } - set returnFlowNode(value) { this.ast.data.returnFlowNode = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get equalsGreaterThanToken(): EqualsGreaterThanToken { + return this.ast.data.equalsGreaterThanToken?.node; + } + set equalsGreaterThanToken(value) { + this.ast.data.equalsGreaterThanToken = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get body(): Block | Expression { + return this.ast.data.body?.node; + } + set body(value) { + this.ast.data.body = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } + get flowNode(): FlowNode | undefined { + return this.ast.data.flowNode; + } + set flowNode(value: FlowNode | undefined) { + this.ast.data.flowNode = value; + } + get endFlowNode(): ts.FlowNode | undefined { + return this.ast.data.endFlowNode; + } + set endFlowNode(value) { + this.ast.data.endFlowNode = value; + } + get returnFlowNode(): ts.FlowNode | undefined { + return this.ast.data.returnFlowNode; + } + set returnFlowNode(value) { + this.ast.data.returnFlowNode = value; + } } /** @internal */ @@ -3987,12 +5989,24 @@ export class RegularExpressionLiteral extends Token; export class TemplateHead extends Token implements ts.TemplateHead { declare readonly ast: AstTemplateHead; - override get parent() { return super.parent as TemplateExpression | TemplateLiteralTypeNode; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as TemplateExpression | TemplateLiteralTypeNode; + } + override set parent(value) { + super.parent = value; + } - get text(): string { return this.ast.data.text; } - set text(value) { this.ast.data.text = value; } - get isUnterminated(): boolean | undefined { return this.ast.data.isUnterminated; } - set isUnterminated(value) { this.ast.data.isUnterminated = value; } - get hasExtendedUnicodeEscape(): boolean | undefined { return this.ast.data.hasExtendedUnicodeEscape; } - set hasExtendedUnicodeEscape(value) { this.ast.data.hasExtendedUnicodeEscape = value; } - get rawText(): string | undefined { return this.ast.data.rawText; } - set rawText(value) { this.ast.data.rawText = value; } - get templateFlags(): ts.TokenFlags { return this.ast.data.templateFlags; } - set templateFlags(value) { this.ast.data.templateFlags = value; } + get text(): string { + return this.ast.data.text; + } + set text(value) { + this.ast.data.text = value; + } + get isUnterminated(): boolean | undefined { + return this.ast.data.isUnterminated; + } + set isUnterminated(value) { + this.ast.data.isUnterminated = value; + } + get hasExtendedUnicodeEscape(): boolean | undefined { + return this.ast.data.hasExtendedUnicodeEscape; + } + set hasExtendedUnicodeEscape(value) { + this.ast.data.hasExtendedUnicodeEscape = value; + } + get rawText(): string | undefined { + return this.ast.data.rawText; + } + set rawText(value) { + this.ast.data.rawText = value; + } + get templateFlags(): ts.TokenFlags { + return this.ast.data.templateFlags; + } + set templateFlags(value) { + this.ast.data.templateFlags = value; + } } /** @internal */ @@ -4229,19 +6343,43 @@ export class AstTemplateHeadData extends AstTokenData { export class TemplateMiddle extends Token implements ts.TemplateMiddle { declare readonly ast: AstTemplateMiddle; - override get parent() { return super.parent as TemplateSpan | TemplateLiteralTypeSpan; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as TemplateSpan | TemplateLiteralTypeSpan; + } + override set parent(value) { + super.parent = value; + } - get text(): string { return this.ast.data.text; } - set text(value) { this.ast.data.text = value; } - get isUnterminated(): boolean | undefined { return this.ast.data.isUnterminated; } - set isUnterminated(value) { this.ast.data.isUnterminated = value; } - get hasExtendedUnicodeEscape(): boolean | undefined { return this.ast.data.hasExtendedUnicodeEscape; } - set hasExtendedUnicodeEscape(value) { this.ast.data.hasExtendedUnicodeEscape = value; } - get rawText(): string | undefined { return this.ast.data.rawText; } - set rawText(value) { this.ast.data.rawText = value; } - get templateFlags(): ts.TokenFlags { return this.ast.data.templateFlags; } - set templateFlags(value) { this.ast.data.templateFlags = value; } + get text(): string { + return this.ast.data.text; + } + set text(value) { + this.ast.data.text = value; + } + get isUnterminated(): boolean | undefined { + return this.ast.data.isUnterminated; + } + set isUnterminated(value) { + this.ast.data.isUnterminated = value; + } + get hasExtendedUnicodeEscape(): boolean | undefined { + return this.ast.data.hasExtendedUnicodeEscape; + } + set hasExtendedUnicodeEscape(value) { + this.ast.data.hasExtendedUnicodeEscape = value; + } + get rawText(): string | undefined { + return this.ast.data.rawText; + } + set rawText(value) { + this.ast.data.rawText = value; + } + get templateFlags(): ts.TokenFlags { + return this.ast.data.templateFlags; + } + set templateFlags(value) { + this.ast.data.templateFlags = value; + } } /** @internal */ @@ -4261,19 +6399,43 @@ export class AstTemplateMiddleData extends AstTokenData { export class TemplateTail extends Token implements ts.TemplateTail { declare readonly ast: AstTemplateTail; - override get parent() { return super.parent as TemplateSpan | TemplateLiteralTypeSpan; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as TemplateSpan | TemplateLiteralTypeSpan; + } + override set parent(value) { + super.parent = value; + } - get text(): string { return this.ast.data.text; } - set text(value) { this.ast.data.text = value; } - get isUnterminated(): boolean | undefined { return this.ast.data.isUnterminated; } - set isUnterminated(value) { this.ast.data.isUnterminated = value; } - get hasExtendedUnicodeEscape(): boolean | undefined { return this.ast.data.hasExtendedUnicodeEscape; } - set hasExtendedUnicodeEscape(value) { this.ast.data.hasExtendedUnicodeEscape = value; } - get rawText(): string | undefined { return this.ast.data.rawText; } - set rawText(value) { this.ast.data.rawText = value; } - get templateFlags(): ts.TokenFlags { return this.ast.data.templateFlags; } - set templateFlags(value) { this.ast.data.templateFlags = value; } + get text(): string { + return this.ast.data.text; + } + set text(value) { + this.ast.data.text = value; + } + get isUnterminated(): boolean | undefined { + return this.ast.data.isUnterminated; + } + set isUnterminated(value) { + this.ast.data.isUnterminated = value; + } + get hasExtendedUnicodeEscape(): boolean | undefined { + return this.ast.data.hasExtendedUnicodeEscape; + } + set hasExtendedUnicodeEscape(value) { + this.ast.data.hasExtendedUnicodeEscape = value; + } + get rawText(): string | undefined { + return this.ast.data.rawText; + } + set rawText(value) { + this.ast.data.rawText = value; + } + get templateFlags(): ts.TokenFlags { + return this.ast.data.templateFlags; + } + set templateFlags(value) { + this.ast.data.templateFlags = value; + } } /** @internal */ @@ -4300,10 +6462,18 @@ export class TemplateExpression extends Node { return this.ast.data.templateSpans?.nodes!; } // TODO: remove `!` - set templateSpans(value) { this.ast.data.templateSpans = value?.ast; } + get head(): TemplateHead { + return this.ast.data.head?.node; + } + set head(value) { + this.ast.data.head = value?.ast; + } + get templateSpans(): NodeArray { + return this.ast.data.templateSpans?.nodes!; // TODO: remove `!` + } + set templateSpans(value) { + this.ast.data.templateSpans = value?.ast; + } } /** @internal */ @@ -4322,13 +6492,25 @@ export class AstTemplateExpressionData extends AstData { export class TemplateSpan extends Node implements ts.TemplateSpan { declare readonly ast: AstTemplateSpan; - override get parent() { return super.parent as TemplateExpression; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as TemplateExpression; + } + override set parent(value) { + super.parent = value; + } - get expression(): Expression { return this.ast.data.expression?.node; } - set expression(value) { this.ast.data.expression = value?.ast; } - get literal(): TemplateMiddle | TemplateTail { return this.ast.data.literal?.node; } - set literal(value) { this.ast.data.literal = value?.ast; } + get expression(): Expression { + return this.ast.data.expression?.node; + } + set expression(value) { + this.ast.data.expression = value?.ast; + } + get literal(): TemplateMiddle | TemplateTail { + return this.ast.data.literal?.node; + } + set literal(value) { + this.ast.data.literal = value?.ast; + } } /** @internal */ @@ -4355,10 +6537,18 @@ export class ParenthesizedExpression extends Node { return this.ast.data.elements?.nodes!; } // TODO: remove '!' - set elements(value: NodeArray) { this.ast.data.elements = value?.ast; } - get multiLine(): boolean | undefined { return this.ast.data.multiLine; } - set multiLine(value) { this.ast.data.multiLine = value; } + get elements(): NodeArray { + return this.ast.data.elements?.nodes!; + } // TODO: remove '!' + set elements(value: NodeArray) { + this.ast.data.elements = value?.ast; + } + get multiLine(): boolean | undefined { + return this.ast.data.multiLine; + } + set multiLine(value) { + this.ast.data.multiLine = value; + } } /** @internal */ @@ -4413,11 +6611,19 @@ export class SpreadElement extends Node; @@ -4465,16 +6670,36 @@ export class ObjectLiteralExpression extends Node { return this.ast.data.properties?.nodes!; } // TODO: remove '!' - set properties(value) { this.ast.data.properties = value?.ast; } - get multiLine(): boolean | undefined { return this.ast.data.multiLine; } - set multiLine(value) { this.ast.data.multiLine = value; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get properties(): NodeArray { + return this.ast.data.properties?.nodes!; + } // TODO: remove '!' + set properties(value) { + this.ast.data.properties = value?.ast; + } + get multiLine(): boolean | undefined { + return this.ast.data.multiLine; + } + set multiLine(value) { + this.ast.data.multiLine = value; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -4504,20 +6729,48 @@ export class PropertyAccessExpression extends Node | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get arguments(): NodeArray { return this.ast.data.arguments?.nodes!; } // TODO: remove `!` - set arguments(value) { this.ast.data.arguments = value?.ast; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get expression(): LeftHandSideExpression { + return this.ast.data.expression?.node; + } + set expression(value) { + this.ast.data.expression = value?.ast; + } + get questionDotToken(): QuestionDotToken | undefined { + return this.ast.data.questionDotToken?.node; + } + set questionDotToken(value) { + this.ast.data.questionDotToken = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get arguments(): NodeArray { + return this.ast.data.arguments?.nodes!; // TODO: remove `!` + } + set arguments(value) { + this.ast.data.arguments = value?.ast; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -4711,8 +7016,9 @@ export class AstCallExpressionData extends AstData { if (this.typeArguments) { transformFlags |= TransformFlags.ContainsTypeScript; } - if ((this.expression.kind === SyntaxKind.PropertyAccessExpression || - this.expression.kind === SyntaxKind.ElementAccessExpression) && + if ( + (this.expression.kind === SyntaxKind.PropertyAccessExpression || + this.expression.kind === SyntaxKind.ElementAccessExpression) && (this.expression as AstNode).data.expression.kind === SyntaxKind.SuperKeyword ) { transformFlags |= TransformFlags.ContainsLexicalThis; @@ -4764,10 +7070,18 @@ export class ExpressionWithTypeArguments extends Node | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } + get expression(): LeftHandSideExpression { + return this.ast.data.expression?.node; + } + set expression(value) { + this.ast.data.expression = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } } /** @internal */ @@ -4794,16 +7108,36 @@ export class NewExpression extends Node | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get arguments(): NodeArray | undefined { return this.ast.data.arguments?.nodes; } - set arguments(value) { this.ast.data.arguments = value?.ast; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get expression(): LeftHandSideExpression { + return this.ast.data.expression?.node; + } + set expression(value) { + this.ast.data.expression = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get arguments(): NodeArray | undefined { + return this.ast.data.arguments?.nodes; + } + set arguments(value) { + this.ast.data.arguments = value?.ast; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -4830,8 +7164,7 @@ export class AstNewExpressionData extends AstData { /** @internal */ export type TemplateLiteral = | TemplateExpression - | NoSubstitutionTemplateLiteral - ; + | NoSubstitutionTemplateLiteral; /** @internal */ export type AstTemplateLiteral = AstNodeOneOf; @@ -4846,14 +7179,30 @@ export class TaggedTemplateExpression extends Node | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get template(): NoSubstitutionTemplateLiteral | TemplateExpression { return this.ast.data.template?.node; } - set template(value) { this.ast.data.template = value?.ast; } - get questionDotToken(): QuestionDotToken | undefined { return this.ast.data.questionDotToken?.node; } - set questionDotToken(value) { this.ast.data.questionDotToken = value?.ast; } + get tag(): LeftHandSideExpression { + return this.ast.data.tag?.node; + } + set tag(value) { + this.ast.data.tag = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get template(): NoSubstitutionTemplateLiteral | TemplateExpression { + return this.ast.data.template?.node; + } + set template(value) { + this.ast.data.template = value?.ast; + } + get questionDotToken(): QuestionDotToken | undefined { + return this.ast.data.questionDotToken?.node; + } + set questionDotToken(value) { + this.ast.data.questionDotToken = value?.ast; + } } /** @internal */ @@ -4884,10 +7233,18 @@ export class AsExpression extends Node i declare _unaryExpressionBrand: any; declare _expressionBrand: any; - get openingElement(): JsxOpeningElement { return this.ast.data.openingElement?.node; } - set openingElement(value: JsxOpeningElement) { this.ast.data.openingElement = value?.ast; } - get children(): NodeArray { return this.ast.data.children.nodes; } - set children(value: NodeArray) { this.ast.data.children = value?.ast; } - get closingElement(): JsxClosingElement { return this.ast.data.closingElement?.node; } - set closingElement(value: JsxClosingElement) { this.ast.data.closingElement = value?.ast; } + get openingElement(): JsxOpeningElement { + return this.ast.data.openingElement?.node; + } + set openingElement(value: JsxOpeningElement) { + this.ast.data.openingElement = value?.ast; + } + get children(): NodeArray { + return this.ast.data.children.nodes; + } + set children(value: NodeArray) { + this.ast.data.children = value?.ast; + } + get closingElement(): JsxClosingElement { + return this.ast.data.closingElement?.node; + } + set closingElement(value: JsxClosingElement) { + this.ast.data.closingElement = value?.ast; + } } /** @internal */ @@ -5062,8 +7463,7 @@ export class AstJsxElementData extends AstData { /** @internal */ export type JsxOpeningLikeElement = | JsxSelfClosingElement - | JsxOpeningElement - ; + | JsxOpeningElement; /** @internal */ export type AstJsxOpeningLikeElement = AstNodeOneOf; @@ -5121,15 +7521,31 @@ export class JsxAttributes extends Node { return this.ast.data.properties.nodes; } - set properties(value) { this.ast.data.properties = value?.ast; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get properties(): NodeArray { + return this.ast.data.properties.nodes; + } + set properties(value) { + this.ast.data.properties = value?.ast; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -5149,10 +7565,18 @@ export class AstJsxAttributesData extends AstData { export class JsxNamespacedName extends Node implements ts.JsxNamespacedName { declare readonly ast: AstJsxNamespacedName; - get name(): Identifier { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get namespace(): Identifier { return this.ast.data.namespace?.node; } - set namespace(value) { this.ast.data.namespace = value?.ast; } + get name(): Identifier { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get namespace(): Identifier { + return this.ast.data.namespace?.node; + } + set namespace(value) { + this.ast.data.namespace = value?.ast; + } } /** @internal */ @@ -5173,15 +7597,31 @@ export class JsxOpeningElement extends Node | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get attributes(): JsxAttributes { return this.ast.data.attributes?.node; } - set attributes(value) { this.ast.data.attributes = value?.ast; } + get tagName(): JsxTagNameExpression { + return this.ast.data.tagName?.node; + } + set tagName(value) { + this.ast.data.tagName = value.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get attributes(): JsxAttributes { + return this.ast.data.attributes?.node; + } + set attributes(value) { + this.ast.data.attributes = value?.ast; + } } /** @internal */ @@ -5206,11 +7646,19 @@ export class AstJsxOpeningElementData extends AstData { export class JsxClosingElement extends Node implements ts.JsxClosingElement { declare readonly ast: AstJsxClosingElement; - override get parent() { return super.parent as JsxElement; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as JsxElement; + } + override set parent(value) { + super.parent = value; + } - get tagName(): JsxTagNameExpression { return this.ast.data.tagName?.node; } - set tagName(value) { this.ast.data.tagName = value.ast; } + get tagName(): JsxTagNameExpression { + return this.ast.data.tagName?.node; + } + set tagName(value) { + this.ast.data.tagName = value.ast; + } } /** @internal */ @@ -5234,12 +7682,24 @@ export class JsxSelfClosingElement extends Node | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get attributes(): JsxAttributes { return this.ast.data.attributes?.node; } - set attributes(value) { this.ast.data.attributes = value?.ast; } + get tagName(): JsxTagNameExpression { + return this.ast.data.tagName?.node; + } + set tagName(value) { + this.ast.data.tagName = value.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get attributes(): JsxAttributes { + return this.ast.data.attributes?.node; + } + set attributes(value) { + this.ast.data.attributes = value?.ast; + } } /** @internal */ @@ -5271,12 +7731,24 @@ export class JsxFragment extends Node { return this.ast.data.children.nodes; } - set children(value: NodeArray) { this.ast.data.children = value?.ast; } - get closingFragment(): JsxClosingFragment { return this.ast.data.closingFragment?.node; } - set closingFragment(value: JsxClosingFragment) { this.ast.data.closingFragment = value?.ast; } + get openingFragment(): JsxOpeningFragment { + return this.ast.data.openingFragment?.node; + } + set openingFragment(value: JsxOpeningFragment) { + this.ast.data.openingFragment = value?.ast; + } + get children(): NodeArray { + return this.ast.data.children.nodes; + } + set children(value: NodeArray) { + this.ast.data.children = value?.ast; + } + get closingFragment(): JsxClosingFragment { + return this.ast.data.closingFragment?.node; + } + set closingFragment(value: JsxClosingFragment) { + this.ast.data.closingFragment = value?.ast; + } } /** @internal */ @@ -5299,8 +7771,12 @@ export class JsxOpeningFragment extends Node implements ts.JsxText { declare readonly ast: AstJsxText; - override get parent() { return super.parent as JsxElement | JsxFragment; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as JsxElement | JsxFragment; + } + override set parent(value) { + super.parent = value; + } - get text(): string { return this.ast.data.text; } - set text(value) { this.ast.data.text = value; } - get isUnterminated(): boolean | undefined { return this.ast.data.isUnterminated; } - set isUnterminated(value) { this.ast.data.isUnterminated = value; } - get hasExtendedUnicodeEscape(): boolean | undefined { return this.ast.data.hasExtendedUnicodeEscape; } - set hasExtendedUnicodeEscape(value) { this.ast.data.hasExtendedUnicodeEscape = value; } - get containsOnlyTriviaWhiteSpaces(): boolean { return this.ast.data.containsOnlyTriviaWhiteSpaces; } - set containsOnlyTriviaWhiteSpaces(value) { this.ast.data.containsOnlyTriviaWhiteSpaces = value; } + get text(): string { + return this.ast.data.text; + } + set text(value) { + this.ast.data.text = value; + } + get isUnterminated(): boolean | undefined { + return this.ast.data.isUnterminated; + } + set isUnterminated(value) { + this.ast.data.isUnterminated = value; + } + get hasExtendedUnicodeEscape(): boolean | undefined { + return this.ast.data.hasExtendedUnicodeEscape; + } + set hasExtendedUnicodeEscape(value) { + this.ast.data.hasExtendedUnicodeEscape = value; + } + get containsOnlyTriviaWhiteSpaces(): boolean { + return this.ast.data.containsOnlyTriviaWhiteSpaces; + } + set containsOnlyTriviaWhiteSpaces(value) { + this.ast.data.containsOnlyTriviaWhiteSpaces = value; + } } /** @internal */ @@ -5460,20 +8000,17 @@ export type JsxChild = | JsxExpression | JsxElement | JsxSelfClosingElement - | JsxFragment - ; + | JsxFragment; /** @internal */ export type AstJsxChild = AstNodeOneOf; - /** @internal */ export type IterationStatement = | DoStatement | WhileStatement | ForStatement - | ForInOrOfStatement - ; + | ForInOrOfStatement; /** @internal */ export type AstIterationStatement = AstNodeOneOf; @@ -5485,8 +8022,12 @@ export class EmptyStatement extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get name(): Identifier | undefined { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -5570,16 +8139,36 @@ export class Block extends Node implements JSDoc declare _jsdocContainerBrand: any; declare _localsContainerBrand: any; - get statements(): NodeArray { return this.ast.data.statements?.nodes!; } // TODO: remove `!` - set statements(value) { this.ast.data.statements = value?.ast; } - get multiLine(): boolean | undefined { return this.ast.data.multiLine; } - set multiLine(value) { this.ast.data.multiLine = value; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get statements(): NodeArray { + return this.ast.data.statements?.nodes!; // TODO: remove `!` + } + set statements(value) { + this.ast.data.statements = value?.ast; + } + get multiLine(): boolean | undefined { + return this.ast.data.multiLine; + } + set multiLine(value) { + this.ast.data.multiLine = value; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -5604,14 +8193,30 @@ export class VariableStatement extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get declarationList(): VariableDeclarationList { return this.ast.data.declarationList?.node; } - set declarationList(value) { this.ast.data.declarationList = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get flowNode(): FlowNode | undefined { return this.ast.data.flowNode; } - set flowNode(value: FlowNode | undefined) { this.ast.data.flowNode = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get declarationList(): VariableDeclarationList { + return this.ast.data.declarationList?.node; + } + set declarationList(value) { + this.ast.data.declarationList = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get flowNode(): FlowNode | undefined { + return this.ast.data.flowNode; + } + set flowNode(value: FlowNode | undefined) { + this.ast.data.flowNode = value; + } } /** @internal */ @@ -5640,12 +8245,24 @@ export class ExpressionStatement extends Node; - /** @internal */ export class ForStatement extends Node implements JSDocContainer, LocalsContainer, FlowContainer, ts.ForStatement { declare readonly ast: AstForStatement; @@ -5782,22 +8449,54 @@ export class ForStatement extends Node; @@ -5838,20 +8536,48 @@ export class ForInStatement extends Node impl declare _localsContainerBrand: any; - override get parent() { return super.parent as SwitchStatement; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as SwitchStatement; + } + override set parent(value) { + super.parent = value; + } - get clauses(): NodeArray { return this.ast.data.clauses?.nodes!; } // TODO: remove '!' - set clauses(value) { this.ast.data.clauses = value?.ast; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get clauses(): NodeArray { + return this.ast.data.clauses?.nodes!; + } // TODO: remove '!' + set clauses(value) { + this.ast.data.clauses = value?.ast; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -6121,17 +8967,37 @@ export class CaseClause extends Node i declare _jsdocContainerBrand: any; - override get parent() { return super.parent as CaseBlock; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as CaseBlock; + } + override set parent(value) { + super.parent = value; + } - get expression(): Expression { return this.ast.data.expression?.node; } - set expression(value) { this.ast.data.expression = value?.ast; } - get statements(): NodeArray { return this.ast.data.statements?.nodes!; } // TODO: remove `!` - set statements(value) { this.ast.data.statements = value?.ast; } - get fallthroughFlowNode(): ts.FlowNode | undefined { return this.ast.data.fallthroughFlowNode; } - set fallthroughFlowNode(value) { this.ast.data.fallthroughFlowNode = value; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } + get expression(): Expression { + return this.ast.data.expression?.node; + } + set expression(value) { + this.ast.data.expression = value?.ast; + } + get statements(): NodeArray { + return this.ast.data.statements?.nodes!; // TODO: remove `!` + } + set statements(value) { + this.ast.data.statements = value?.ast; + } + get fallthroughFlowNode(): ts.FlowNode | undefined { + return this.ast.data.fallthroughFlowNode; + } + set fallthroughFlowNode(value) { + this.ast.data.fallthroughFlowNode = value; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } } /** @internal */ @@ -6152,13 +9018,25 @@ export class AstCaseClauseData extends AstData { export class DefaultClause extends Node implements ts.DefaultClause { declare readonly ast: AstDefaultClause; - override get parent() { return super.parent as CaseBlock; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as CaseBlock; + } + override set parent(value) { + super.parent = value; + } - get statements(): NodeArray { return this.ast.data.statements?.nodes!; } // TODO: remove `!` - set statements(value) { this.ast.data.statements = value?.ast; } - get fallthroughFlowNode(): ts.FlowNode | undefined { return this.ast.data.fallthroughFlowNode; } - set fallthroughFlowNode(value) { this.ast.data.fallthroughFlowNode = value; } + get statements(): NodeArray { + return this.ast.data.statements?.nodes!; // TODO: remove `!` + } + set statements(value) { + this.ast.data.statements = value?.ast; + } + get fallthroughFlowNode(): ts.FlowNode | undefined { + return this.ast.data.fallthroughFlowNode; + } + set fallthroughFlowNode(value) { + this.ast.data.fallthroughFlowNode = value; + } } /** @internal */ @@ -6175,8 +9053,7 @@ export class AstDefaultClauseData extends AstData { /** @internal */ export type CaseOrDefaultClause = | CaseClause - | DefaultClause - ; + | DefaultClause; /** @internal */ export type AstCaseOrDefaultClause = AstNodeOneOf; @@ -6189,14 +9066,30 @@ export class LabeledStatement extends Node; @@ -6361,22 +9305,54 @@ export class ClassDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get name(): Identifier | undefined { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get heritageClauses(): NodeArray | undefined { return this.ast.data.heritageClauses?.nodes; } - set heritageClauses(value) { this.ast.data.heritageClauses = value?.ast; } - get members(): NodeArray { return this.ast.data.members?.nodes!; } // TODO: remove `!` - set members(value: NodeArray) { this.ast.data.members = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get name(): Identifier | undefined { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get heritageClauses(): NodeArray | undefined { + return this.ast.data.heritageClauses?.nodes; + } + set heritageClauses(value) { + this.ast.data.heritageClauses = value?.ast; + } + get members(): NodeArray { + return this.ast.data.members?.nodes!; // TODO: remove `!` + } + set members(value: NodeArray) { + this.ast.data.members = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -6424,22 +9400,54 @@ export class ClassExpression extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get name(): Identifier | undefined { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get heritageClauses(): NodeArray | undefined { return this.ast.data.heritageClauses?.nodes; } - set heritageClauses(value) { this.ast.data.heritageClauses = value?.ast; } - get members(): NodeArray { return this.ast.data.members?.nodes!; } // TODO: remove `!` - set members(value) { this.ast.data.members = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get name(): Identifier | undefined { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get heritageClauses(): NodeArray | undefined { + return this.ast.data.heritageClauses?.nodes; + } + set heritageClauses(value) { + this.ast.data.heritageClauses = value?.ast; + } + get members(): NodeArray { + return this.ast.data.members?.nodes!; // TODO: remove `!` + } + set members(value) { + this.ast.data.members = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -6491,22 +9499,54 @@ export class InterfaceDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get name(): Identifier { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get heritageClauses(): NodeArray | undefined { return this.ast.data.heritageClauses?.nodes; } - set heritageClauses(value) { this.ast.data.heritageClauses = value?.ast; } - get members(): NodeArray { return this.ast.data.members?.nodes!; } // TODO: remove '!' - set members(value) { this.ast.data.members = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get name(): Identifier { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get heritageClauses(): NodeArray | undefined { + return this.ast.data.heritageClauses?.nodes; + } + set heritageClauses(value) { + this.ast.data.heritageClauses = value?.ast; + } + get members(): NodeArray { + return this.ast.data.members?.nodes!; + } // TODO: remove '!' + set members(value) { + this.ast.data.members = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -6526,13 +9566,25 @@ export class AstInterfaceDeclarationData extends AstTypeScriptNodeData { export class HeritageClause extends Node implements ts.HeritageClause { declare readonly ast: AstHeritageClause; - override get parent() { return super.parent as InterfaceDeclaration | ClassLikeDeclaration; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as InterfaceDeclaration | ClassLikeDeclaration; + } + override set parent(value) { + super.parent = value; + } - get token(): ts.SyntaxKind.ExtendsKeyword | ts.SyntaxKind.ImplementsKeyword { return this.ast.data.token; } - set token(value) { this.ast.data.token = value; } - get types(): NodeArray { return this.ast.data.types?.nodes!; } // TODO: remove '!' - set types(value) { this.ast.data.types = value?.ast; } + get token(): ts.SyntaxKind.ExtendsKeyword | ts.SyntaxKind.ImplementsKeyword { + return this.ast.data.token; + } + set token(value) { + this.ast.data.token = value; + } + get types(): NodeArray { + return this.ast.data.types?.nodes!; + } // TODO: remove '!' + set types(value) { + this.ast.data.types = value?.ast; + } } /** @internal */ @@ -6561,24 +9613,60 @@ export class TypeAliasDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get name(): Identifier { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get typeParameters(): NodeArray | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get type(): TypeNode { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get name(): Identifier { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get type(): TypeNode { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -6603,18 +9691,42 @@ export class EnumDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get name(): Identifier { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get members(): NodeArray { return this.ast.data.members?.nodes!; } // TODO: remove '!' - set members(value) { this.ast.data.members = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get name(): Identifier { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get members(): NodeArray { + return this.ast.data.members?.nodes!; + } // TODO: remove '!' + set members(value) { + this.ast.data.members = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -6644,19 +9756,43 @@ export class EnumMember extends Node i declare _declarationBrand: any; declare _jsdocContainerBrand: any; - override get parent() { return super.parent as EnumDeclaration; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as EnumDeclaration; + } + override set parent(value) { + super.parent = value; + } - get name(): PropertyName { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get initializer(): Expression | undefined { return this.ast.data.initializer?.node; } - set initializer(value) { this.ast.data.initializer = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get name(): PropertyName { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get initializer(): Expression | undefined { + return this.ast.data.initializer?.node; + } + set initializer(value) { + this.ast.data.initializer = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -6678,8 +9814,7 @@ export class AstEnumMemberData extends AstData { /** @internal */ export type ModuleName = | Identifier - | StringLiteral - ; + | StringLiteral; /** @internal */ export type AstModuleName = AstNodeOneOf; @@ -6687,8 +9822,7 @@ export type AstModuleName = AstNodeOneOf; /** @internal */ export type ModuleBody = | NamespaceBody - | JSDocNamespaceBody - ; + | JSDocNamespaceBody; /** @internal */ export type AstModuleBody = AstNodeOneOf; @@ -6702,25 +9836,61 @@ export class ModuleDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get name(): ModuleName { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get body(): ModuleBody | JSDocNamespaceDeclaration | undefined { return this.ast.data.body?.node; } - set body(value) { this.ast.data.body = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get name(): ModuleName { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get body(): ModuleBody | JSDocNamespaceDeclaration | undefined { + return this.ast.data.body?.node; + } + set body(value) { + this.ast.data.body = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -6753,8 +9923,7 @@ export class AstModuleDeclarationData extends AstData { /** @internal */ export type NamespaceBody = | ModuleBlock - | NamespaceDeclaration - ; + | NamespaceDeclaration; /** @internal */ export type AstNamespaceBody = AstNodeOneOf; @@ -6779,8 +9948,7 @@ export interface AstNamespaceDeclarationData extends AstModuleDeclarationData { /** @internal */ export type JSDocNamespaceBody = | Identifier - | JSDocNamespaceDeclaration - ; + | JSDocNamespaceDeclaration; /** @internal */ export type AstJSDocNamespaceBody = AstNodeOneOf; @@ -6809,13 +9977,25 @@ export class ModuleBlock extends Node { return this.ast.data.statements?.nodes!; } // TODO: remove `!` - set statements(value) { this.ast.data.statements = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } + get statements(): NodeArray { + return this.ast.data.statements?.nodes!; // TODO: remove `!` + } + set statements(value) { + this.ast.data.statements = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } } /** @internal */ @@ -6831,8 +10011,7 @@ export class AstModuleBlockData extends AstData { /** @internal */ export type ModuleReference = | EntityName - | ExternalModuleReference - ; + | ExternalModuleReference; /** @internal */ export type AstModuleReference = AstNodeOneOf; @@ -6845,23 +10024,55 @@ export class ImportEqualsDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get name(): Identifier { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get isTypeOnly(): boolean { return this.ast.data.isTypeOnly; } - set isTypeOnly(value) { this.ast.data.isTypeOnly = value; } - get moduleReference(): ModuleReference { return this.ast.data.moduleReference?.node; } - set moduleReference(value) { this.ast.data.moduleReference = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get name(): Identifier { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get isTypeOnly(): boolean { + return this.ast.data.isTypeOnly; + } + set isTypeOnly(value) { + this.ast.data.isTypeOnly = value; + } + get moduleReference(): ModuleReference { + return this.ast.data.moduleReference?.node; + } + set moduleReference(value) { + this.ast.data.moduleReference = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -6892,11 +10103,19 @@ export class AstImportEqualsDeclarationData extends AstData { export class ExternalModuleReference extends Node implements ts.ExternalModuleReference { declare readonly ast: AstExternalModuleReference; - override get parent() { return super.parent as ImportEqualsDeclaration; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as ImportEqualsDeclaration; + } + override set parent(value) { + super.parent = value; + } - get expression(): Expression { return this.ast.data.expression?.node; } - set expression(value) { this.ast.data.expression = value?.ast; } + get expression(): Expression { + return this.ast.data.expression?.node; + } + set expression(value) { + this.ast.data.expression = value?.ast; + } } /** @internal */ @@ -6917,26 +10136,62 @@ export class ImportDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get importClause(): ImportClause | undefined { return this.ast.data.importClause?.node; } - set importClause(value) { this.ast.data.importClause = value?.ast; } - get moduleSpecifier(): Expression { return this.ast.data.moduleSpecifier?.node; } - set moduleSpecifier(value) { this.ast.data.moduleSpecifier = value?.ast; } - get attributes(): ImportAttributes | undefined { return this.ast.data.attributes?.node; } - set attributes(value) { this.ast.data.attributes = value?.ast; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get importClause(): ImportClause | undefined { + return this.ast.data.importClause?.node; + } + set importClause(value) { + this.ast.data.importClause = value?.ast; + } + get moduleSpecifier(): Expression { + return this.ast.data.moduleSpecifier?.node; + } + set moduleSpecifier(value) { + this.ast.data.moduleSpecifier = value?.ast; + } + get attributes(): ImportAttributes | undefined { + return this.ast.data.attributes?.node; + } + set attributes(value) { + this.ast.data.attributes = value?.ast; + } /** @deprecated */ - get assertClause(): ImportAttributes | undefined { return this.ast.data.attributes?.node; } - set assertClause(value) { this.ast.data.attributes = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get assertClause(): ImportAttributes | undefined { + return this.ast.data.attributes?.node; + } + set assertClause(value) { + this.ast.data.attributes = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -6961,8 +10216,7 @@ export class AstImportDeclarationData extends AstData { /** @internal */ export type NamedImportBindings = | NamespaceImport - | NamedImports - ; + | NamedImports; /** @internal */ export type AstNamedImportBindings = AstNodeOneOf; @@ -6970,8 +10224,7 @@ export type AstNamedImportBindings = AstNodeOneOf; /** @internal */ export type NamedExportBindings = | NamespaceExport - | NamedExports - ; + | NamedExports; /** @internal */ export type AstNamedExportBindings = AstNodeOneOf; @@ -6982,19 +10235,43 @@ export class ImportClause extends Node; @@ -7050,13 +10326,25 @@ export type AstImportAttributeName = AstNodeOneOf; export class ImportAttribute extends Node implements ts.ImportAttribute { declare readonly ast: AstImportAttribute; - override get parent() { return super.parent as ImportAttributes; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as ImportAttributes; + } + override set parent(value) { + super.parent = value; + } - get name(): ImportAttributeName { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get value(): Expression { return this.ast.data.value?.node; } - set value(value) { this.ast.data.value = value?.ast; } + get name(): ImportAttributeName { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get value(): Expression { + return this.ast.data.value?.node; + } + set value(value) { + this.ast.data.value = value?.ast; + } } /** @internal */ @@ -7085,15 +10373,31 @@ export type AstAssertClause = AstNode; export class ImportAttributes extends Node implements ts.ImportAttributes { declare readonly ast: AstImportAttributes; - override get parent() { return super.parent as ImportDeclaration | ExportDeclaration; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as ImportDeclaration | ExportDeclaration; + } + override set parent(value) { + super.parent = value; + } - get token(): ts.SyntaxKind.WithKeyword | ts.SyntaxKind.AssertKeyword { return this.ast.data.token; } - set token(value) { this.ast.data.token = value; } - get elements(): NodeArray { return this.ast.data.elements?.nodes!; } // TODO: remove `!` - set elements(value) { this.ast.data.elements = value?.ast; } - get multiLine(): boolean | undefined { return this.ast.data.multiLine; } - set multiLine(value) { this.ast.data.multiLine = value; } + get token(): ts.SyntaxKind.WithKeyword | ts.SyntaxKind.AssertKeyword { + return this.ast.data.token; + } + set token(value) { + this.ast.data.token = value; + } + get elements(): NodeArray { + return this.ast.data.elements?.nodes!; // TODO: remove `!` + } + set elements(value) { + this.ast.data.elements = value?.ast; + } + get multiLine(): boolean | undefined { + return this.ast.data.multiLine; + } + set multiLine(value) { + this.ast.data.multiLine = value; + } } /** @internal */ @@ -7113,15 +10417,31 @@ export class NamespaceImport extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get name(): Identifier { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -7211,28 +10567,68 @@ export class ExportDeclaration extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get isTypeOnly(): boolean { return this.ast.data.isTypeOnly; } - set isTypeOnly(value) { this.ast.data.isTypeOnly = value; } - get exportClause(): NamedExportBindings | undefined { return this.ast.data.exportClause?.node; } - set exportClause(value) { this.ast.data.exportClause = value?.ast; } - get moduleSpecifier(): Expression | undefined { return this.ast.data.moduleSpecifier?.node; } - set moduleSpecifier(value) { this.ast.data.moduleSpecifier = value?.ast; } - get attributes(): ImportAttributes | undefined { return this.ast.data.attributes?.node; } - set attributes(value) { this.ast.data.attributes = value?.ast; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get isTypeOnly(): boolean { + return this.ast.data.isTypeOnly; + } + set isTypeOnly(value) { + this.ast.data.isTypeOnly = value; + } + get exportClause(): NamedExportBindings | undefined { + return this.ast.data.exportClause?.node; + } + set exportClause(value) { + this.ast.data.exportClause = value?.ast; + } + get moduleSpecifier(): Expression | undefined { + return this.ast.data.moduleSpecifier?.node; + } + set moduleSpecifier(value) { + this.ast.data.moduleSpecifier = value?.ast; + } + get attributes(): ImportAttributes | undefined { + return this.ast.data.attributes?.node; + } + set attributes(value) { + this.ast.data.attributes = value?.ast; + } /** @deprecated */ - get assertClause(): ImportAttributes | undefined { return this.ast.data.attributes?.node; } - set assertClause(value) { this.ast.data.attributes = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get assertClause(): ImportAttributes | undefined { + return this.ast.data.attributes?.node; + } + set assertClause(value) { + this.ast.data.attributes = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -7260,11 +10656,19 @@ export class AstExportDeclarationData extends AstData { export class NamedImports extends Node implements ts.NamedImports { declare readonly ast: AstNamedImports; - override get parent() { return super.parent as ImportClause; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as ImportClause; + } + override set parent(value) { + super.parent = value; + } - get elements(): NodeArray { return this.ast.data.elements.nodes; } - set elements(value) { this.ast.data.elements = value?.ast; } + get elements(): NodeArray { + return this.ast.data.elements.nodes; + } + set elements(value) { + this.ast.data.elements = value?.ast; + } } /** @internal */ @@ -7282,11 +10686,19 @@ export class AstNamedImportsData extends AstData { export class NamedExports extends Node implements ts.NamedExports { declare readonly ast: AstNamedExports; - override get parent() { return super.parent as ExportDeclaration; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as ExportDeclaration; + } + override set parent(value) { + super.parent = value; + } - get elements(): NodeArray { return this.ast.data.elements?.nodes!; } // TODO: remove '!' - set elements(value) { this.ast.data.elements = value?.ast; } + get elements(): NodeArray { + return this.ast.data.elements?.nodes!; + } // TODO: remove '!' + set elements(value) { + this.ast.data.elements = value?.ast; + } } /** @internal */ @@ -7306,19 +10718,43 @@ export class ImportSpecifier extends Node | undefined { return this.ast.data.modifiers?.nodes; } - set modifiers(value) { this.ast.data.modifiers = value?.ast; } - get isExportEquals(): boolean | undefined { return this.ast.data.isExportEquals; } - set isExportEquals(value) { this.ast.data.isExportEquals = value; } - get expression(): Expression { return this.ast.data.expression?.node; } - set expression(value) { this.ast.data.expression = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value: JSDocArray | undefined) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get modifiers(): NodeArray | undefined { + return this.ast.data.modifiers?.nodes; + } + set modifiers(value) { + this.ast.data.modifiers = value?.ast; + } + get isExportEquals(): boolean | undefined { + return this.ast.data.isExportEquals; + } + set isExportEquals(value) { + this.ast.data.isExportEquals = value; + } + get expression(): Expression { + return this.ast.data.expression?.node; + } + set expression(value) { + this.ast.data.expression = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value: JSDocArray | undefined) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -7438,8 +10930,12 @@ export class JSDocTypeExpression extends Node implements ts.JSDocNameReference { declare readonly ast: AstJSDocNameReference; - get name(): EntityName | JSDocMemberName { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } + get name(): EntityName | JSDocMemberName { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } } /** @internal */ @@ -7464,10 +10964,18 @@ export class AstJSDocNameReferenceData extends AstData { export class JSDocMemberName extends Node implements ts.JSDocMemberName { declare readonly ast: AstJSDocMemberName; - get left(): EntityName | JSDocMemberName { return this.ast.data.left?.node; } - set left(value) { this.ast.data.left = value?.ast; } - get right(): Identifier { return this.ast.data.right?.node; } - set right(value) { this.ast.data.right = value?.ast; } + get left(): EntityName | JSDocMemberName { + return this.ast.data.left?.node; + } + set left(value) { + this.ast.data.left = value?.ast; + } + get right(): Identifier { + return this.ast.data.right?.node; + } + set right(value) { + this.ast.data.right = value?.ast; + } } /** @internal */ @@ -7521,10 +11029,18 @@ export class JSDocNonNullableType extends Node | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters?.nodes!; } // TODO: remove `!` - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): TypeNode | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get typeArguments(): NodeArray | undefined { return this.ast.data.typeArguments?.nodes; } - set typeArguments(value) { this.ast.data.typeArguments = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters?.nodes!; // TODO: remove `!` + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): TypeNode | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get typeArguments(): NodeArray | undefined { + return this.ast.data.typeArguments?.nodes; + } + set typeArguments(value) { + this.ast.data.typeArguments = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -7619,8 +11183,12 @@ export class JSDocVariadicType extends Node implements ts.JSDoc { declare readonly ast: AstJSDocNode; - override get parent() { return super.parent as HasJSDoc; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as HasJSDoc; + } + override set parent(value) { + super.parent = value; + } - get tags(): NodeArray | undefined { return this.ast.data.tags?.nodes; } - set tags(value) { this.ast.data.tags = value?.ast; } + get tags(): NodeArray | undefined { + return this.ast.data.tags?.nodes; + } + set tags(value) { + this.ast.data.tags = value?.ast; + } get comment(): string | NodeArray | undefined { const comment = this.ast.data.comment; return typeof comment === "string" ? comment : comment?.nodes; } - set comment(value) { this.ast.data.comment = typeof value === "string" ? value : value?.ast; } + set comment(value) { + this.ast.data.comment = typeof value === "string" ? value : value?.ast; + } } /** @internal */ @@ -7762,8 +11344,7 @@ export type JSDocTag = | JSDocPropertyTag | JSDocParameterTag | JSDocSatisfiesTag - | JSDocImportTag - ; + | JSDocImportTag; /** @internal */ export type AstJSDocTag = AstNodeOneOf; @@ -7772,10 +11353,18 @@ export type AstJSDocTag = AstNodeOneOf; export class JSDocLink extends Node implements ts.JSDocLink { declare readonly ast: AstJSDocLink; - get name(): EntityName | JSDocMemberName | undefined { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get text(): string { return this.ast.data.text; } - set text(value) { this.ast.data.text = value; } + get name(): EntityName | JSDocMemberName | undefined { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get text(): string { + return this.ast.data.text; + } + set text(value) { + this.ast.data.text = value; + } } /** @internal */ @@ -7788,10 +11377,18 @@ export class AstJSDocLinkData extends AstData { export class JSDocLinkCode extends Node implements ts.JSDocLinkCode { declare readonly ast: AstJSDocLinkCode; - get name(): EntityName | JSDocMemberName | undefined { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get text(): string { return this.ast.data.text; } - set text(value) { this.ast.data.text = value; } + get name(): EntityName | JSDocMemberName | undefined { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get text(): string { + return this.ast.data.text; + } + set text(value) { + this.ast.data.text = value; + } } /** @internal */ @@ -7804,10 +11401,18 @@ export class AstJSDocLinkCodeData extends AstData { export class JSDocLinkPlain extends Node implements ts.JSDocLinkPlain { declare readonly ast: AstJSDocLinkPlain; - get name(): EntityName | JSDocMemberName | undefined { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } - get text(): string { return this.ast.data.text; } - set text(value) { this.ast.data.text = value; } + get name(): EntityName | JSDocMemberName | undefined { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } + get text(): string { + return this.ast.data.text; + } + set text(value) { + this.ast.data.text = value; + } } /** @internal */ @@ -7821,8 +11426,7 @@ export type JSDocComment = | JSDocText | JSDocLink | JSDocLinkCode - | JSDocLinkPlain - ; + | JSDocLinkPlain; /** @internal */ export type AstJSDocComment = AstNodeOneOf; @@ -7831,8 +11435,12 @@ export type AstJSDocComment = AstNodeOneOf; export class JSDocText extends Node implements ts.JSDocText { declare readonly ast: AstJSDocText; - get text(): string { return this.ast.data.text; } - set text(value) { this.ast.data.text = value; } + get text(): string { + return this.ast.data.text; + } + set text(value) { + this.ast.data.text = value; + } } /** @internal */ @@ -7844,16 +11452,26 @@ export class AstJSDocTextData extends AstData { export class BaseJSDocTag extends Node implements ts.JSDocTag { declare readonly ast: AstBaseJSDocTag; - override get parent() { return super.parent as JSDocNode | JSDocTypeLiteral; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as JSDocNode | JSDocTypeLiteral; + } + override set parent(value) { + super.parent = value; + } - get tagName(): Identifier { return this.ast.data.tagName?.node; } - set tagName(value) { this.ast.data.tagName = value?.ast; } + get tagName(): Identifier { + return this.ast.data.tagName?.node; + } + set tagName(value) { + this.ast.data.tagName = value?.ast; + } get comment(): string | NodeArray | undefined { const comment = this.ast.data.comment; return typeof comment === "string" ? comment : comment?.nodes; } - set comment(value) { this.ast.data.comment = typeof value === "string" ? value : value?.ast; } + set comment(value) { + this.ast.data.comment = typeof value === "string" ? value : value?.ast; + } } /** @internal */ @@ -7896,8 +11514,12 @@ export interface AstJSDocClassReferenceData extends AstExpressionWithTypeArgumen /** @internal */ export class JSDocAugmentsTag extends BaseJSDocTag implements ts.JSDocAugmentsTag { declare readonly ast: AstJSDocAugmentsTag; - get class(): JSDocClassReference { return this.ast.data.class.node; } - set class(value) { this.ast.data.class = value.ast; } + get class(): JSDocClassReference { + return this.ast.data.class.node; + } + set class(value) { + this.ast.data.class = value.ast; + } } /** @internal */ @@ -7908,8 +11530,12 @@ export class AstJSDocAugmentsTagData extends AstJSDocTagData { /** @internal */ export class JSDocImplementsTag extends BaseJSDocTag implements ts.JSDocImplementsTag { declare readonly ast: AstJSDocImplementsTag; - get class(): JSDocClassReference { return this.ast.data.class.node; } - set class(value) { this.ast.data.class = value.ast; } + get class(): JSDocClassReference { + return this.ast.data.class.node; + } + set class(value) { + this.ast.data.class = value.ast; + } } /** @internal */ @@ -7995,19 +11621,43 @@ export class JSDocEnumTag extends BaseJSDocTag implements ts.JSDocThisTag { declare readonly ast: AstJSDocThisTag; - get typeExpression(): JSDocTypeExpression { return this.ast.data.typeExpression?.node; } - set typeExpression(value) { this.ast.data.typeExpression = value?.ast; } + get typeExpression(): JSDocTypeExpression { + return this.ast.data.typeExpression?.node; + } + set typeExpression(value) { + this.ast.data.typeExpression = value?.ast; + } } /** @internal */ @@ -8035,10 +11689,18 @@ export class AstJSDocThisTagData extends AstJSDocTagData { /** @internal */ export class JSDocTemplateTag extends BaseJSDocTag implements ts.JSDocTemplateTag { declare readonly ast: AstJSDocTemplateTag; - get constraint(): JSDocTypeExpression | undefined { return this.ast.data.constraint?.node; } - set constraint(value) { this.ast.data.constraint = value?.ast; } - get typeParameters(): NodeArray { return this.ast.data.typeParameters?.nodes!; } // TODO: remove `!` - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } + get constraint(): JSDocTypeExpression | undefined { + return this.ast.data.constraint?.node; + } + set constraint(value) { + this.ast.data.constraint = value?.ast; + } + get typeParameters(): NodeArray { + return this.ast.data.typeParameters?.nodes!; // TODO: remove `!` + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } } /** @internal */ @@ -8050,8 +11712,12 @@ export class AstJSDocTemplateTagData extends AstJSDocTagData { /** @internal */ export class JSDocSeeTag extends BaseJSDocTag implements ts.JSDocSeeTag { declare readonly ast: AstJSDocSeeTag; - get name(): JSDocNameReference | undefined { return this.ast.data.name?.node; } - set name(value) { this.ast.data.name = value?.ast; } + get name(): JSDocNameReference | undefined { + return this.ast.data.name?.node; + } + set name(value) { + this.ast.data.name = value?.ast; + } } /** @internal */ @@ -8062,8 +11728,12 @@ export class AstJSDocSeeTagData extends AstJSDocTagData { /** @internal */ export class JSDocReturnTag extends BaseJSDocTag implements ts.JSDocReturnTag { declare readonly ast: AstJSDocReturnTag; - get typeExpression(): JSDocTypeExpression | undefined { return this.ast.data.typeExpression?.node; } - set typeExpression(value) { this.ast.data.typeExpression = value?.ast; } + get typeExpression(): JSDocTypeExpression | undefined { + return this.ast.data.typeExpression?.node; + } + set typeExpression(value) { + this.ast.data.typeExpression = value?.ast; + } } /** @internal */ @@ -8074,8 +11744,12 @@ export class AstJSDocReturnTagData extends AstJSDocTagData { /** @internal */ export class JSDocTypeTag extends BaseJSDocTag implements ts.JSDocTypeTag { declare readonly ast: AstJSDocTypeTag; - get typeExpression(): JSDocTypeExpression { return this.ast.data.typeExpression?.node; } - set typeExpression(value) { this.ast.data.typeExpression = value?.ast; } + get typeExpression(): JSDocTypeExpression { + return this.ast.data.typeExpression?.node; + } + set typeExpression(value) { + this.ast.data.typeExpression = value?.ast; + } } /** @internal */ @@ -8089,23 +11763,55 @@ export class JSDocTypedefTag extends BaseJSDocTag implements ts.JSDocOverloadTag { declare readonly ast: AstJSDocOverloadTag; - override get parent() { return super.parent as JSDocNode; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as JSDocNode; + } + override set parent(value) { + super.parent = value; + } - get typeExpression(): JSDocSignature { return this.ast.data.typeExpression?.node; } - set typeExpression(value) { this.ast.data.typeExpression = value?.ast; } + get typeExpression(): JSDocSignature { + return this.ast.data.typeExpression?.node; + } + set typeExpression(value) { + this.ast.data.typeExpression = value?.ast; + } } /** @internal */ @@ -8176,8 +11922,12 @@ export class AstJSDocOverloadTagData extends AstJSDocTagData { /** @internal */ export class JSDocThrowsTag extends BaseJSDocTag implements ts.JSDocThrowsTag { declare readonly ast: AstJSDocThrowsTag; - get typeExpression(): JSDocTypeExpression | undefined { return this.ast.data.typeExpression?.node; } - set typeExpression(value) { this.ast.data.typeExpression = value?.ast; } + get typeExpression(): JSDocTypeExpression | undefined { + return this.ast.data.typeExpression?.node; + } + set typeExpression(value) { + this.ast.data.typeExpression = value?.ast; + } } /** @internal */ @@ -8195,22 +11945,54 @@ export class JSDocSignature extends Node | undefined { return this.ast.data.typeParameters?.nodes; } - set typeParameters(value) { this.ast.data.typeParameters = value?.ast; } - get parameters(): NodeArray { return this.ast.data.parameters.nodes; } - set parameters(value) { this.ast.data.parameters = value?.ast; } - get type(): JSDocReturnTag | undefined { return this.ast.data.type?.node; } - set type(value) { this.ast.data.type = value?.ast; } - get jsDoc(): JSDocArray | undefined { return this.ast.data.jsDoc; } - set jsDoc(value) { this.ast.data.jsDoc = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get typeParameters(): NodeArray | undefined { + return this.ast.data.typeParameters?.nodes; + } + set typeParameters(value) { + this.ast.data.typeParameters = value?.ast; + } + get parameters(): NodeArray { + return this.ast.data.parameters.nodes; + } + set parameters(value) { + this.ast.data.parameters = value?.ast; + } + get type(): JSDocReturnTag | undefined { + return this.ast.data.type?.node; + } + set type(value) { + this.ast.data.type = value?.ast; + } + get jsDoc(): JSDocArray | undefined { + return this.ast.data.jsDoc; + } + set jsDoc(value) { + this.ast.data.jsDoc = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } } /** @internal */ @@ -8231,21 +12013,49 @@ export class JSDocPropertyTag extends BaseJSDocTag; @@ -8309,14 +12146,30 @@ export class JSDocTypeLiteral extends Node | undefined { return this.ast.data.jsDocPropertyTags?.nodes; } - set jsDocPropertyTags(value) { this.ast.data.jsDocPropertyTags = value?.ast; } - get isArrayType(): boolean { return this.ast.data.isArrayType; } - set isArrayType(value) { this.ast.data.isArrayType = value; } - get symbol(): ts.Symbol { return this.ast.data.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.localSymbol; } - set localSymbol(value) { this.ast.data.localSymbol = value; } + get jsDocPropertyTags(): NodeArray | undefined { + return this.ast.data.jsDocPropertyTags?.nodes; + } + set jsDocPropertyTags(value) { + this.ast.data.jsDocPropertyTags = value?.ast; + } + get isArrayType(): boolean { + return this.ast.data.isArrayType; + } + set isArrayType(value) { + this.ast.data.isArrayType = value; + } + get symbol(): ts.Symbol { + return this.ast.data.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.localSymbol; + } + set localSymbol(value) { + this.ast.data.localSymbol = value; + } } /** @internal */ @@ -8330,8 +12183,12 @@ export class AstJSDocTypeLiteralData extends AstData { /** @internal */ export class JSDocSatisfiesTag extends BaseJSDocTag implements ts.JSDocSatisfiesTag { declare readonly ast: AstJSDocSatisfiesTag; - get typeExpression(): JSDocTypeExpression { return this.ast.data.typeExpression?.node; } - set typeExpression(value) { this.ast.data.typeExpression = value?.ast; } + get typeExpression(): JSDocTypeExpression { + return this.ast.data.typeExpression?.node; + } + set typeExpression(value) { + this.ast.data.typeExpression = value?.ast; + } } /** @internal */ @@ -8343,15 +12200,31 @@ export class AstJSDocSatisfiesTagData extends AstJSDocTagData { export class JSDocImportTag extends BaseJSDocTag implements ts.JSDocImportTag { declare readonly ast: AstJSDocImportTag; - override get parent() { return super.parent as JSDocNode; } - override set parent(value) { super.parent = value; } + override get parent() { + return super.parent as JSDocNode; + } + override set parent(value) { + super.parent = value; + } - get importClause(): ImportClause | undefined { return this.ast.data.importClause?.node; } - set importClause(value) { this.ast.data.importClause = value?.ast; } - get moduleSpecifier(): Expression { return this.ast.data.moduleSpecifier?.node; } - set moduleSpecifier(value) { this.ast.data.moduleSpecifier = value?.ast; } - get attributes(): ImportAttributes | undefined { return this.ast.data.attributes?.node; } - set attributes(value) { this.ast.data.attributes = value?.ast; } + get importClause(): ImportClause | undefined { + return this.ast.data.importClause?.node; + } + set importClause(value) { + this.ast.data.importClause = value?.ast; + } + get moduleSpecifier(): Expression { + return this.ast.data.moduleSpecifier?.node; + } + set moduleSpecifier(value) { + this.ast.data.moduleSpecifier = value?.ast; + } + get attributes(): ImportAttributes | undefined { + return this.ast.data.attributes?.node; + } + set attributes(value) { + this.ast.data.attributes = value?.ast; + } } /** @internal */ @@ -8366,12 +12239,24 @@ export class SyntheticExpression extends Node implements ts.Bundle { declare readonly ast: AstBundle; - get sourceFiles(): readonly SourceFile[] { return this.ast.data.sourceFiles; } - set sourceFiles(value: readonly SourceFile[]) { this.ast.data.sourceFiles = value; } - get syntheticFileReferences(): readonly FileReference[] | undefined { return this.ast.data.syntheticFileReferences; } - set syntheticFileReferences(value: readonly FileReference[] | undefined) { this.ast.data.syntheticFileReferences = value; } - get syntheticTypeReferences(): readonly FileReference[] | undefined { return this.ast.data.syntheticTypeReferences; } - set syntheticTypeReferences(value: readonly FileReference[] | undefined) { this.ast.data.syntheticTypeReferences = value; } - get syntheticLibReferences(): readonly FileReference[] | undefined { return this.ast.data.syntheticLibReferences; } - set syntheticLibReferences(value: readonly FileReference[] | undefined) { this.ast.data.syntheticLibReferences = value; } - get hasNoDefaultLib(): boolean | undefined { return this.ast.data.hasNoDefaultLib; } - set hasNoDefaultLib(value: boolean | undefined) { this.ast.data.hasNoDefaultLib = value; } + get sourceFiles(): readonly SourceFile[] { + return this.ast.data.sourceFiles; + } + set sourceFiles(value: readonly SourceFile[]) { + this.ast.data.sourceFiles = value; + } + get syntheticFileReferences(): readonly FileReference[] | undefined { + return this.ast.data.syntheticFileReferences; + } + set syntheticFileReferences(value: readonly FileReference[] | undefined) { + this.ast.data.syntheticFileReferences = value; + } + get syntheticTypeReferences(): readonly FileReference[] | undefined { + return this.ast.data.syntheticTypeReferences; + } + set syntheticTypeReferences(value: readonly FileReference[] | undefined) { + this.ast.data.syntheticTypeReferences = value; + } + get syntheticLibReferences(): readonly FileReference[] | undefined { + return this.ast.data.syntheticLibReferences; + } + set syntheticLibReferences(value: readonly FileReference[] | undefined) { + this.ast.data.syntheticLibReferences = value; + } + get hasNoDefaultLib(): boolean | undefined { + return this.ast.data.hasNoDefaultLib; + } + set hasNoDefaultLib(value: boolean | undefined) { + this.ast.data.hasNoDefaultLib = value; + } } /** @internal */ @@ -8408,8 +12313,12 @@ export class AstBundleData extends AstData { /** @internal */ export class SyntaxList extends Node implements ts.SyntaxList { - get _children(): readonly Node[] { return this.ast.data._children; } - set _children(value: readonly Node[]) { this.ast.data._children = value; } + get _children(): readonly Node[] { + return this.ast.data._children; + } + set _children(value: readonly Node[]) { + this.ast.data._children = value; + } } /** @internal */ @@ -8424,8 +12333,12 @@ export class NotEmittedStatement extends Node { return this.ast.data.elements.nodes; } - set elements(value: NodeArray) { this.ast.data.elements = value?.ast; } + get elements(): NodeArray { + return this.ast.data.elements.nodes; + } + set elements(value: NodeArray) { + this.ast.data.elements = value?.ast; + } } /** @internal */ @@ -8508,10 +12445,18 @@ export class SyntheticReferenceExpression extends Node i declare _declarationBrand: any; declare _localsContainerBrand: any; - get statements(): NodeArray { return this.ast.data.statements?.nodes!; } // TODO: remove `!` - set statements(value) { this.ast.data.statements = value?.ast; } - get endOfFileToken(): EndOfFileToken { return this.ast.data.endOfFileToken?.node; } - set endOfFileToken(value) { this.ast.data.endOfFileToken = value?.ast; } - get fileName(): string { return this.ast.data.fileName; } - set fileName(value) { this.ast.data.fileName = value; } + get statements(): NodeArray { + return this.ast.data.statements?.nodes!; // TODO: remove `!` + } + set statements(value) { + this.ast.data.statements = value?.ast; + } + get endOfFileToken(): EndOfFileToken { + return this.ast.data.endOfFileToken?.node; + } + set endOfFileToken(value) { + this.ast.data.endOfFileToken = value?.ast; + } + get fileName(): string { + return this.ast.data.fileName; + } + set fileName(value) { + this.ast.data.fileName = value; + } - get path(): ts.Path { return this.ast.data.path; } - set path(value) { this.ast.data.path = value; } - get text(): string { return this.ast.data.text; } - set text(value) { this.ast.data.text = value; } - get resolvedPath(): ts.Path { return this.ast.data.resolvedPath; } - set resolvedPath(value) { this.ast.data.resolvedPath = value; } - get originalFileName(): string { return this.ast.data.originalFileName; } - set originalFileName(value) { this.ast.data.originalFileName = value; } - get amdDependencies(): ts.AmdDependency[] { return this.ast.data.amdDependencies; } - set amdDependencies(value) { this.ast.data.amdDependencies = value; } - get moduleName(): string | undefined { return this.ast.data.moduleName; } - set moduleName(value) { this.ast.data.moduleName = value; } - get referencedFiles(): readonly ts.FileReference[] { return this.ast.data.referencedFiles; } - set referencedFiles(value) { this.ast.data.referencedFiles = value; } - get typeReferenceDirectives(): readonly ts.FileReference[] { return this.ast.data.typeReferenceDirectives; } - set typeReferenceDirectives(value) { this.ast.data.typeReferenceDirectives = value; } - get libReferenceDirectives(): readonly ts.FileReference[] { return this.ast.data.libReferenceDirectives; } - set libReferenceDirectives(value) { this.ast.data.libReferenceDirectives = value; } - get languageVariant(): ts.LanguageVariant { return this.ast.data.languageVariant; } - set languageVariant(value) { this.ast.data.languageVariant = value; } - get isDeclarationFile(): boolean { return this.ast.data.isDeclarationFile; } - set isDeclarationFile(value) { this.ast.data.isDeclarationFile = value; } - get renamedDependencies(): Map { return this.ast.data.renamedDependencies; } - set renamedDependencies(value) { this.ast.data.renamedDependencies = value; } - get hasNoDefaultLib(): boolean { return this.ast.data.hasNoDefaultLib; } - set hasNoDefaultLib(value) { this.ast.data.hasNoDefaultLib = value; } - get languageVersion(): ts.ScriptTarget { return this.ast.data.languageVersion; } - set languageVersion(value) { this.ast.data.languageVersion = value; } - get impliedNodeFormat(): ts.ResolutionMode { return this.ast.data.impliedNodeFormat; } - set impliedNodeFormat(value) { this.ast.data.impliedNodeFormat = value; } - get scriptKind(): ts.ScriptKind { return this.ast.data.scriptKind; } - set scriptKind(value) { this.ast.data.scriptKind = value; } - get pragmas(): ts.ReadonlyPragmaMap { return this.ast.data.pragmas; } - set pragmas(value) { this.ast.data.pragmas = value; } - get externalModuleIndicator(): true | Node | undefined { return this.ast.data.externalModuleIndicator; } - set externalModuleIndicator(value) { this.ast.data.externalModuleIndicator = value; } - get commonJsModuleIndicator(): Node | undefined { return this.ast.data.commonJsModuleIndicator; } - set commonJsModuleIndicator(value) { this.ast.data.commonJsModuleIndicator = value; } - get identifiers(): Map { return this.ast.data.identifiers; } - set identifiers(value) { this.ast.data.identifiers = value; } - get parseDiagnostics(): ts.DiagnosticWithLocation[] { return this.ast.data.parseDiagnostics; } - set parseDiagnostics(value) { this.ast.data.parseDiagnostics = value; } - get bindDiagnostics(): ts.DiagnosticWithLocation[] { return this.ast.data.bindDiagnostics; } - set bindDiagnostics(value) { this.ast.data.bindDiagnostics = value; } - get bindSuggestionDiagnostics(): ts.DiagnosticWithLocation[] | undefined { return this.ast.data.bindSuggestionDiagnostics; } - set bindSuggestionDiagnostics(value) { this.ast.data.bindSuggestionDiagnostics = value; } - get lineMap(): readonly number[] { return this.ast.data.lineMap; } - set lineMap(value) { this.ast.data.lineMap = value; } - get jsDocDiagnostics(): ts.DiagnosticWithLocation[] | undefined { return this.ast.data.jsDocDiagnostics; } - set jsDocDiagnostics(value) { this.ast.data.jsDocDiagnostics = value; } - get commentDirectives(): ts.CommentDirective[] | undefined { return this.ast.data.commentDirectives; } - set commentDirectives(value) { this.ast.data.commentDirectives = value; } - get checkJsDirective(): ts.CheckJsDirective | undefined { return this.ast.data.checkJsDirective; } - set checkJsDirective(value) { this.ast.data.checkJsDirective = value; } - get version(): string { return this.ast.data.version; } - set version(value) { this.ast.data.version = value; } + get path(): ts.Path { + return this.ast.data.path; + } + set path(value) { + this.ast.data.path = value; + } + get text(): string { + return this.ast.data.text; + } + set text(value) { + this.ast.data.text = value; + } + get resolvedPath(): ts.Path { + return this.ast.data.resolvedPath; + } + set resolvedPath(value) { + this.ast.data.resolvedPath = value; + } + get originalFileName(): string { + return this.ast.data.originalFileName; + } + set originalFileName(value) { + this.ast.data.originalFileName = value; + } + get amdDependencies(): ts.AmdDependency[] { + return this.ast.data.amdDependencies; + } + set amdDependencies(value) { + this.ast.data.amdDependencies = value; + } + get moduleName(): string | undefined { + return this.ast.data.moduleName; + } + set moduleName(value) { + this.ast.data.moduleName = value; + } + get referencedFiles(): readonly ts.FileReference[] { + return this.ast.data.referencedFiles; + } + set referencedFiles(value) { + this.ast.data.referencedFiles = value; + } + get typeReferenceDirectives(): readonly ts.FileReference[] { + return this.ast.data.typeReferenceDirectives; + } + set typeReferenceDirectives(value) { + this.ast.data.typeReferenceDirectives = value; + } + get libReferenceDirectives(): readonly ts.FileReference[] { + return this.ast.data.libReferenceDirectives; + } + set libReferenceDirectives(value) { + this.ast.data.libReferenceDirectives = value; + } + get languageVariant(): ts.LanguageVariant { + return this.ast.data.languageVariant; + } + set languageVariant(value) { + this.ast.data.languageVariant = value; + } + get isDeclarationFile(): boolean { + return this.ast.data.isDeclarationFile; + } + set isDeclarationFile(value) { + this.ast.data.isDeclarationFile = value; + } + get renamedDependencies(): Map { + return this.ast.data.renamedDependencies; + } + set renamedDependencies(value) { + this.ast.data.renamedDependencies = value; + } + get hasNoDefaultLib(): boolean { + return this.ast.data.hasNoDefaultLib; + } + set hasNoDefaultLib(value) { + this.ast.data.hasNoDefaultLib = value; + } + get languageVersion(): ts.ScriptTarget { + return this.ast.data.languageVersion; + } + set languageVersion(value) { + this.ast.data.languageVersion = value; + } + get impliedNodeFormat(): ts.ResolutionMode { + return this.ast.data.impliedNodeFormat; + } + set impliedNodeFormat(value) { + this.ast.data.impliedNodeFormat = value; + } + get scriptKind(): ts.ScriptKind { + return this.ast.data.scriptKind; + } + set scriptKind(value) { + this.ast.data.scriptKind = value; + } + get pragmas(): ts.ReadonlyPragmaMap { + return this.ast.data.pragmas; + } + set pragmas(value) { + this.ast.data.pragmas = value; + } + get externalModuleIndicator(): true | Node | undefined { + return this.ast.data.externalModuleIndicator; + } + set externalModuleIndicator(value) { + this.ast.data.externalModuleIndicator = value; + } + get commonJsModuleIndicator(): Node | undefined { + return this.ast.data.commonJsModuleIndicator; + } + set commonJsModuleIndicator(value) { + this.ast.data.commonJsModuleIndicator = value; + } + get identifiers(): Map { + return this.ast.data.identifiers; + } + set identifiers(value) { + this.ast.data.identifiers = value; + } + get parseDiagnostics(): ts.DiagnosticWithLocation[] { + return this.ast.data.parseDiagnostics; + } + set parseDiagnostics(value) { + this.ast.data.parseDiagnostics = value; + } + get bindDiagnostics(): ts.DiagnosticWithLocation[] { + return this.ast.data.bindDiagnostics; + } + set bindDiagnostics(value) { + this.ast.data.bindDiagnostics = value; + } + get bindSuggestionDiagnostics(): ts.DiagnosticWithLocation[] | undefined { + return this.ast.data.bindSuggestionDiagnostics; + } + set bindSuggestionDiagnostics(value) { + this.ast.data.bindSuggestionDiagnostics = value; + } + get lineMap(): readonly number[] { + return this.ast.data.lineMap; + } + set lineMap(value) { + this.ast.data.lineMap = value; + } + get jsDocDiagnostics(): ts.DiagnosticWithLocation[] | undefined { + return this.ast.data.jsDocDiagnostics; + } + set jsDocDiagnostics(value) { + this.ast.data.jsDocDiagnostics = value; + } + get commentDirectives(): ts.CommentDirective[] | undefined { + return this.ast.data.commentDirectives; + } + set commentDirectives(value) { + this.ast.data.commentDirectives = value; + } + get checkJsDirective(): ts.CheckJsDirective | undefined { + return this.ast.data.checkJsDirective; + } + set checkJsDirective(value) { + this.ast.data.checkJsDirective = value; + } + get version(): string { + return this.ast.data.version; + } + set version(value) { + this.ast.data.version = value; + } - get symbol(): ts.Symbol { return this.ast.data.declaration.symbol!; } // TODO: remove `!` - set symbol(value) { this.ast.data.declaration.symbol = value; } - get localSymbol(): ts.Symbol | undefined { return this.ast.data.declaration.localSymbol; } - set localSymbol(value) { this.ast.data.declaration.localSymbol = value; } - get locals(): ts.SymbolTable | undefined { return this.ast.data.locals; } - set locals(value) { this.ast.data.locals = value; } - get redirectInfo(): ts.RedirectInfo | undefined { return this.ast.data.redirectInfo; } - set redirectInfo(value) { this.ast.data.redirectInfo = value; } - get packageJsonLocations(): readonly string[] | undefined { return this.ast.data.packageJsonLocations; } - set packageJsonLocations(value) { this.ast.data.packageJsonLocations = value; } - get packageJsonScope(): ts.PackageJsonInfo | undefined { return this.ast.data.packageJsonScope; } - set packageJsonScope(value) { this.ast.data.packageJsonScope = value; } - get setExternalModuleIndicator(): ((file: ts.SourceFile) => void) | undefined { return this.ast.data.setExternalModuleIndicator; } - set setExternalModuleIndicator(value) { this.ast.data.setExternalModuleIndicator = value; } - get jsGlobalAugmentations(): ts.SymbolTable | undefined { return this.ast.data.jsGlobalAugmentations; } - set jsGlobalAugmentations(value) { this.ast.data.jsGlobalAugmentations = value; } - get nodeCount(): number { return this.ast.data.nodeCount; } - set nodeCount(value) { this.ast.data.nodeCount = value; } - get identifierCount(): number { return this.ast.data.identifierCount; } - set identifierCount(value) { this.ast.data.identifierCount = value; } - get symbolCount(): number { return this.ast.data.symbolCount; } - set symbolCount(value) { this.ast.data.symbolCount = value; } - get additionalSyntacticDiagnostics(): readonly ts.DiagnosticWithLocation[] | undefined { return this.ast.data.additionalSyntacticDiagnostics; } - set additionalSyntacticDiagnostics(value) { this.ast.data.additionalSyntacticDiagnostics = value; } - get classifiableNames(): ReadonlySet | undefined { return this.ast.data.classifiableNames; } - set classifiableNames(value) { this.ast.data.classifiableNames = value; } - get imports(): readonly ts.StringLiteralLike[] { return this.ast.data.imports; } - set imports(value) { this.ast.data.imports = value; } - get moduleAugmentations(): readonly (ts.Identifier | ts.StringLiteral)[] { return this.ast.data.moduleAugmentations; } - set moduleAugmentations(value) { this.ast.data.moduleAugmentations = value; } - get patternAmbientModules(): ts.PatternAmbientModule[] | undefined { return this.ast.data.patternAmbientModules; } - set patternAmbientModules(value) { this.ast.data.patternAmbientModules = value; } - get ambientModuleNames(): readonly string[] { return this.ast.data.ambientModuleNames; } - set ambientModuleNames(value) { this.ast.data.ambientModuleNames = value; } - get localJsxNamespace(): ts.__String | undefined { return this.ast.data.localJsxNamespace; } - set localJsxNamespace(value) { this.ast.data.localJsxNamespace = value; } - get localJsxFragmentNamespace(): ts.__String | undefined { return this.ast.data.localJsxFragmentNamespace; } - set localJsxFragmentNamespace(value) { this.ast.data.localJsxFragmentNamespace = value; } - get localJsxFactory(): ts.EntityName | undefined { return this.ast.data.localJsxFactory; } - set localJsxFactory(value) { this.ast.data.localJsxFactory = value; } - get localJsxFragmentFactory(): ts.EntityName | undefined { return this.ast.data.localJsxFragmentFactory; } - set localJsxFragmentFactory(value) { this.ast.data.localJsxFragmentFactory = value; } - get endFlowNode(): ts.FlowNode | undefined { return this.ast.data.endFlowNode; } - set endFlowNode(value) { this.ast.data.endFlowNode = value; } - get jsDocParsingMode(): ts.JSDocParsingMode | undefined { return this.ast.data.jsDocParsingMode; } - set jsDocParsingMode(value) { this.ast.data.jsDocParsingMode = value; } + get symbol(): ts.Symbol { + return this.ast.data.declaration.symbol!; // TODO: remove `!` + } + set symbol(value) { + this.ast.data.declaration.symbol = value; + } + get localSymbol(): ts.Symbol | undefined { + return this.ast.data.declaration.localSymbol; + } + set localSymbol(value) { + this.ast.data.declaration.localSymbol = value; + } + get locals(): ts.SymbolTable | undefined { + return this.ast.data.locals; + } + set locals(value) { + this.ast.data.locals = value; + } + get redirectInfo(): ts.RedirectInfo | undefined { + return this.ast.data.redirectInfo; + } + set redirectInfo(value) { + this.ast.data.redirectInfo = value; + } + get packageJsonLocations(): readonly string[] | undefined { + return this.ast.data.packageJsonLocations; + } + set packageJsonLocations(value) { + this.ast.data.packageJsonLocations = value; + } + get packageJsonScope(): ts.PackageJsonInfo | undefined { + return this.ast.data.packageJsonScope; + } + set packageJsonScope(value) { + this.ast.data.packageJsonScope = value; + } + get setExternalModuleIndicator(): ((file: ts.SourceFile) => void) | undefined { + return this.ast.data.setExternalModuleIndicator; + } + set setExternalModuleIndicator(value) { + this.ast.data.setExternalModuleIndicator = value; + } + get jsGlobalAugmentations(): ts.SymbolTable | undefined { + return this.ast.data.jsGlobalAugmentations; + } + set jsGlobalAugmentations(value) { + this.ast.data.jsGlobalAugmentations = value; + } + get nodeCount(): number { + return this.ast.data.nodeCount; + } + set nodeCount(value) { + this.ast.data.nodeCount = value; + } + get identifierCount(): number { + return this.ast.data.identifierCount; + } + set identifierCount(value) { + this.ast.data.identifierCount = value; + } + get symbolCount(): number { + return this.ast.data.symbolCount; + } + set symbolCount(value) { + this.ast.data.symbolCount = value; + } + get additionalSyntacticDiagnostics(): readonly ts.DiagnosticWithLocation[] | undefined { + return this.ast.data.additionalSyntacticDiagnostics; + } + set additionalSyntacticDiagnostics(value) { + this.ast.data.additionalSyntacticDiagnostics = value; + } + get classifiableNames(): ReadonlySet | undefined { + return this.ast.data.classifiableNames; + } + set classifiableNames(value) { + this.ast.data.classifiableNames = value; + } + get imports(): readonly ts.StringLiteralLike[] { + return this.ast.data.imports; + } + set imports(value) { + this.ast.data.imports = value; + } + get moduleAugmentations(): readonly (ts.Identifier | ts.StringLiteral)[] { + return this.ast.data.moduleAugmentations; + } + set moduleAugmentations(value) { + this.ast.data.moduleAugmentations = value; + } + get patternAmbientModules(): ts.PatternAmbientModule[] | undefined { + return this.ast.data.patternAmbientModules; + } + set patternAmbientModules(value) { + this.ast.data.patternAmbientModules = value; + } + get ambientModuleNames(): readonly string[] { + return this.ast.data.ambientModuleNames; + } + set ambientModuleNames(value) { + this.ast.data.ambientModuleNames = value; + } + get localJsxNamespace(): ts.__String | undefined { + return this.ast.data.localJsxNamespace; + } + set localJsxNamespace(value) { + this.ast.data.localJsxNamespace = value; + } + get localJsxFragmentNamespace(): ts.__String | undefined { + return this.ast.data.localJsxFragmentNamespace; + } + set localJsxFragmentNamespace(value) { + this.ast.data.localJsxFragmentNamespace = value; + } + get localJsxFactory(): ts.EntityName | undefined { + return this.ast.data.localJsxFactory; + } + set localJsxFactory(value) { + this.ast.data.localJsxFactory = value; + } + get localJsxFragmentFactory(): ts.EntityName | undefined { + return this.ast.data.localJsxFragmentFactory; + } + set localJsxFragmentFactory(value) { + this.ast.data.localJsxFragmentFactory = value; + } + get endFlowNode(): ts.FlowNode | undefined { + return this.ast.data.endFlowNode; + } + set endFlowNode(value) { + this.ast.data.endFlowNode = value; + } + get jsDocParsingMode(): ts.JSDocParsingMode | undefined { + return this.ast.data.jsDocParsingMode; + } + set jsDocParsingMode(value) { + this.ast.data.jsDocParsingMode = value; + } - get scriptSnapshot(): any { return this.ast.data.scriptSnapshot; } - set scriptSnapshot(value) { this.ast.data.scriptSnapshot = value; } - get nameTable(): Map | undefined { return this.ast.data.nameTable; } - set nameTable(value) { this.ast.data.nameTable = value; } + get scriptSnapshot(): any { + return this.ast.data.scriptSnapshot; + } + set scriptSnapshot(value) { + this.ast.data.scriptSnapshot = value; + } + get nameTable(): Map | undefined { + return this.ast.data.nameTable; + } + set nameTable(value) { + this.ast.data.nameTable = value; + } - get nextContainer(): HasLocals | undefined { return this.ast.data.nextContainer?.node; } - set nextContainer(value) { this.ast.data.nextContainer = value?.ast as NextContainer | undefined; } + get nextContainer(): HasLocals | undefined { + return this.ast.data.nextContainer?.node; + } + set nextContainer(value) { + this.ast.data.nextContainer = value?.ast as NextContainer | undefined; + } - get extendedSourceFiles(): string[] | undefined { return this.ast.data.extendedSourceFiles; } - set extendedSourceFiles(value) { this.ast.data.extendedSourceFiles = value; } - get configFileSpecs(): ts.ConfigFileSpecs | undefined { return this.ast.data.configFileSpecs; } - set configFileSpecs(value) { this.ast.data.configFileSpecs = value; } + get extendedSourceFiles(): string[] | undefined { + return this.ast.data.extendedSourceFiles; + } + set extendedSourceFiles(value) { + this.ast.data.extendedSourceFiles = value; + } + get configFileSpecs(): ts.ConfigFileSpecs | undefined { + return this.ast.data.configFileSpecs; + } + set configFileSpecs(value) { + this.ast.data.configFileSpecs = value; + } public update(newText: string, textChangeRange: ts.TextChangeRange): ts.SourceFile { return updateSourceFile(this, newText, textChangeRange); @@ -9492,7 +13673,7 @@ function hasInvalidEscape(template: AstTemplateLiteral): boolean { } function isNoSubstitutionTemplateLiteral(template: AstTemplateLiteral): template is AstNoSubstitutionTemplateLiteral { - return template.kind === SyntaxKind.NoSubstitutionTemplateLiteral; + return template.kind === SyntaxKind.NoSubstitutionTemplateLiteral; } // copied from services/utilities.ts @@ -9668,728 +13849,728 @@ export function skipAstOuterExpressions(node: AstNode, kinds: ts.OuterExpression /** @internal */ export interface NodeType { - [SyntaxKind.Unknown]: Token, - [SyntaxKind.EndOfFileToken]: EndOfFileToken, - [SyntaxKind.SingleLineCommentTrivia]: Token, - [SyntaxKind.MultiLineCommentTrivia]: Token, - [SyntaxKind.NewLineTrivia]: Token, - [SyntaxKind.WhitespaceTrivia]: Token, - [SyntaxKind.ShebangTrivia]: Token, - [SyntaxKind.ConflictMarkerTrivia]: Token, - [SyntaxKind.NonTextFileMarkerTrivia]: never, - [SyntaxKind.NumericLiteral]: NumericLiteral, - [SyntaxKind.BigIntLiteral]: BigIntLiteral, - [SyntaxKind.StringLiteral]: StringLiteral, - [SyntaxKind.JsxText]: JsxText, - [SyntaxKind.JsxTextAllWhiteSpaces]: never, - [SyntaxKind.RegularExpressionLiteral]: RegularExpressionLiteral, - [SyntaxKind.NoSubstitutionTemplateLiteral]: NoSubstitutionTemplateLiteral, - [SyntaxKind.TemplateHead]: TemplateHead, - [SyntaxKind.TemplateMiddle]: TemplateMiddle, - [SyntaxKind.TemplateTail]: TemplateTail, - [SyntaxKind.OpenBraceToken]: Token, - [SyntaxKind.CloseBraceToken]: Token, - [SyntaxKind.OpenParenToken]: Token, - [SyntaxKind.CloseParenToken]: Token, - [SyntaxKind.OpenBracketToken]: Token, - [SyntaxKind.CloseBracketToken]: Token, - [SyntaxKind.DotToken]: Token, - [SyntaxKind.DotDotDotToken]: Token, - [SyntaxKind.SemicolonToken]: Token, - [SyntaxKind.CommaToken]: Token, - [SyntaxKind.QuestionDotToken]: Token, - [SyntaxKind.LessThanToken]: Token, - [SyntaxKind.LessThanSlashToken]: Token, - [SyntaxKind.GreaterThanToken]: Token, - [SyntaxKind.LessThanEqualsToken]: Token, - [SyntaxKind.GreaterThanEqualsToken]: Token, - [SyntaxKind.EqualsEqualsToken]: Token, - [SyntaxKind.ExclamationEqualsToken]: Token, - [SyntaxKind.EqualsEqualsEqualsToken]: Token, - [SyntaxKind.ExclamationEqualsEqualsToken]: Token, - [SyntaxKind.EqualsGreaterThanToken]: Token, - [SyntaxKind.PlusToken]: Token, - [SyntaxKind.MinusToken]: Token, - [SyntaxKind.AsteriskToken]: Token, - [SyntaxKind.AsteriskAsteriskToken]: Token, - [SyntaxKind.SlashToken]: Token, - [SyntaxKind.PercentToken]: Token, - [SyntaxKind.PlusPlusToken]: Token, - [SyntaxKind.MinusMinusToken]: Token, - [SyntaxKind.LessThanLessThanToken]: Token, - [SyntaxKind.GreaterThanGreaterThanToken]: Token, - [SyntaxKind.GreaterThanGreaterThanGreaterThanToken]: Token, - [SyntaxKind.AmpersandToken]: Token, - [SyntaxKind.BarToken]: Token, - [SyntaxKind.CaretToken]: Token, - [SyntaxKind.ExclamationToken]: Token, - [SyntaxKind.TildeToken]: Token, - [SyntaxKind.AmpersandAmpersandToken]: Token, - [SyntaxKind.BarBarToken]: Token, - [SyntaxKind.QuestionToken]: Token, - [SyntaxKind.ColonToken]: Token, - [SyntaxKind.AtToken]: Token, - [SyntaxKind.QuestionQuestionToken]: Token, - [SyntaxKind.BacktickToken]: Token, - [SyntaxKind.HashToken]: Token, - [SyntaxKind.EqualsToken]: Token, - [SyntaxKind.PlusEqualsToken]: Token, - [SyntaxKind.MinusEqualsToken]: Token, - [SyntaxKind.AsteriskEqualsToken]: Token, - [SyntaxKind.AsteriskAsteriskEqualsToken]: Token, - [SyntaxKind.SlashEqualsToken]: Token, - [SyntaxKind.PercentEqualsToken]: Token, - [SyntaxKind.LessThanLessThanEqualsToken]: Token, - [SyntaxKind.GreaterThanGreaterThanEqualsToken]: Token, - [SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken]: Token, - [SyntaxKind.AmpersandEqualsToken]: Token, - [SyntaxKind.BarEqualsToken]: Token, - [SyntaxKind.BarBarEqualsToken]: Token, - [SyntaxKind.AmpersandAmpersandEqualsToken]: Token, - [SyntaxKind.QuestionQuestionEqualsToken]: Token, - [SyntaxKind.CaretEqualsToken]: Token, - [SyntaxKind.Identifier]: Identifier, - [SyntaxKind.PrivateIdentifier]: PrivateIdentifier, - [SyntaxKind.JSDocCommentTextToken]: never, - [SyntaxKind.BreakKeyword]: Token, - [SyntaxKind.CaseKeyword]: Token, - [SyntaxKind.CatchKeyword]: Token, - [SyntaxKind.ClassKeyword]: Token, - [SyntaxKind.ConstKeyword]: Token, - [SyntaxKind.ContinueKeyword]: Token, - [SyntaxKind.DebuggerKeyword]: Token, - [SyntaxKind.DefaultKeyword]: Token, - [SyntaxKind.DeleteKeyword]: Token, - [SyntaxKind.DoKeyword]: Token, - [SyntaxKind.ElseKeyword]: Token, - [SyntaxKind.EnumKeyword]: Token, - [SyntaxKind.ExportKeyword]: Token, - [SyntaxKind.ExtendsKeyword]: Token, - [SyntaxKind.FalseKeyword]: FalseLiteral, - [SyntaxKind.FinallyKeyword]: Token, - [SyntaxKind.ForKeyword]: Token, - [SyntaxKind.FunctionKeyword]: Token, - [SyntaxKind.IfKeyword]: Token, - [SyntaxKind.ImportKeyword]: ImportExpression, - [SyntaxKind.InKeyword]: Token, - [SyntaxKind.InstanceOfKeyword]: Token, - [SyntaxKind.NewKeyword]: Token, - [SyntaxKind.NullKeyword]: NullLiteral, - [SyntaxKind.ReturnKeyword]: Token, - [SyntaxKind.SuperKeyword]: SuperExpression, - [SyntaxKind.SwitchKeyword]: Token, - [SyntaxKind.ThisKeyword]: ThisExpression, - [SyntaxKind.ThrowKeyword]: Token, - [SyntaxKind.TrueKeyword]: TrueLiteral, - [SyntaxKind.TryKeyword]: Token, - [SyntaxKind.TypeOfKeyword]: Token, - [SyntaxKind.VarKeyword]: Token, - [SyntaxKind.VoidKeyword]: Token, - [SyntaxKind.WhileKeyword]: Token, - [SyntaxKind.WithKeyword]: Token, - [SyntaxKind.ImplementsKeyword]: Token, - [SyntaxKind.InterfaceKeyword]: Token, - [SyntaxKind.LetKeyword]: Token, - [SyntaxKind.PackageKeyword]: Token, - [SyntaxKind.PrivateKeyword]: Token, - [SyntaxKind.ProtectedKeyword]: Token, - [SyntaxKind.PublicKeyword]: Token, - [SyntaxKind.StaticKeyword]: Token, - [SyntaxKind.YieldKeyword]: Token, - [SyntaxKind.AbstractKeyword]: Token, - [SyntaxKind.AccessorKeyword]: Token, - [SyntaxKind.AsKeyword]: Token, - [SyntaxKind.AssertsKeyword]: Token, - [SyntaxKind.AssertKeyword]: Token, - [SyntaxKind.AnyKeyword]: Token, - [SyntaxKind.AsyncKeyword]: Token, - [SyntaxKind.AwaitKeyword]: Token, - [SyntaxKind.BooleanKeyword]: Token, - [SyntaxKind.ConstructorKeyword]: Token, - [SyntaxKind.DeclareKeyword]: Token, - [SyntaxKind.GetKeyword]: Token, - [SyntaxKind.InferKeyword]: Token, - [SyntaxKind.IntrinsicKeyword]: Token, - [SyntaxKind.IsKeyword]: Token, - [SyntaxKind.KeyOfKeyword]: Token, - [SyntaxKind.ModuleKeyword]: Token, - [SyntaxKind.NamespaceKeyword]: Token, - [SyntaxKind.NeverKeyword]: Token, - [SyntaxKind.OutKeyword]: Token, - [SyntaxKind.ReadonlyKeyword]: Token, - [SyntaxKind.RequireKeyword]: Token, - [SyntaxKind.NumberKeyword]: Token, - [SyntaxKind.ObjectKeyword]: Token, - [SyntaxKind.SatisfiesKeyword]: Token, - [SyntaxKind.SetKeyword]: Token, - [SyntaxKind.StringKeyword]: Token, - [SyntaxKind.SymbolKeyword]: Token, - [SyntaxKind.TypeKeyword]: Token, - [SyntaxKind.UndefinedKeyword]: Token, - [SyntaxKind.UniqueKeyword]: Token, - [SyntaxKind.UnknownKeyword]: Token, - [SyntaxKind.UsingKeyword]: Token, - [SyntaxKind.FromKeyword]: Token, - [SyntaxKind.GlobalKeyword]: Token, - [SyntaxKind.BigIntKeyword]: Token, - [SyntaxKind.OverrideKeyword]: Token, - [SyntaxKind.OfKeyword]: Token, - [SyntaxKind.QualifiedName]: QualifiedName, - [SyntaxKind.ComputedPropertyName]: ComputedPropertyName, - [SyntaxKind.Decorator]: Decorator, - [SyntaxKind.TypeParameter]: TypeParameterDeclaration, - [SyntaxKind.CallSignature]: CallSignatureDeclaration, - [SyntaxKind.ConstructSignature]: ConstructSignatureDeclaration, - [SyntaxKind.VariableDeclaration]: VariableDeclaration, - [SyntaxKind.VariableDeclarationList]: VariableDeclarationList, - [SyntaxKind.Parameter]: ParameterDeclaration, - [SyntaxKind.BindingElement]: BindingElement, - [SyntaxKind.PropertySignature]: PropertySignature, - [SyntaxKind.PropertyDeclaration]: PropertyDeclaration, - [SyntaxKind.PropertyAssignment]: PropertyAssignment, - [SyntaxKind.ShorthandPropertyAssignment]: ShorthandPropertyAssignment, - [SyntaxKind.SpreadAssignment]: SpreadAssignment, - [SyntaxKind.ObjectBindingPattern]: ObjectBindingPattern, - [SyntaxKind.ArrayBindingPattern]: ArrayBindingPattern, - [SyntaxKind.FunctionDeclaration]: FunctionDeclaration, - [SyntaxKind.MethodSignature]: MethodSignature, - [SyntaxKind.MethodDeclaration]: MethodDeclaration, - [SyntaxKind.Constructor]: ConstructorDeclaration, - [SyntaxKind.SemicolonClassElement]: SemicolonClassElement, - [SyntaxKind.GetAccessor]: GetAccessorDeclaration, - [SyntaxKind.SetAccessor]: SetAccessorDeclaration, - [SyntaxKind.IndexSignature]: IndexSignatureDeclaration, - [SyntaxKind.ClassStaticBlockDeclaration]: ClassStaticBlockDeclaration, - [SyntaxKind.ImportTypeAssertionContainer]: ImportTypeAssertionContainer, - [SyntaxKind.ImportType]: ImportTypeNode, - [SyntaxKind.ThisType]: ThisTypeNode, - [SyntaxKind.FunctionType]: FunctionTypeNode, - [SyntaxKind.ConstructorType]: ConstructorTypeNode, - [SyntaxKind.TypeReference]: TypeReferenceNode, - [SyntaxKind.TypePredicate]: TypePredicateNode, - [SyntaxKind.TypeQuery]: TypeQueryNode, - [SyntaxKind.TypeLiteral]: TypeLiteralNode, - [SyntaxKind.ArrayType]: ArrayTypeNode, - [SyntaxKind.TupleType]: TupleTypeNode, - [SyntaxKind.NamedTupleMember]: NamedTupleMember, - [SyntaxKind.OptionalType]: OptionalTypeNode, - [SyntaxKind.RestType]: RestTypeNode, - [SyntaxKind.UnionType]: UnionTypeNode, - [SyntaxKind.IntersectionType]: IntersectionTypeNode, - [SyntaxKind.ConditionalType]: ConditionalTypeNode, - [SyntaxKind.InferType]: InferTypeNode, - [SyntaxKind.ParenthesizedType]: ParenthesizedTypeNode, - [SyntaxKind.TypeOperator]: TypeOperatorNode, - [SyntaxKind.IndexedAccessType]: IndexedAccessTypeNode, - [SyntaxKind.MappedType]: MappedTypeNode, - [SyntaxKind.LiteralType]: LiteralTypeNode, - [SyntaxKind.TemplateLiteralType]: TemplateLiteralTypeNode, - [SyntaxKind.TemplateLiteralTypeSpan]: TemplateLiteralTypeSpan, - [SyntaxKind.OmittedExpression]: OmittedExpression, - [SyntaxKind.PrefixUnaryExpression]: PrefixUnaryExpression, - [SyntaxKind.PostfixUnaryExpression]: PostfixUnaryExpression, - [SyntaxKind.DeleteExpression]: DeleteExpression, - [SyntaxKind.TypeOfExpression]: TypeOfExpression, - [SyntaxKind.VoidExpression]: VoidExpression, - [SyntaxKind.AwaitExpression]: AwaitExpression, - [SyntaxKind.YieldExpression]: YieldExpression, - [SyntaxKind.BinaryExpression]: BinaryExpression, - [SyntaxKind.ConditionalExpression]: ConditionalExpression, - [SyntaxKind.FunctionExpression]: FunctionExpression, - [SyntaxKind.ArrowFunction]: ArrowFunction, - [SyntaxKind.TemplateExpression]: TemplateExpression, - [SyntaxKind.TemplateSpan]: TemplateSpan, - [SyntaxKind.ParenthesizedExpression]: ParenthesizedExpression, - [SyntaxKind.ArrayLiteralExpression]: ArrayLiteralExpression, - [SyntaxKind.SpreadElement]: SpreadElement, - [SyntaxKind.ObjectLiteralExpression]: ObjectLiteralExpression, - [SyntaxKind.PropertyAccessExpression]: PropertyAccessExpression, - [SyntaxKind.ElementAccessExpression]: ElementAccessExpression, - [SyntaxKind.CallExpression]: CallExpression, - [SyntaxKind.ExpressionWithTypeArguments]: ExpressionWithTypeArguments, - [SyntaxKind.NewExpression]: NewExpression, - [SyntaxKind.TaggedTemplateExpression]: TaggedTemplateExpression, - [SyntaxKind.AsExpression]: AsExpression, - [SyntaxKind.TypeAssertionExpression]: TypeAssertion, - [SyntaxKind.SyntheticExpression]: SyntheticExpression, - [SyntaxKind.SatisfiesExpression]: SatisfiesExpression, - [SyntaxKind.NonNullExpression]: NonNullExpression, - [SyntaxKind.MetaProperty]: MetaProperty, - [SyntaxKind.JsxElement]: JsxElement, - [SyntaxKind.JsxAttributes]: JsxAttributes, - [SyntaxKind.JsxNamespacedName]: JsxNamespacedName, - [SyntaxKind.JsxOpeningElement]: JsxOpeningElement, - [SyntaxKind.JsxSelfClosingElement]: JsxSelfClosingElement, - [SyntaxKind.JsxFragment]: JsxFragment, - [SyntaxKind.JsxOpeningFragment]: JsxOpeningFragment, - [SyntaxKind.JsxClosingFragment]: JsxClosingFragment, - [SyntaxKind.JsxAttribute]: JsxAttribute, - [SyntaxKind.JsxSpreadAttribute]: JsxSpreadAttribute, - [SyntaxKind.JsxClosingElement]: JsxClosingElement, - [SyntaxKind.JsxExpression]: JsxExpression, - [SyntaxKind.EmptyStatement]: EmptyStatement, - [SyntaxKind.DebuggerStatement]: DebuggerStatement, - [SyntaxKind.MissingDeclaration]: MissingDeclaration, - [SyntaxKind.Block]: Block, - [SyntaxKind.VariableStatement]: VariableStatement, - [SyntaxKind.ExpressionStatement]: ExpressionStatement, - [SyntaxKind.IfStatement]: IfStatement, - [SyntaxKind.DoStatement]: DoStatement, - [SyntaxKind.WhileStatement]: WhileStatement, - [SyntaxKind.ForStatement]: ForStatement, - [SyntaxKind.ForInStatement]: ForInStatement, - [SyntaxKind.ForOfStatement]: ForOfStatement, - [SyntaxKind.BreakStatement]: BreakStatement, - [SyntaxKind.ContinueStatement]: ContinueStatement, - [SyntaxKind.ReturnStatement]: ReturnStatement, - [SyntaxKind.WithStatement]: WithStatement, - [SyntaxKind.SwitchStatement]: SwitchStatement, - [SyntaxKind.CaseBlock]: CaseBlock, - [SyntaxKind.CaseClause]: CaseClause, - [SyntaxKind.DefaultClause]: DefaultClause, - [SyntaxKind.LabeledStatement]: LabeledStatement, - [SyntaxKind.ThrowStatement]: ThrowStatement, - [SyntaxKind.TryStatement]: TryStatement, - [SyntaxKind.CatchClause]: CatchClause, - [SyntaxKind.ClassDeclaration]: ClassDeclaration, - [SyntaxKind.ClassExpression]: ClassExpression, - [SyntaxKind.InterfaceDeclaration]: InterfaceDeclaration, - [SyntaxKind.HeritageClause]: HeritageClause, - [SyntaxKind.TypeAliasDeclaration]: TypeAliasDeclaration, - [SyntaxKind.EnumMember]: EnumMember, - [SyntaxKind.EnumDeclaration]: EnumDeclaration, - [SyntaxKind.ModuleDeclaration]: ModuleDeclaration, - [SyntaxKind.ModuleBlock]: ModuleBlock, - [SyntaxKind.ImportEqualsDeclaration]: ImportEqualsDeclaration, - [SyntaxKind.ExternalModuleReference]: ExternalModuleReference, - [SyntaxKind.ImportDeclaration]: ImportDeclaration, - [SyntaxKind.ImportClause]: ImportClause, - [SyntaxKind.ImportAttribute]: ImportAttribute, - [SyntaxKind.ImportAttributes]: ImportAttributes, - [SyntaxKind.NamespaceImport]: NamespaceImport, - [SyntaxKind.NamespaceExport]: NamespaceExport, - [SyntaxKind.NamespaceExportDeclaration]: NamespaceExportDeclaration, - [SyntaxKind.ExportDeclaration]: ExportDeclaration, - [SyntaxKind.NamedImports]: NamedImports, - [SyntaxKind.NamedExports]: NamedExports, - [SyntaxKind.ImportSpecifier]: ImportSpecifier, - [SyntaxKind.ExportSpecifier]: ExportSpecifier, - [SyntaxKind.ExportAssignment]: ExportAssignment, - [SyntaxKind.JSDocTypeExpression]: JSDocTypeExpression, - [SyntaxKind.JSDocNameReference]: JSDocNameReference, - [SyntaxKind.JSDocMemberName]: JSDocMemberName, - [SyntaxKind.JSDocAllType]: JSDocAllType, - [SyntaxKind.JSDocUnknownType]: JSDocUnknownType, - [SyntaxKind.JSDocNonNullableType]: JSDocNonNullableType, - [SyntaxKind.JSDocNullableType]: JSDocNullableType, - [SyntaxKind.JSDocOptionalType]: JSDocOptionalType, - [SyntaxKind.JSDocFunctionType]: JSDocFunctionType, - [SyntaxKind.JSDocVariadicType]: JSDocVariadicType, - [SyntaxKind.JSDocNamepathType]: JSDocNamepathType, - [SyntaxKind.JSDoc]: JSDocNode, - [SyntaxKind.JSDocLink]: JSDocLink, - [SyntaxKind.JSDocLinkCode]: JSDocLinkCode, - [SyntaxKind.JSDocLinkPlain]: JSDocLinkPlain, - [SyntaxKind.JSDocText]: JSDocText, - [SyntaxKind.JSDocTag]: JSDocUnknownTag, - [SyntaxKind.JSDocAugmentsTag]: JSDocAugmentsTag, - [SyntaxKind.JSDocImplementsTag]: JSDocImplementsTag, - [SyntaxKind.JSDocAuthorTag]: JSDocAuthorTag, - [SyntaxKind.JSDocDeprecatedTag]: JSDocDeprecatedTag, - [SyntaxKind.JSDocClassTag]: JSDocClassTag, - [SyntaxKind.JSDocPublicTag]: JSDocPublicTag, - [SyntaxKind.JSDocPrivateTag]: JSDocPrivateTag, - [SyntaxKind.JSDocProtectedTag]: JSDocProtectedTag, - [SyntaxKind.JSDocReadonlyTag]: JSDocReadonlyTag, - [SyntaxKind.JSDocOverrideTag]: JSDocOverrideTag, - [SyntaxKind.JSDocEnumTag]: JSDocEnumTag, - [SyntaxKind.JSDocThisTag]: JSDocThisTag, - [SyntaxKind.JSDocTemplateTag]: JSDocTemplateTag, - [SyntaxKind.JSDocSeeTag]: JSDocSeeTag, - [SyntaxKind.JSDocReturnTag]: JSDocReturnTag, - [SyntaxKind.JSDocTypeTag]: JSDocTypeTag, - [SyntaxKind.JSDocTypedefTag]: JSDocTypedefTag, - [SyntaxKind.JSDocCallbackTag]: JSDocCallbackTag, - [SyntaxKind.JSDocOverloadTag]: JSDocOverloadTag, - [SyntaxKind.JSDocThrowsTag]: JSDocThrowsTag, - [SyntaxKind.JSDocSignature]: JSDocSignature, - [SyntaxKind.JSDocPropertyTag]: JSDocPropertyTag, - [SyntaxKind.JSDocParameterTag]: JSDocParameterTag, - [SyntaxKind.JSDocTypeLiteral]: JSDocTypeLiteral, - [SyntaxKind.JSDocSatisfiesTag]: JSDocSatisfiesTag, - [SyntaxKind.JSDocImportTag]: JSDocImportTag, - [SyntaxKind.SourceFile]: SourceFile, - [SyntaxKind.Bundle]: Bundle, - [SyntaxKind.SyntaxList]: SyntaxList, - [SyntaxKind.NotEmittedStatement]: NotEmittedStatement, - [SyntaxKind.NotEmittedTypeElement]: NotEmittedTypeElement, - [SyntaxKind.PartiallyEmittedExpression]: PartiallyEmittedExpression, - [SyntaxKind.CommaListExpression]: CommaListExpression, - [SyntaxKind.SyntheticReferenceExpression]: SyntheticReferenceExpression, - [SyntaxKind.Count]: never, - [SyntaxKind.NonTextFileMarkerTrivia]: never, + [SyntaxKind.Unknown]: Token; + [SyntaxKind.EndOfFileToken]: EndOfFileToken; + [SyntaxKind.SingleLineCommentTrivia]: Token; + [SyntaxKind.MultiLineCommentTrivia]: Token; + [SyntaxKind.NewLineTrivia]: Token; + [SyntaxKind.WhitespaceTrivia]: Token; + [SyntaxKind.ShebangTrivia]: Token; + [SyntaxKind.ConflictMarkerTrivia]: Token; + [SyntaxKind.NonTextFileMarkerTrivia]: never; + [SyntaxKind.NumericLiteral]: NumericLiteral; + [SyntaxKind.BigIntLiteral]: BigIntLiteral; + [SyntaxKind.StringLiteral]: StringLiteral; + [SyntaxKind.JsxText]: JsxText; + [SyntaxKind.JsxTextAllWhiteSpaces]: never; + [SyntaxKind.RegularExpressionLiteral]: RegularExpressionLiteral; + [SyntaxKind.NoSubstitutionTemplateLiteral]: NoSubstitutionTemplateLiteral; + [SyntaxKind.TemplateHead]: TemplateHead; + [SyntaxKind.TemplateMiddle]: TemplateMiddle; + [SyntaxKind.TemplateTail]: TemplateTail; + [SyntaxKind.OpenBraceToken]: Token; + [SyntaxKind.CloseBraceToken]: Token; + [SyntaxKind.OpenParenToken]: Token; + [SyntaxKind.CloseParenToken]: Token; + [SyntaxKind.OpenBracketToken]: Token; + [SyntaxKind.CloseBracketToken]: Token; + [SyntaxKind.DotToken]: Token; + [SyntaxKind.DotDotDotToken]: Token; + [SyntaxKind.SemicolonToken]: Token; + [SyntaxKind.CommaToken]: Token; + [SyntaxKind.QuestionDotToken]: Token; + [SyntaxKind.LessThanToken]: Token; + [SyntaxKind.LessThanSlashToken]: Token; + [SyntaxKind.GreaterThanToken]: Token; + [SyntaxKind.LessThanEqualsToken]: Token; + [SyntaxKind.GreaterThanEqualsToken]: Token; + [SyntaxKind.EqualsEqualsToken]: Token; + [SyntaxKind.ExclamationEqualsToken]: Token; + [SyntaxKind.EqualsEqualsEqualsToken]: Token; + [SyntaxKind.ExclamationEqualsEqualsToken]: Token; + [SyntaxKind.EqualsGreaterThanToken]: Token; + [SyntaxKind.PlusToken]: Token; + [SyntaxKind.MinusToken]: Token; + [SyntaxKind.AsteriskToken]: Token; + [SyntaxKind.AsteriskAsteriskToken]: Token; + [SyntaxKind.SlashToken]: Token; + [SyntaxKind.PercentToken]: Token; + [SyntaxKind.PlusPlusToken]: Token; + [SyntaxKind.MinusMinusToken]: Token; + [SyntaxKind.LessThanLessThanToken]: Token; + [SyntaxKind.GreaterThanGreaterThanToken]: Token; + [SyntaxKind.GreaterThanGreaterThanGreaterThanToken]: Token; + [SyntaxKind.AmpersandToken]: Token; + [SyntaxKind.BarToken]: Token; + [SyntaxKind.CaretToken]: Token; + [SyntaxKind.ExclamationToken]: Token; + [SyntaxKind.TildeToken]: Token; + [SyntaxKind.AmpersandAmpersandToken]: Token; + [SyntaxKind.BarBarToken]: Token; + [SyntaxKind.QuestionToken]: Token; + [SyntaxKind.ColonToken]: Token; + [SyntaxKind.AtToken]: Token; + [SyntaxKind.QuestionQuestionToken]: Token; + [SyntaxKind.BacktickToken]: Token; + [SyntaxKind.HashToken]: Token; + [SyntaxKind.EqualsToken]: Token; + [SyntaxKind.PlusEqualsToken]: Token; + [SyntaxKind.MinusEqualsToken]: Token; + [SyntaxKind.AsteriskEqualsToken]: Token; + [SyntaxKind.AsteriskAsteriskEqualsToken]: Token; + [SyntaxKind.SlashEqualsToken]: Token; + [SyntaxKind.PercentEqualsToken]: Token; + [SyntaxKind.LessThanLessThanEqualsToken]: Token; + [SyntaxKind.GreaterThanGreaterThanEqualsToken]: Token; + [SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken]: Token; + [SyntaxKind.AmpersandEqualsToken]: Token; + [SyntaxKind.BarEqualsToken]: Token; + [SyntaxKind.BarBarEqualsToken]: Token; + [SyntaxKind.AmpersandAmpersandEqualsToken]: Token; + [SyntaxKind.QuestionQuestionEqualsToken]: Token; + [SyntaxKind.CaretEqualsToken]: Token; + [SyntaxKind.Identifier]: Identifier; + [SyntaxKind.PrivateIdentifier]: PrivateIdentifier; + [SyntaxKind.JSDocCommentTextToken]: never; + [SyntaxKind.BreakKeyword]: Token; + [SyntaxKind.CaseKeyword]: Token; + [SyntaxKind.CatchKeyword]: Token; + [SyntaxKind.ClassKeyword]: Token; + [SyntaxKind.ConstKeyword]: Token; + [SyntaxKind.ContinueKeyword]: Token; + [SyntaxKind.DebuggerKeyword]: Token; + [SyntaxKind.DefaultKeyword]: Token; + [SyntaxKind.DeleteKeyword]: Token; + [SyntaxKind.DoKeyword]: Token; + [SyntaxKind.ElseKeyword]: Token; + [SyntaxKind.EnumKeyword]: Token; + [SyntaxKind.ExportKeyword]: Token; + [SyntaxKind.ExtendsKeyword]: Token; + [SyntaxKind.FalseKeyword]: FalseLiteral; + [SyntaxKind.FinallyKeyword]: Token; + [SyntaxKind.ForKeyword]: Token; + [SyntaxKind.FunctionKeyword]: Token; + [SyntaxKind.IfKeyword]: Token; + [SyntaxKind.ImportKeyword]: ImportExpression; + [SyntaxKind.InKeyword]: Token; + [SyntaxKind.InstanceOfKeyword]: Token; + [SyntaxKind.NewKeyword]: Token; + [SyntaxKind.NullKeyword]: NullLiteral; + [SyntaxKind.ReturnKeyword]: Token; + [SyntaxKind.SuperKeyword]: SuperExpression; + [SyntaxKind.SwitchKeyword]: Token; + [SyntaxKind.ThisKeyword]: ThisExpression; + [SyntaxKind.ThrowKeyword]: Token; + [SyntaxKind.TrueKeyword]: TrueLiteral; + [SyntaxKind.TryKeyword]: Token; + [SyntaxKind.TypeOfKeyword]: Token; + [SyntaxKind.VarKeyword]: Token; + [SyntaxKind.VoidKeyword]: Token; + [SyntaxKind.WhileKeyword]: Token; + [SyntaxKind.WithKeyword]: Token; + [SyntaxKind.ImplementsKeyword]: Token; + [SyntaxKind.InterfaceKeyword]: Token; + [SyntaxKind.LetKeyword]: Token; + [SyntaxKind.PackageKeyword]: Token; + [SyntaxKind.PrivateKeyword]: Token; + [SyntaxKind.ProtectedKeyword]: Token; + [SyntaxKind.PublicKeyword]: Token; + [SyntaxKind.StaticKeyword]: Token; + [SyntaxKind.YieldKeyword]: Token; + [SyntaxKind.AbstractKeyword]: Token; + [SyntaxKind.AccessorKeyword]: Token; + [SyntaxKind.AsKeyword]: Token; + [SyntaxKind.AssertsKeyword]: Token; + [SyntaxKind.AssertKeyword]: Token; + [SyntaxKind.AnyKeyword]: Token; + [SyntaxKind.AsyncKeyword]: Token; + [SyntaxKind.AwaitKeyword]: Token; + [SyntaxKind.BooleanKeyword]: Token; + [SyntaxKind.ConstructorKeyword]: Token; + [SyntaxKind.DeclareKeyword]: Token; + [SyntaxKind.GetKeyword]: Token; + [SyntaxKind.InferKeyword]: Token; + [SyntaxKind.IntrinsicKeyword]: Token; + [SyntaxKind.IsKeyword]: Token; + [SyntaxKind.KeyOfKeyword]: Token; + [SyntaxKind.ModuleKeyword]: Token; + [SyntaxKind.NamespaceKeyword]: Token; + [SyntaxKind.NeverKeyword]: Token; + [SyntaxKind.OutKeyword]: Token; + [SyntaxKind.ReadonlyKeyword]: Token; + [SyntaxKind.RequireKeyword]: Token; + [SyntaxKind.NumberKeyword]: Token; + [SyntaxKind.ObjectKeyword]: Token; + [SyntaxKind.SatisfiesKeyword]: Token; + [SyntaxKind.SetKeyword]: Token; + [SyntaxKind.StringKeyword]: Token; + [SyntaxKind.SymbolKeyword]: Token; + [SyntaxKind.TypeKeyword]: Token; + [SyntaxKind.UndefinedKeyword]: Token; + [SyntaxKind.UniqueKeyword]: Token; + [SyntaxKind.UnknownKeyword]: Token; + [SyntaxKind.UsingKeyword]: Token; + [SyntaxKind.FromKeyword]: Token; + [SyntaxKind.GlobalKeyword]: Token; + [SyntaxKind.BigIntKeyword]: Token; + [SyntaxKind.OverrideKeyword]: Token; + [SyntaxKind.OfKeyword]: Token; + [SyntaxKind.QualifiedName]: QualifiedName; + [SyntaxKind.ComputedPropertyName]: ComputedPropertyName; + [SyntaxKind.Decorator]: Decorator; + [SyntaxKind.TypeParameter]: TypeParameterDeclaration; + [SyntaxKind.CallSignature]: CallSignatureDeclaration; + [SyntaxKind.ConstructSignature]: ConstructSignatureDeclaration; + [SyntaxKind.VariableDeclaration]: VariableDeclaration; + [SyntaxKind.VariableDeclarationList]: VariableDeclarationList; + [SyntaxKind.Parameter]: ParameterDeclaration; + [SyntaxKind.BindingElement]: BindingElement; + [SyntaxKind.PropertySignature]: PropertySignature; + [SyntaxKind.PropertyDeclaration]: PropertyDeclaration; + [SyntaxKind.PropertyAssignment]: PropertyAssignment; + [SyntaxKind.ShorthandPropertyAssignment]: ShorthandPropertyAssignment; + [SyntaxKind.SpreadAssignment]: SpreadAssignment; + [SyntaxKind.ObjectBindingPattern]: ObjectBindingPattern; + [SyntaxKind.ArrayBindingPattern]: ArrayBindingPattern; + [SyntaxKind.FunctionDeclaration]: FunctionDeclaration; + [SyntaxKind.MethodSignature]: MethodSignature; + [SyntaxKind.MethodDeclaration]: MethodDeclaration; + [SyntaxKind.Constructor]: ConstructorDeclaration; + [SyntaxKind.SemicolonClassElement]: SemicolonClassElement; + [SyntaxKind.GetAccessor]: GetAccessorDeclaration; + [SyntaxKind.SetAccessor]: SetAccessorDeclaration; + [SyntaxKind.IndexSignature]: IndexSignatureDeclaration; + [SyntaxKind.ClassStaticBlockDeclaration]: ClassStaticBlockDeclaration; + [SyntaxKind.ImportTypeAssertionContainer]: ImportTypeAssertionContainer; + [SyntaxKind.ImportType]: ImportTypeNode; + [SyntaxKind.ThisType]: ThisTypeNode; + [SyntaxKind.FunctionType]: FunctionTypeNode; + [SyntaxKind.ConstructorType]: ConstructorTypeNode; + [SyntaxKind.TypeReference]: TypeReferenceNode; + [SyntaxKind.TypePredicate]: TypePredicateNode; + [SyntaxKind.TypeQuery]: TypeQueryNode; + [SyntaxKind.TypeLiteral]: TypeLiteralNode; + [SyntaxKind.ArrayType]: ArrayTypeNode; + [SyntaxKind.TupleType]: TupleTypeNode; + [SyntaxKind.NamedTupleMember]: NamedTupleMember; + [SyntaxKind.OptionalType]: OptionalTypeNode; + [SyntaxKind.RestType]: RestTypeNode; + [SyntaxKind.UnionType]: UnionTypeNode; + [SyntaxKind.IntersectionType]: IntersectionTypeNode; + [SyntaxKind.ConditionalType]: ConditionalTypeNode; + [SyntaxKind.InferType]: InferTypeNode; + [SyntaxKind.ParenthesizedType]: ParenthesizedTypeNode; + [SyntaxKind.TypeOperator]: TypeOperatorNode; + [SyntaxKind.IndexedAccessType]: IndexedAccessTypeNode; + [SyntaxKind.MappedType]: MappedTypeNode; + [SyntaxKind.LiteralType]: LiteralTypeNode; + [SyntaxKind.TemplateLiteralType]: TemplateLiteralTypeNode; + [SyntaxKind.TemplateLiteralTypeSpan]: TemplateLiteralTypeSpan; + [SyntaxKind.OmittedExpression]: OmittedExpression; + [SyntaxKind.PrefixUnaryExpression]: PrefixUnaryExpression; + [SyntaxKind.PostfixUnaryExpression]: PostfixUnaryExpression; + [SyntaxKind.DeleteExpression]: DeleteExpression; + [SyntaxKind.TypeOfExpression]: TypeOfExpression; + [SyntaxKind.VoidExpression]: VoidExpression; + [SyntaxKind.AwaitExpression]: AwaitExpression; + [SyntaxKind.YieldExpression]: YieldExpression; + [SyntaxKind.BinaryExpression]: BinaryExpression; + [SyntaxKind.ConditionalExpression]: ConditionalExpression; + [SyntaxKind.FunctionExpression]: FunctionExpression; + [SyntaxKind.ArrowFunction]: ArrowFunction; + [SyntaxKind.TemplateExpression]: TemplateExpression; + [SyntaxKind.TemplateSpan]: TemplateSpan; + [SyntaxKind.ParenthesizedExpression]: ParenthesizedExpression; + [SyntaxKind.ArrayLiteralExpression]: ArrayLiteralExpression; + [SyntaxKind.SpreadElement]: SpreadElement; + [SyntaxKind.ObjectLiteralExpression]: ObjectLiteralExpression; + [SyntaxKind.PropertyAccessExpression]: PropertyAccessExpression; + [SyntaxKind.ElementAccessExpression]: ElementAccessExpression; + [SyntaxKind.CallExpression]: CallExpression; + [SyntaxKind.ExpressionWithTypeArguments]: ExpressionWithTypeArguments; + [SyntaxKind.NewExpression]: NewExpression; + [SyntaxKind.TaggedTemplateExpression]: TaggedTemplateExpression; + [SyntaxKind.AsExpression]: AsExpression; + [SyntaxKind.TypeAssertionExpression]: TypeAssertion; + [SyntaxKind.SyntheticExpression]: SyntheticExpression; + [SyntaxKind.SatisfiesExpression]: SatisfiesExpression; + [SyntaxKind.NonNullExpression]: NonNullExpression; + [SyntaxKind.MetaProperty]: MetaProperty; + [SyntaxKind.JsxElement]: JsxElement; + [SyntaxKind.JsxAttributes]: JsxAttributes; + [SyntaxKind.JsxNamespacedName]: JsxNamespacedName; + [SyntaxKind.JsxOpeningElement]: JsxOpeningElement; + [SyntaxKind.JsxSelfClosingElement]: JsxSelfClosingElement; + [SyntaxKind.JsxFragment]: JsxFragment; + [SyntaxKind.JsxOpeningFragment]: JsxOpeningFragment; + [SyntaxKind.JsxClosingFragment]: JsxClosingFragment; + [SyntaxKind.JsxAttribute]: JsxAttribute; + [SyntaxKind.JsxSpreadAttribute]: JsxSpreadAttribute; + [SyntaxKind.JsxClosingElement]: JsxClosingElement; + [SyntaxKind.JsxExpression]: JsxExpression; + [SyntaxKind.EmptyStatement]: EmptyStatement; + [SyntaxKind.DebuggerStatement]: DebuggerStatement; + [SyntaxKind.MissingDeclaration]: MissingDeclaration; + [SyntaxKind.Block]: Block; + [SyntaxKind.VariableStatement]: VariableStatement; + [SyntaxKind.ExpressionStatement]: ExpressionStatement; + [SyntaxKind.IfStatement]: IfStatement; + [SyntaxKind.DoStatement]: DoStatement; + [SyntaxKind.WhileStatement]: WhileStatement; + [SyntaxKind.ForStatement]: ForStatement; + [SyntaxKind.ForInStatement]: ForInStatement; + [SyntaxKind.ForOfStatement]: ForOfStatement; + [SyntaxKind.BreakStatement]: BreakStatement; + [SyntaxKind.ContinueStatement]: ContinueStatement; + [SyntaxKind.ReturnStatement]: ReturnStatement; + [SyntaxKind.WithStatement]: WithStatement; + [SyntaxKind.SwitchStatement]: SwitchStatement; + [SyntaxKind.CaseBlock]: CaseBlock; + [SyntaxKind.CaseClause]: CaseClause; + [SyntaxKind.DefaultClause]: DefaultClause; + [SyntaxKind.LabeledStatement]: LabeledStatement; + [SyntaxKind.ThrowStatement]: ThrowStatement; + [SyntaxKind.TryStatement]: TryStatement; + [SyntaxKind.CatchClause]: CatchClause; + [SyntaxKind.ClassDeclaration]: ClassDeclaration; + [SyntaxKind.ClassExpression]: ClassExpression; + [SyntaxKind.InterfaceDeclaration]: InterfaceDeclaration; + [SyntaxKind.HeritageClause]: HeritageClause; + [SyntaxKind.TypeAliasDeclaration]: TypeAliasDeclaration; + [SyntaxKind.EnumMember]: EnumMember; + [SyntaxKind.EnumDeclaration]: EnumDeclaration; + [SyntaxKind.ModuleDeclaration]: ModuleDeclaration; + [SyntaxKind.ModuleBlock]: ModuleBlock; + [SyntaxKind.ImportEqualsDeclaration]: ImportEqualsDeclaration; + [SyntaxKind.ExternalModuleReference]: ExternalModuleReference; + [SyntaxKind.ImportDeclaration]: ImportDeclaration; + [SyntaxKind.ImportClause]: ImportClause; + [SyntaxKind.ImportAttribute]: ImportAttribute; + [SyntaxKind.ImportAttributes]: ImportAttributes; + [SyntaxKind.NamespaceImport]: NamespaceImport; + [SyntaxKind.NamespaceExport]: NamespaceExport; + [SyntaxKind.NamespaceExportDeclaration]: NamespaceExportDeclaration; + [SyntaxKind.ExportDeclaration]: ExportDeclaration; + [SyntaxKind.NamedImports]: NamedImports; + [SyntaxKind.NamedExports]: NamedExports; + [SyntaxKind.ImportSpecifier]: ImportSpecifier; + [SyntaxKind.ExportSpecifier]: ExportSpecifier; + [SyntaxKind.ExportAssignment]: ExportAssignment; + [SyntaxKind.JSDocTypeExpression]: JSDocTypeExpression; + [SyntaxKind.JSDocNameReference]: JSDocNameReference; + [SyntaxKind.JSDocMemberName]: JSDocMemberName; + [SyntaxKind.JSDocAllType]: JSDocAllType; + [SyntaxKind.JSDocUnknownType]: JSDocUnknownType; + [SyntaxKind.JSDocNonNullableType]: JSDocNonNullableType; + [SyntaxKind.JSDocNullableType]: JSDocNullableType; + [SyntaxKind.JSDocOptionalType]: JSDocOptionalType; + [SyntaxKind.JSDocFunctionType]: JSDocFunctionType; + [SyntaxKind.JSDocVariadicType]: JSDocVariadicType; + [SyntaxKind.JSDocNamepathType]: JSDocNamepathType; + [SyntaxKind.JSDoc]: JSDocNode; + [SyntaxKind.JSDocLink]: JSDocLink; + [SyntaxKind.JSDocLinkCode]: JSDocLinkCode; + [SyntaxKind.JSDocLinkPlain]: JSDocLinkPlain; + [SyntaxKind.JSDocText]: JSDocText; + [SyntaxKind.JSDocTag]: JSDocUnknownTag; + [SyntaxKind.JSDocAugmentsTag]: JSDocAugmentsTag; + [SyntaxKind.JSDocImplementsTag]: JSDocImplementsTag; + [SyntaxKind.JSDocAuthorTag]: JSDocAuthorTag; + [SyntaxKind.JSDocDeprecatedTag]: JSDocDeprecatedTag; + [SyntaxKind.JSDocClassTag]: JSDocClassTag; + [SyntaxKind.JSDocPublicTag]: JSDocPublicTag; + [SyntaxKind.JSDocPrivateTag]: JSDocPrivateTag; + [SyntaxKind.JSDocProtectedTag]: JSDocProtectedTag; + [SyntaxKind.JSDocReadonlyTag]: JSDocReadonlyTag; + [SyntaxKind.JSDocOverrideTag]: JSDocOverrideTag; + [SyntaxKind.JSDocEnumTag]: JSDocEnumTag; + [SyntaxKind.JSDocThisTag]: JSDocThisTag; + [SyntaxKind.JSDocTemplateTag]: JSDocTemplateTag; + [SyntaxKind.JSDocSeeTag]: JSDocSeeTag; + [SyntaxKind.JSDocReturnTag]: JSDocReturnTag; + [SyntaxKind.JSDocTypeTag]: JSDocTypeTag; + [SyntaxKind.JSDocTypedefTag]: JSDocTypedefTag; + [SyntaxKind.JSDocCallbackTag]: JSDocCallbackTag; + [SyntaxKind.JSDocOverloadTag]: JSDocOverloadTag; + [SyntaxKind.JSDocThrowsTag]: JSDocThrowsTag; + [SyntaxKind.JSDocSignature]: JSDocSignature; + [SyntaxKind.JSDocPropertyTag]: JSDocPropertyTag; + [SyntaxKind.JSDocParameterTag]: JSDocParameterTag; + [SyntaxKind.JSDocTypeLiteral]: JSDocTypeLiteral; + [SyntaxKind.JSDocSatisfiesTag]: JSDocSatisfiesTag; + [SyntaxKind.JSDocImportTag]: JSDocImportTag; + [SyntaxKind.SourceFile]: SourceFile; + [SyntaxKind.Bundle]: Bundle; + [SyntaxKind.SyntaxList]: SyntaxList; + [SyntaxKind.NotEmittedStatement]: NotEmittedStatement; + [SyntaxKind.NotEmittedTypeElement]: NotEmittedTypeElement; + [SyntaxKind.PartiallyEmittedExpression]: PartiallyEmittedExpression; + [SyntaxKind.CommaListExpression]: CommaListExpression; + [SyntaxKind.SyntheticReferenceExpression]: SyntheticReferenceExpression; + [SyntaxKind.Count]: never; + [SyntaxKind.NonTextFileMarkerTrivia]: never; } -/** @internal */ +/** @internal @knipignore */ export interface AstNodeType { - [SyntaxKind.Unknown]: AstToken, - [SyntaxKind.EndOfFileToken]: AstEndOfFileToken, - [SyntaxKind.SingleLineCommentTrivia]: AstToken, - [SyntaxKind.MultiLineCommentTrivia]: AstToken, - [SyntaxKind.NewLineTrivia]: AstToken, - [SyntaxKind.WhitespaceTrivia]: AstToken, - [SyntaxKind.ShebangTrivia]: AstToken, - [SyntaxKind.ConflictMarkerTrivia]: AstToken, - [SyntaxKind.NonTextFileMarkerTrivia]: never, - [SyntaxKind.NumericLiteral]: AstNumericLiteral, - [SyntaxKind.BigIntLiteral]: AstBigIntLiteral, - [SyntaxKind.StringLiteral]: AstStringLiteral, - [SyntaxKind.JsxText]: AstJsxText, - [SyntaxKind.JsxTextAllWhiteSpaces]: never, - [SyntaxKind.RegularExpressionLiteral]: AstRegularExpressionLiteral, - [SyntaxKind.NoSubstitutionTemplateLiteral]: AstNoSubstitutionTemplateLiteral, - [SyntaxKind.TemplateHead]: AstTemplateHead, - [SyntaxKind.TemplateMiddle]: AstTemplateMiddle, - [SyntaxKind.TemplateTail]: AstTemplateTail, - [SyntaxKind.OpenBraceToken]: AstToken, - [SyntaxKind.CloseBraceToken]: AstToken, - [SyntaxKind.OpenParenToken]: AstToken, - [SyntaxKind.CloseParenToken]: AstToken, - [SyntaxKind.OpenBracketToken]: AstToken, - [SyntaxKind.CloseBracketToken]: AstToken, - [SyntaxKind.DotToken]: AstDotToken, - [SyntaxKind.DotDotDotToken]: AstDotDotDotToken, - [SyntaxKind.SemicolonToken]: AstToken, - [SyntaxKind.CommaToken]: AstToken, - [SyntaxKind.QuestionDotToken]: AstQuestionDotToken, - [SyntaxKind.LessThanToken]: AstToken, - [SyntaxKind.LessThanSlashToken]: AstToken, - [SyntaxKind.GreaterThanToken]: AstToken, - [SyntaxKind.LessThanEqualsToken]: AstToken, - [SyntaxKind.GreaterThanEqualsToken]: AstToken, - [SyntaxKind.EqualsEqualsToken]: AstToken, - [SyntaxKind.ExclamationEqualsToken]: AstToken, - [SyntaxKind.EqualsEqualsEqualsToken]: AstToken, - [SyntaxKind.ExclamationEqualsEqualsToken]: AstToken, - [SyntaxKind.EqualsGreaterThanToken]: AstEqualsGreaterThanToken, - [SyntaxKind.PlusToken]: AstPlusToken, - [SyntaxKind.MinusToken]: AstMinusToken, - [SyntaxKind.AsteriskToken]: AstAsteriskToken, - [SyntaxKind.AsteriskAsteriskToken]: AstToken, - [SyntaxKind.SlashToken]: AstToken, - [SyntaxKind.PercentToken]: AstToken, - [SyntaxKind.PlusPlusToken]: AstToken, - [SyntaxKind.MinusMinusToken]: AstToken, - [SyntaxKind.LessThanLessThanToken]: AstToken, - [SyntaxKind.GreaterThanGreaterThanToken]: AstToken, - [SyntaxKind.GreaterThanGreaterThanGreaterThanToken]: AstToken, - [SyntaxKind.AmpersandToken]: AstToken, - [SyntaxKind.BarToken]: AstToken, - [SyntaxKind.CaretToken]: AstToken, - [SyntaxKind.ExclamationToken]: AstExclamationToken, - [SyntaxKind.TildeToken]: AstToken, - [SyntaxKind.AmpersandAmpersandToken]: AstToken, - [SyntaxKind.BarBarToken]: AstToken, - [SyntaxKind.QuestionToken]: AstQuestionToken, - [SyntaxKind.ColonToken]: AstColonToken, - [SyntaxKind.AtToken]: AstToken, - [SyntaxKind.QuestionQuestionToken]: AstToken, - [SyntaxKind.BacktickToken]: AstToken, - [SyntaxKind.HashToken]: AstToken, - [SyntaxKind.EqualsToken]: AstEqualsToken, - [SyntaxKind.PlusEqualsToken]: AstToken, - [SyntaxKind.MinusEqualsToken]: AstToken, - [SyntaxKind.AsteriskEqualsToken]: AstToken, - [SyntaxKind.AsteriskAsteriskEqualsToken]: AstToken, - [SyntaxKind.SlashEqualsToken]: AstToken, - [SyntaxKind.PercentEqualsToken]: AstToken, - [SyntaxKind.LessThanLessThanEqualsToken]: AstToken, - [SyntaxKind.GreaterThanGreaterThanEqualsToken]: AstToken, - [SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken]: AstToken, - [SyntaxKind.AmpersandEqualsToken]: AstToken, - [SyntaxKind.BarEqualsToken]: AstToken, - [SyntaxKind.BarBarEqualsToken]: AstBarBarEqualsToken, - [SyntaxKind.AmpersandAmpersandEqualsToken]: AstAmpersandAmpersandEqualsToken, - [SyntaxKind.QuestionQuestionEqualsToken]: AstQuestionQuestionEqualsToken, - [SyntaxKind.CaretEqualsToken]: AstToken, - [SyntaxKind.Identifier]: AstIdentifier, - [SyntaxKind.PrivateIdentifier]: AstPrivateIdentifier, - [SyntaxKind.JSDocCommentTextToken]: never, - [SyntaxKind.BreakKeyword]: AstToken, - [SyntaxKind.CaseKeyword]: AstCaseKeyword, - [SyntaxKind.CatchKeyword]: AstToken, - [SyntaxKind.ClassKeyword]: AstToken, - [SyntaxKind.ConstKeyword]: AstToken, - [SyntaxKind.ContinueKeyword]: AstToken, - [SyntaxKind.DebuggerKeyword]: AstToken, - [SyntaxKind.DefaultKeyword]: AstDefaultKeyword, - [SyntaxKind.DeleteKeyword]: AstToken, - [SyntaxKind.DoKeyword]: AstToken, - [SyntaxKind.ElseKeyword]: AstToken, - [SyntaxKind.EnumKeyword]: AstToken, - [SyntaxKind.ExportKeyword]: AstExportKeyword, - [SyntaxKind.ExtendsKeyword]: AstToken, - [SyntaxKind.FalseKeyword]: AstFalseLiteral, - [SyntaxKind.FinallyKeyword]: AstToken, - [SyntaxKind.ForKeyword]: AstToken, - [SyntaxKind.FunctionKeyword]: AstToken, - [SyntaxKind.IfKeyword]: AstToken, - [SyntaxKind.ImportKeyword]: AstImportExpression, - [SyntaxKind.InKeyword]: AstInKeyword, - [SyntaxKind.InstanceOfKeyword]: AstToken, - [SyntaxKind.NewKeyword]: AstToken, - [SyntaxKind.NullKeyword]: AstNullLiteral, - [SyntaxKind.ReturnKeyword]: AstToken, - [SyntaxKind.SuperKeyword]: AstSuperExpression, - [SyntaxKind.SwitchKeyword]: AstToken, - [SyntaxKind.ThisKeyword]: AstThisExpression, - [SyntaxKind.ThrowKeyword]: AstToken, - [SyntaxKind.TrueKeyword]: AstTrueLiteral, - [SyntaxKind.TryKeyword]: AstToken, - [SyntaxKind.TypeOfKeyword]: AstToken, - [SyntaxKind.VarKeyword]: AstToken, - [SyntaxKind.VoidKeyword]: AstToken, - [SyntaxKind.WhileKeyword]: AstToken, - [SyntaxKind.WithKeyword]: AstToken, - [SyntaxKind.ImplementsKeyword]: AstToken, - [SyntaxKind.InterfaceKeyword]: AstToken, - [SyntaxKind.LetKeyword]: AstToken, - [SyntaxKind.PackageKeyword]: AstToken, - [SyntaxKind.PrivateKeyword]: AstPrivateKeyword, - [SyntaxKind.ProtectedKeyword]: AstProtectedKeyword, - [SyntaxKind.PublicKeyword]: AstPublicKeyword, - [SyntaxKind.StaticKeyword]: AstStaticKeyword, - [SyntaxKind.YieldKeyword]: AstToken, - [SyntaxKind.AbstractKeyword]: AstAbstractKeyword, - [SyntaxKind.AccessorKeyword]: AstAccessorKeyword, - [SyntaxKind.AsKeyword]: AstToken, - [SyntaxKind.AssertsKeyword]: AstAssertsKeyword, - [SyntaxKind.AssertKeyword]: AstAssertKeyword, - [SyntaxKind.AnyKeyword]: AstToken, - [SyntaxKind.AsyncKeyword]: AstAsyncKeyword, - [SyntaxKind.AwaitKeyword]: AstAwaitKeyword, - [SyntaxKind.BooleanKeyword]: AstToken, - [SyntaxKind.ConstructorKeyword]: AstToken, - [SyntaxKind.DeclareKeyword]: AstDeclareKeyword, - [SyntaxKind.GetKeyword]: AstToken, - [SyntaxKind.InferKeyword]: AstToken, - [SyntaxKind.IntrinsicKeyword]: AstToken, - [SyntaxKind.IsKeyword]: AstToken, - [SyntaxKind.KeyOfKeyword]: AstToken, - [SyntaxKind.ModuleKeyword]: AstToken, - [SyntaxKind.NamespaceKeyword]: AstToken, - [SyntaxKind.NeverKeyword]: AstToken, - [SyntaxKind.OutKeyword]: AstOutKeyword, - [SyntaxKind.ReadonlyKeyword]: AstReadonlyKeyword, - [SyntaxKind.RequireKeyword]: AstToken, - [SyntaxKind.NumberKeyword]: AstToken, - [SyntaxKind.ObjectKeyword]: AstToken, - [SyntaxKind.SatisfiesKeyword]: AstToken, - [SyntaxKind.SetKeyword]: AstToken, - [SyntaxKind.StringKeyword]: AstToken, - [SyntaxKind.SymbolKeyword]: AstToken, - [SyntaxKind.TypeKeyword]: AstToken, - [SyntaxKind.UndefinedKeyword]: AstToken, - [SyntaxKind.UniqueKeyword]: AstToken, - [SyntaxKind.UnknownKeyword]: AstToken, - [SyntaxKind.UsingKeyword]: AstToken, - [SyntaxKind.FromKeyword]: AstToken, - [SyntaxKind.GlobalKeyword]: AstToken, - [SyntaxKind.BigIntKeyword]: AstToken, - [SyntaxKind.OverrideKeyword]: AstOverrideKeyword, - [SyntaxKind.OfKeyword]: AstToken, - [SyntaxKind.QualifiedName]: AstQualifiedName, - [SyntaxKind.ComputedPropertyName]: AstComputedPropertyName, - [SyntaxKind.Decorator]: AstDecorator, - [SyntaxKind.TypeParameter]: AstTypeParameterDeclaration, - [SyntaxKind.CallSignature]: AstCallSignatureDeclaration, - [SyntaxKind.ConstructSignature]: AstConstructSignatureDeclaration, - [SyntaxKind.VariableDeclaration]: AstVariableDeclaration, - [SyntaxKind.VariableDeclarationList]: AstVariableDeclarationList, - [SyntaxKind.Parameter]: AstParameterDeclaration, - [SyntaxKind.BindingElement]: AstBindingElement, - [SyntaxKind.PropertySignature]: AstPropertySignature, - [SyntaxKind.PropertyDeclaration]: AstPropertyDeclaration, - [SyntaxKind.PropertyAssignment]: AstPropertyAssignment, - [SyntaxKind.ShorthandPropertyAssignment]: AstShorthandPropertyAssignment, - [SyntaxKind.SpreadAssignment]: AstSpreadAssignment, - [SyntaxKind.ObjectBindingPattern]: AstObjectBindingPattern, - [SyntaxKind.ArrayBindingPattern]: AstArrayBindingPattern, - [SyntaxKind.FunctionDeclaration]: AstFunctionDeclaration, - [SyntaxKind.MethodSignature]: AstMethodSignature, - [SyntaxKind.MethodDeclaration]: AstMethodDeclaration, - [SyntaxKind.Constructor]: AstConstructorDeclaration, - [SyntaxKind.SemicolonClassElement]: AstSemicolonClassElement, - [SyntaxKind.GetAccessor]: AstGetAccessorDeclaration, - [SyntaxKind.SetAccessor]: AstSetAccessorDeclaration, - [SyntaxKind.IndexSignature]: AstIndexSignatureDeclaration, - [SyntaxKind.ClassStaticBlockDeclaration]: AstClassStaticBlockDeclaration, - [SyntaxKind.ImportTypeAssertionContainer]: AstImportTypeAssertionContainer, - [SyntaxKind.ImportType]: AstImportTypeNode, - [SyntaxKind.ThisType]: AstThisTypeNode, - [SyntaxKind.FunctionType]: AstFunctionTypeNode, - [SyntaxKind.ConstructorType]: AstConstructorTypeNode, - [SyntaxKind.TypeReference]: AstTypeReferenceNode, - [SyntaxKind.TypePredicate]: AstTypePredicateNode, - [SyntaxKind.TypeQuery]: AstTypeQueryNode, - [SyntaxKind.TypeLiteral]: AstTypeLiteralNode, - [SyntaxKind.ArrayType]: AstArrayTypeNode, - [SyntaxKind.TupleType]: AstTupleTypeNode, - [SyntaxKind.NamedTupleMember]: AstNamedTupleMember, - [SyntaxKind.OptionalType]: AstOptionalTypeNode, - [SyntaxKind.RestType]: AstRestTypeNode, - [SyntaxKind.UnionType]: AstUnionTypeNode, - [SyntaxKind.IntersectionType]: AstIntersectionTypeNode, - [SyntaxKind.ConditionalType]: AstConditionalTypeNode, - [SyntaxKind.InferType]: AstInferTypeNode, - [SyntaxKind.ParenthesizedType]: AstParenthesizedTypeNode, - [SyntaxKind.TypeOperator]: AstTypeOperatorNode, - [SyntaxKind.IndexedAccessType]: AstIndexedAccessTypeNode, - [SyntaxKind.MappedType]: AstMappedTypeNode, - [SyntaxKind.LiteralType]: AstLiteralTypeNode, - [SyntaxKind.TemplateLiteralType]: AstTemplateLiteralTypeNode, - [SyntaxKind.TemplateLiteralTypeSpan]: AstTemplateLiteralTypeSpan, - [SyntaxKind.OmittedExpression]: AstOmittedExpression, - [SyntaxKind.PrefixUnaryExpression]: AstPrefixUnaryExpression, - [SyntaxKind.PostfixUnaryExpression]: AstPostfixUnaryExpression, - [SyntaxKind.DeleteExpression]: AstDeleteExpression, - [SyntaxKind.TypeOfExpression]: AstTypeOfExpression, - [SyntaxKind.VoidExpression]: AstVoidExpression, - [SyntaxKind.AwaitExpression]: AstAwaitExpression, - [SyntaxKind.YieldExpression]: AstYieldExpression, - [SyntaxKind.BinaryExpression]: AstBinaryExpression, - [SyntaxKind.ConditionalExpression]: AstConditionalExpression, - [SyntaxKind.FunctionExpression]: AstFunctionExpression, - [SyntaxKind.ArrowFunction]: AstArrowFunction, - [SyntaxKind.TemplateExpression]: AstTemplateExpression, - [SyntaxKind.TemplateSpan]: AstTemplateSpan, - [SyntaxKind.ParenthesizedExpression]: AstParenthesizedExpression, - [SyntaxKind.ArrayLiteralExpression]: AstArrayLiteralExpression, - [SyntaxKind.SpreadElement]: AstSpreadElement, - [SyntaxKind.ObjectLiteralExpression]: AstObjectLiteralExpression, - [SyntaxKind.PropertyAccessExpression]: AstPropertyAccessExpression, - [SyntaxKind.ElementAccessExpression]: AstElementAccessExpression, - [SyntaxKind.CallExpression]: AstCallExpression, - [SyntaxKind.ExpressionWithTypeArguments]: AstExpressionWithTypeArguments, - [SyntaxKind.NewExpression]: AstNewExpression, - [SyntaxKind.TaggedTemplateExpression]: AstTaggedTemplateExpression, - [SyntaxKind.AsExpression]: AstAsExpression, - [SyntaxKind.TypeAssertionExpression]: AstTypeAssertion, - [SyntaxKind.SyntheticExpression]: AstSyntheticExpression, - [SyntaxKind.SatisfiesExpression]: AstSatisfiesExpression, - [SyntaxKind.NonNullExpression]: AstNonNullExpression, - [SyntaxKind.MetaProperty]: AstMetaProperty, - [SyntaxKind.JsxElement]: AstJsxElement, - [SyntaxKind.JsxAttributes]: AstJsxAttributes, - [SyntaxKind.JsxNamespacedName]: AstJsxNamespacedName, - [SyntaxKind.JsxOpeningElement]: AstJsxOpeningElement, - [SyntaxKind.JsxSelfClosingElement]: AstJsxSelfClosingElement, - [SyntaxKind.JsxFragment]: AstJsxFragment, - [SyntaxKind.JsxOpeningFragment]: AstJsxOpeningFragment, - [SyntaxKind.JsxClosingFragment]: AstJsxClosingFragment, - [SyntaxKind.JsxAttribute]: AstJsxAttribute, - [SyntaxKind.JsxSpreadAttribute]: AstJsxSpreadAttribute, - [SyntaxKind.JsxClosingElement]: AstJsxClosingElement, - [SyntaxKind.JsxExpression]: AstJsxExpression, - [SyntaxKind.EmptyStatement]: AstEmptyStatement, - [SyntaxKind.DebuggerStatement]: AstDebuggerStatement, - [SyntaxKind.MissingDeclaration]: AstMissingDeclaration, - [SyntaxKind.Block]: AstBlock, - [SyntaxKind.VariableStatement]: AstVariableStatement, - [SyntaxKind.ExpressionStatement]: AstExpressionStatement, - [SyntaxKind.IfStatement]: AstIfStatement, - [SyntaxKind.DoStatement]: AstDoStatement, - [SyntaxKind.WhileStatement]: AstWhileStatement, - [SyntaxKind.ForStatement]: AstForStatement, - [SyntaxKind.ForInStatement]: AstForInStatement, - [SyntaxKind.ForOfStatement]: AstForOfStatement, - [SyntaxKind.BreakStatement]: AstBreakStatement, - [SyntaxKind.ContinueStatement]: AstContinueStatement, - [SyntaxKind.ReturnStatement]: AstReturnStatement, - [SyntaxKind.WithStatement]: AstWithStatement, - [SyntaxKind.SwitchStatement]: AstSwitchStatement, - [SyntaxKind.CaseBlock]: AstCaseBlock, - [SyntaxKind.CaseClause]: AstCaseClause, - [SyntaxKind.DefaultClause]: AstDefaultClause, - [SyntaxKind.LabeledStatement]: AstLabeledStatement, - [SyntaxKind.ThrowStatement]: AstThrowStatement, - [SyntaxKind.TryStatement]: AstTryStatement, - [SyntaxKind.CatchClause]: AstCatchClause, - [SyntaxKind.ClassDeclaration]: AstClassDeclaration, - [SyntaxKind.ClassExpression]: AstClassExpression, - [SyntaxKind.InterfaceDeclaration]: AstInterfaceDeclaration, - [SyntaxKind.HeritageClause]: AstHeritageClause, - [SyntaxKind.TypeAliasDeclaration]: AstTypeAliasDeclaration, - [SyntaxKind.EnumMember]: AstEnumMember, - [SyntaxKind.EnumDeclaration]: AstEnumDeclaration, - [SyntaxKind.ModuleDeclaration]: AstModuleDeclaration, - [SyntaxKind.ModuleBlock]: AstModuleBlock, - [SyntaxKind.ImportEqualsDeclaration]: AstImportEqualsDeclaration, - [SyntaxKind.ExternalModuleReference]: AstExternalModuleReference, - [SyntaxKind.ImportDeclaration]: AstImportDeclaration, - [SyntaxKind.ImportClause]: AstImportClause, - [SyntaxKind.ImportAttribute]: AstImportAttribute, - [SyntaxKind.ImportAttributes]: AstImportAttributes, - [SyntaxKind.NamespaceImport]: AstNamespaceImport, - [SyntaxKind.NamespaceExport]: AstNamespaceExport, - [SyntaxKind.NamespaceExportDeclaration]: AstNamespaceExportDeclaration, - [SyntaxKind.ExportDeclaration]: AstExportDeclaration, - [SyntaxKind.NamedImports]: AstNamedImports, - [SyntaxKind.NamedExports]: AstNamedExports, - [SyntaxKind.ImportSpecifier]: AstImportSpecifier, - [SyntaxKind.ExportSpecifier]: AstExportSpecifier, - [SyntaxKind.ExportAssignment]: AstExportAssignment, - [SyntaxKind.JSDocTypeExpression]: AstJSDocTypeExpression, - [SyntaxKind.JSDocNameReference]: AstJSDocNameReference, - [SyntaxKind.JSDocMemberName]: AstJSDocMemberName, - [SyntaxKind.JSDocAllType]: AstJSDocAllType, - [SyntaxKind.JSDocUnknownType]: AstJSDocUnknownType, - [SyntaxKind.JSDocNonNullableType]: AstJSDocNonNullableType, - [SyntaxKind.JSDocNullableType]: AstJSDocNullableType, - [SyntaxKind.JSDocOptionalType]: AstJSDocOptionalType, - [SyntaxKind.JSDocFunctionType]: AstJSDocFunctionType, - [SyntaxKind.JSDocVariadicType]: AstJSDocVariadicType, - [SyntaxKind.JSDocNamepathType]: AstJSDocNamepathType, - [SyntaxKind.JSDoc]: AstJSDocNode, - [SyntaxKind.JSDocLink]: AstJSDocLink, - [SyntaxKind.JSDocLinkCode]: AstJSDocLinkCode, - [SyntaxKind.JSDocLinkPlain]: AstJSDocLinkPlain, - [SyntaxKind.JSDocText]: AstJSDocText, - [SyntaxKind.JSDocTag]: AstJSDocUnknownTag, - [SyntaxKind.JSDocAugmentsTag]: AstJSDocAugmentsTag, - [SyntaxKind.JSDocImplementsTag]: AstJSDocImplementsTag, - [SyntaxKind.JSDocAuthorTag]: AstJSDocAuthorTag, - [SyntaxKind.JSDocDeprecatedTag]: AstJSDocDeprecatedTag, - [SyntaxKind.JSDocClassTag]: AstJSDocClassTag, - [SyntaxKind.JSDocPublicTag]: AstJSDocPublicTag, - [SyntaxKind.JSDocPrivateTag]: AstJSDocPrivateTag, - [SyntaxKind.JSDocProtectedTag]: AstJSDocProtectedTag, - [SyntaxKind.JSDocReadonlyTag]: AstJSDocReadonlyTag, - [SyntaxKind.JSDocOverrideTag]: AstJSDocOverrideTag, - [SyntaxKind.JSDocEnumTag]: AstJSDocEnumTag, - [SyntaxKind.JSDocThisTag]: AstJSDocThisTag, - [SyntaxKind.JSDocTemplateTag]: AstJSDocTemplateTag, - [SyntaxKind.JSDocSeeTag]: AstJSDocSeeTag, - [SyntaxKind.JSDocReturnTag]: AstJSDocReturnTag, - [SyntaxKind.JSDocTypeTag]: AstJSDocTypeTag, - [SyntaxKind.JSDocTypedefTag]: AstJSDocTypedefTag, - [SyntaxKind.JSDocCallbackTag]: AstJSDocCallbackTag, - [SyntaxKind.JSDocOverloadTag]: AstJSDocOverloadTag, - [SyntaxKind.JSDocThrowsTag]: AstJSDocThrowsTag, - [SyntaxKind.JSDocSignature]: AstJSDocSignature, - [SyntaxKind.JSDocPropertyTag]: AstJSDocPropertyTag, - [SyntaxKind.JSDocParameterTag]: AstJSDocParameterTag, - [SyntaxKind.JSDocTypeLiteral]: AstJSDocTypeLiteral, - [SyntaxKind.JSDocSatisfiesTag]: AstJSDocSatisfiesTag, - [SyntaxKind.JSDocImportTag]: AstJSDocImportTag, - [SyntaxKind.SourceFile]: AstSourceFile, - [SyntaxKind.Bundle]: AstBundle, - [SyntaxKind.SyntaxList]: AstSyntaxList, - [SyntaxKind.NotEmittedStatement]: AstNotEmittedStatement, - [SyntaxKind.NotEmittedTypeElement]: AstNotEmittedTypeElement, - [SyntaxKind.PartiallyEmittedExpression]: AstPartiallyEmittedExpression, - [SyntaxKind.CommaListExpression]: AstCommaListExpression, - [SyntaxKind.SyntheticReferenceExpression]: AstSyntheticReferenceExpression, - [SyntaxKind.Count]: never, - [SyntaxKind.NonTextFileMarkerTrivia]: never, + [SyntaxKind.Unknown]: AstToken; + [SyntaxKind.EndOfFileToken]: AstEndOfFileToken; + [SyntaxKind.SingleLineCommentTrivia]: AstToken; + [SyntaxKind.MultiLineCommentTrivia]: AstToken; + [SyntaxKind.NewLineTrivia]: AstToken; + [SyntaxKind.WhitespaceTrivia]: AstToken; + [SyntaxKind.ShebangTrivia]: AstToken; + [SyntaxKind.ConflictMarkerTrivia]: AstToken; + [SyntaxKind.NonTextFileMarkerTrivia]: never; + [SyntaxKind.NumericLiteral]: AstNumericLiteral; + [SyntaxKind.BigIntLiteral]: AstBigIntLiteral; + [SyntaxKind.StringLiteral]: AstStringLiteral; + [SyntaxKind.JsxText]: AstJsxText; + [SyntaxKind.JsxTextAllWhiteSpaces]: never; + [SyntaxKind.RegularExpressionLiteral]: AstRegularExpressionLiteral; + [SyntaxKind.NoSubstitutionTemplateLiteral]: AstNoSubstitutionTemplateLiteral; + [SyntaxKind.TemplateHead]: AstTemplateHead; + [SyntaxKind.TemplateMiddle]: AstTemplateMiddle; + [SyntaxKind.TemplateTail]: AstTemplateTail; + [SyntaxKind.OpenBraceToken]: AstToken; + [SyntaxKind.CloseBraceToken]: AstToken; + [SyntaxKind.OpenParenToken]: AstToken; + [SyntaxKind.CloseParenToken]: AstToken; + [SyntaxKind.OpenBracketToken]: AstToken; + [SyntaxKind.CloseBracketToken]: AstToken; + [SyntaxKind.DotToken]: AstDotToken; + [SyntaxKind.DotDotDotToken]: AstDotDotDotToken; + [SyntaxKind.SemicolonToken]: AstToken; + [SyntaxKind.CommaToken]: AstToken; + [SyntaxKind.QuestionDotToken]: AstQuestionDotToken; + [SyntaxKind.LessThanToken]: AstToken; + [SyntaxKind.LessThanSlashToken]: AstToken; + [SyntaxKind.GreaterThanToken]: AstToken; + [SyntaxKind.LessThanEqualsToken]: AstToken; + [SyntaxKind.GreaterThanEqualsToken]: AstToken; + [SyntaxKind.EqualsEqualsToken]: AstToken; + [SyntaxKind.ExclamationEqualsToken]: AstToken; + [SyntaxKind.EqualsEqualsEqualsToken]: AstToken; + [SyntaxKind.ExclamationEqualsEqualsToken]: AstToken; + [SyntaxKind.EqualsGreaterThanToken]: AstEqualsGreaterThanToken; + [SyntaxKind.PlusToken]: AstPlusToken; + [SyntaxKind.MinusToken]: AstMinusToken; + [SyntaxKind.AsteriskToken]: AstAsteriskToken; + [SyntaxKind.AsteriskAsteriskToken]: AstToken; + [SyntaxKind.SlashToken]: AstToken; + [SyntaxKind.PercentToken]: AstToken; + [SyntaxKind.PlusPlusToken]: AstToken; + [SyntaxKind.MinusMinusToken]: AstToken; + [SyntaxKind.LessThanLessThanToken]: AstToken; + [SyntaxKind.GreaterThanGreaterThanToken]: AstToken; + [SyntaxKind.GreaterThanGreaterThanGreaterThanToken]: AstToken; + [SyntaxKind.AmpersandToken]: AstToken; + [SyntaxKind.BarToken]: AstToken; + [SyntaxKind.CaretToken]: AstToken; + [SyntaxKind.ExclamationToken]: AstExclamationToken; + [SyntaxKind.TildeToken]: AstToken; + [SyntaxKind.AmpersandAmpersandToken]: AstToken; + [SyntaxKind.BarBarToken]: AstToken; + [SyntaxKind.QuestionToken]: AstQuestionToken; + [SyntaxKind.ColonToken]: AstColonToken; + [SyntaxKind.AtToken]: AstToken; + [SyntaxKind.QuestionQuestionToken]: AstToken; + [SyntaxKind.BacktickToken]: AstToken; + [SyntaxKind.HashToken]: AstToken; + [SyntaxKind.EqualsToken]: AstEqualsToken; + [SyntaxKind.PlusEqualsToken]: AstToken; + [SyntaxKind.MinusEqualsToken]: AstToken; + [SyntaxKind.AsteriskEqualsToken]: AstToken; + [SyntaxKind.AsteriskAsteriskEqualsToken]: AstToken; + [SyntaxKind.SlashEqualsToken]: AstToken; + [SyntaxKind.PercentEqualsToken]: AstToken; + [SyntaxKind.LessThanLessThanEqualsToken]: AstToken; + [SyntaxKind.GreaterThanGreaterThanEqualsToken]: AstToken; + [SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken]: AstToken; + [SyntaxKind.AmpersandEqualsToken]: AstToken; + [SyntaxKind.BarEqualsToken]: AstToken; + [SyntaxKind.BarBarEqualsToken]: AstBarBarEqualsToken; + [SyntaxKind.AmpersandAmpersandEqualsToken]: AstAmpersandAmpersandEqualsToken; + [SyntaxKind.QuestionQuestionEqualsToken]: AstQuestionQuestionEqualsToken; + [SyntaxKind.CaretEqualsToken]: AstToken; + [SyntaxKind.Identifier]: AstIdentifier; + [SyntaxKind.PrivateIdentifier]: AstPrivateIdentifier; + [SyntaxKind.JSDocCommentTextToken]: never; + [SyntaxKind.BreakKeyword]: AstToken; + [SyntaxKind.CaseKeyword]: AstCaseKeyword; + [SyntaxKind.CatchKeyword]: AstToken; + [SyntaxKind.ClassKeyword]: AstToken; + [SyntaxKind.ConstKeyword]: AstToken; + [SyntaxKind.ContinueKeyword]: AstToken; + [SyntaxKind.DebuggerKeyword]: AstToken; + [SyntaxKind.DefaultKeyword]: AstDefaultKeyword; + [SyntaxKind.DeleteKeyword]: AstToken; + [SyntaxKind.DoKeyword]: AstToken; + [SyntaxKind.ElseKeyword]: AstToken; + [SyntaxKind.EnumKeyword]: AstToken; + [SyntaxKind.ExportKeyword]: AstExportKeyword; + [SyntaxKind.ExtendsKeyword]: AstToken; + [SyntaxKind.FalseKeyword]: AstFalseLiteral; + [SyntaxKind.FinallyKeyword]: AstToken; + [SyntaxKind.ForKeyword]: AstToken; + [SyntaxKind.FunctionKeyword]: AstToken; + [SyntaxKind.IfKeyword]: AstToken; + [SyntaxKind.ImportKeyword]: AstImportExpression; + [SyntaxKind.InKeyword]: AstInKeyword; + [SyntaxKind.InstanceOfKeyword]: AstToken; + [SyntaxKind.NewKeyword]: AstToken; + [SyntaxKind.NullKeyword]: AstNullLiteral; + [SyntaxKind.ReturnKeyword]: AstToken; + [SyntaxKind.SuperKeyword]: AstSuperExpression; + [SyntaxKind.SwitchKeyword]: AstToken; + [SyntaxKind.ThisKeyword]: AstThisExpression; + [SyntaxKind.ThrowKeyword]: AstToken; + [SyntaxKind.TrueKeyword]: AstTrueLiteral; + [SyntaxKind.TryKeyword]: AstToken; + [SyntaxKind.TypeOfKeyword]: AstToken; + [SyntaxKind.VarKeyword]: AstToken; + [SyntaxKind.VoidKeyword]: AstToken; + [SyntaxKind.WhileKeyword]: AstToken; + [SyntaxKind.WithKeyword]: AstToken; + [SyntaxKind.ImplementsKeyword]: AstToken; + [SyntaxKind.InterfaceKeyword]: AstToken; + [SyntaxKind.LetKeyword]: AstToken; + [SyntaxKind.PackageKeyword]: AstToken; + [SyntaxKind.PrivateKeyword]: AstPrivateKeyword; + [SyntaxKind.ProtectedKeyword]: AstProtectedKeyword; + [SyntaxKind.PublicKeyword]: AstPublicKeyword; + [SyntaxKind.StaticKeyword]: AstStaticKeyword; + [SyntaxKind.YieldKeyword]: AstToken; + [SyntaxKind.AbstractKeyword]: AstAbstractKeyword; + [SyntaxKind.AccessorKeyword]: AstAccessorKeyword; + [SyntaxKind.AsKeyword]: AstToken; + [SyntaxKind.AssertsKeyword]: AstAssertsKeyword; + [SyntaxKind.AssertKeyword]: AstAssertKeyword; + [SyntaxKind.AnyKeyword]: AstToken; + [SyntaxKind.AsyncKeyword]: AstAsyncKeyword; + [SyntaxKind.AwaitKeyword]: AstAwaitKeyword; + [SyntaxKind.BooleanKeyword]: AstToken; + [SyntaxKind.ConstructorKeyword]: AstToken; + [SyntaxKind.DeclareKeyword]: AstDeclareKeyword; + [SyntaxKind.GetKeyword]: AstToken; + [SyntaxKind.InferKeyword]: AstToken; + [SyntaxKind.IntrinsicKeyword]: AstToken; + [SyntaxKind.IsKeyword]: AstToken; + [SyntaxKind.KeyOfKeyword]: AstToken; + [SyntaxKind.ModuleKeyword]: AstToken; + [SyntaxKind.NamespaceKeyword]: AstToken; + [SyntaxKind.NeverKeyword]: AstToken; + [SyntaxKind.OutKeyword]: AstOutKeyword; + [SyntaxKind.ReadonlyKeyword]: AstReadonlyKeyword; + [SyntaxKind.RequireKeyword]: AstToken; + [SyntaxKind.NumberKeyword]: AstToken; + [SyntaxKind.ObjectKeyword]: AstToken; + [SyntaxKind.SatisfiesKeyword]: AstToken; + [SyntaxKind.SetKeyword]: AstToken; + [SyntaxKind.StringKeyword]: AstToken; + [SyntaxKind.SymbolKeyword]: AstToken; + [SyntaxKind.TypeKeyword]: AstToken; + [SyntaxKind.UndefinedKeyword]: AstToken; + [SyntaxKind.UniqueKeyword]: AstToken; + [SyntaxKind.UnknownKeyword]: AstToken; + [SyntaxKind.UsingKeyword]: AstToken; + [SyntaxKind.FromKeyword]: AstToken; + [SyntaxKind.GlobalKeyword]: AstToken; + [SyntaxKind.BigIntKeyword]: AstToken; + [SyntaxKind.OverrideKeyword]: AstOverrideKeyword; + [SyntaxKind.OfKeyword]: AstToken; + [SyntaxKind.QualifiedName]: AstQualifiedName; + [SyntaxKind.ComputedPropertyName]: AstComputedPropertyName; + [SyntaxKind.Decorator]: AstDecorator; + [SyntaxKind.TypeParameter]: AstTypeParameterDeclaration; + [SyntaxKind.CallSignature]: AstCallSignatureDeclaration; + [SyntaxKind.ConstructSignature]: AstConstructSignatureDeclaration; + [SyntaxKind.VariableDeclaration]: AstVariableDeclaration; + [SyntaxKind.VariableDeclarationList]: AstVariableDeclarationList; + [SyntaxKind.Parameter]: AstParameterDeclaration; + [SyntaxKind.BindingElement]: AstBindingElement; + [SyntaxKind.PropertySignature]: AstPropertySignature; + [SyntaxKind.PropertyDeclaration]: AstPropertyDeclaration; + [SyntaxKind.PropertyAssignment]: AstPropertyAssignment; + [SyntaxKind.ShorthandPropertyAssignment]: AstShorthandPropertyAssignment; + [SyntaxKind.SpreadAssignment]: AstSpreadAssignment; + [SyntaxKind.ObjectBindingPattern]: AstObjectBindingPattern; + [SyntaxKind.ArrayBindingPattern]: AstArrayBindingPattern; + [SyntaxKind.FunctionDeclaration]: AstFunctionDeclaration; + [SyntaxKind.MethodSignature]: AstMethodSignature; + [SyntaxKind.MethodDeclaration]: AstMethodDeclaration; + [SyntaxKind.Constructor]: AstConstructorDeclaration; + [SyntaxKind.SemicolonClassElement]: AstSemicolonClassElement; + [SyntaxKind.GetAccessor]: AstGetAccessorDeclaration; + [SyntaxKind.SetAccessor]: AstSetAccessorDeclaration; + [SyntaxKind.IndexSignature]: AstIndexSignatureDeclaration; + [SyntaxKind.ClassStaticBlockDeclaration]: AstClassStaticBlockDeclaration; + [SyntaxKind.ImportTypeAssertionContainer]: AstImportTypeAssertionContainer; + [SyntaxKind.ImportType]: AstImportTypeNode; + [SyntaxKind.ThisType]: AstThisTypeNode; + [SyntaxKind.FunctionType]: AstFunctionTypeNode; + [SyntaxKind.ConstructorType]: AstConstructorTypeNode; + [SyntaxKind.TypeReference]: AstTypeReferenceNode; + [SyntaxKind.TypePredicate]: AstTypePredicateNode; + [SyntaxKind.TypeQuery]: AstTypeQueryNode; + [SyntaxKind.TypeLiteral]: AstTypeLiteralNode; + [SyntaxKind.ArrayType]: AstArrayTypeNode; + [SyntaxKind.TupleType]: AstTupleTypeNode; + [SyntaxKind.NamedTupleMember]: AstNamedTupleMember; + [SyntaxKind.OptionalType]: AstOptionalTypeNode; + [SyntaxKind.RestType]: AstRestTypeNode; + [SyntaxKind.UnionType]: AstUnionTypeNode; + [SyntaxKind.IntersectionType]: AstIntersectionTypeNode; + [SyntaxKind.ConditionalType]: AstConditionalTypeNode; + [SyntaxKind.InferType]: AstInferTypeNode; + [SyntaxKind.ParenthesizedType]: AstParenthesizedTypeNode; + [SyntaxKind.TypeOperator]: AstTypeOperatorNode; + [SyntaxKind.IndexedAccessType]: AstIndexedAccessTypeNode; + [SyntaxKind.MappedType]: AstMappedTypeNode; + [SyntaxKind.LiteralType]: AstLiteralTypeNode; + [SyntaxKind.TemplateLiteralType]: AstTemplateLiteralTypeNode; + [SyntaxKind.TemplateLiteralTypeSpan]: AstTemplateLiteralTypeSpan; + [SyntaxKind.OmittedExpression]: AstOmittedExpression; + [SyntaxKind.PrefixUnaryExpression]: AstPrefixUnaryExpression; + [SyntaxKind.PostfixUnaryExpression]: AstPostfixUnaryExpression; + [SyntaxKind.DeleteExpression]: AstDeleteExpression; + [SyntaxKind.TypeOfExpression]: AstTypeOfExpression; + [SyntaxKind.VoidExpression]: AstVoidExpression; + [SyntaxKind.AwaitExpression]: AstAwaitExpression; + [SyntaxKind.YieldExpression]: AstYieldExpression; + [SyntaxKind.BinaryExpression]: AstBinaryExpression; + [SyntaxKind.ConditionalExpression]: AstConditionalExpression; + [SyntaxKind.FunctionExpression]: AstFunctionExpression; + [SyntaxKind.ArrowFunction]: AstArrowFunction; + [SyntaxKind.TemplateExpression]: AstTemplateExpression; + [SyntaxKind.TemplateSpan]: AstTemplateSpan; + [SyntaxKind.ParenthesizedExpression]: AstParenthesizedExpression; + [SyntaxKind.ArrayLiteralExpression]: AstArrayLiteralExpression; + [SyntaxKind.SpreadElement]: AstSpreadElement; + [SyntaxKind.ObjectLiteralExpression]: AstObjectLiteralExpression; + [SyntaxKind.PropertyAccessExpression]: AstPropertyAccessExpression; + [SyntaxKind.ElementAccessExpression]: AstElementAccessExpression; + [SyntaxKind.CallExpression]: AstCallExpression; + [SyntaxKind.ExpressionWithTypeArguments]: AstExpressionWithTypeArguments; + [SyntaxKind.NewExpression]: AstNewExpression; + [SyntaxKind.TaggedTemplateExpression]: AstTaggedTemplateExpression; + [SyntaxKind.AsExpression]: AstAsExpression; + [SyntaxKind.TypeAssertionExpression]: AstTypeAssertion; + [SyntaxKind.SyntheticExpression]: AstSyntheticExpression; + [SyntaxKind.SatisfiesExpression]: AstSatisfiesExpression; + [SyntaxKind.NonNullExpression]: AstNonNullExpression; + [SyntaxKind.MetaProperty]: AstMetaProperty; + [SyntaxKind.JsxElement]: AstJsxElement; + [SyntaxKind.JsxAttributes]: AstJsxAttributes; + [SyntaxKind.JsxNamespacedName]: AstJsxNamespacedName; + [SyntaxKind.JsxOpeningElement]: AstJsxOpeningElement; + [SyntaxKind.JsxSelfClosingElement]: AstJsxSelfClosingElement; + [SyntaxKind.JsxFragment]: AstJsxFragment; + [SyntaxKind.JsxOpeningFragment]: AstJsxOpeningFragment; + [SyntaxKind.JsxClosingFragment]: AstJsxClosingFragment; + [SyntaxKind.JsxAttribute]: AstJsxAttribute; + [SyntaxKind.JsxSpreadAttribute]: AstJsxSpreadAttribute; + [SyntaxKind.JsxClosingElement]: AstJsxClosingElement; + [SyntaxKind.JsxExpression]: AstJsxExpression; + [SyntaxKind.EmptyStatement]: AstEmptyStatement; + [SyntaxKind.DebuggerStatement]: AstDebuggerStatement; + [SyntaxKind.MissingDeclaration]: AstMissingDeclaration; + [SyntaxKind.Block]: AstBlock; + [SyntaxKind.VariableStatement]: AstVariableStatement; + [SyntaxKind.ExpressionStatement]: AstExpressionStatement; + [SyntaxKind.IfStatement]: AstIfStatement; + [SyntaxKind.DoStatement]: AstDoStatement; + [SyntaxKind.WhileStatement]: AstWhileStatement; + [SyntaxKind.ForStatement]: AstForStatement; + [SyntaxKind.ForInStatement]: AstForInStatement; + [SyntaxKind.ForOfStatement]: AstForOfStatement; + [SyntaxKind.BreakStatement]: AstBreakStatement; + [SyntaxKind.ContinueStatement]: AstContinueStatement; + [SyntaxKind.ReturnStatement]: AstReturnStatement; + [SyntaxKind.WithStatement]: AstWithStatement; + [SyntaxKind.SwitchStatement]: AstSwitchStatement; + [SyntaxKind.CaseBlock]: AstCaseBlock; + [SyntaxKind.CaseClause]: AstCaseClause; + [SyntaxKind.DefaultClause]: AstDefaultClause; + [SyntaxKind.LabeledStatement]: AstLabeledStatement; + [SyntaxKind.ThrowStatement]: AstThrowStatement; + [SyntaxKind.TryStatement]: AstTryStatement; + [SyntaxKind.CatchClause]: AstCatchClause; + [SyntaxKind.ClassDeclaration]: AstClassDeclaration; + [SyntaxKind.ClassExpression]: AstClassExpression; + [SyntaxKind.InterfaceDeclaration]: AstInterfaceDeclaration; + [SyntaxKind.HeritageClause]: AstHeritageClause; + [SyntaxKind.TypeAliasDeclaration]: AstTypeAliasDeclaration; + [SyntaxKind.EnumMember]: AstEnumMember; + [SyntaxKind.EnumDeclaration]: AstEnumDeclaration; + [SyntaxKind.ModuleDeclaration]: AstModuleDeclaration; + [SyntaxKind.ModuleBlock]: AstModuleBlock; + [SyntaxKind.ImportEqualsDeclaration]: AstImportEqualsDeclaration; + [SyntaxKind.ExternalModuleReference]: AstExternalModuleReference; + [SyntaxKind.ImportDeclaration]: AstImportDeclaration; + [SyntaxKind.ImportClause]: AstImportClause; + [SyntaxKind.ImportAttribute]: AstImportAttribute; + [SyntaxKind.ImportAttributes]: AstImportAttributes; + [SyntaxKind.NamespaceImport]: AstNamespaceImport; + [SyntaxKind.NamespaceExport]: AstNamespaceExport; + [SyntaxKind.NamespaceExportDeclaration]: AstNamespaceExportDeclaration; + [SyntaxKind.ExportDeclaration]: AstExportDeclaration; + [SyntaxKind.NamedImports]: AstNamedImports; + [SyntaxKind.NamedExports]: AstNamedExports; + [SyntaxKind.ImportSpecifier]: AstImportSpecifier; + [SyntaxKind.ExportSpecifier]: AstExportSpecifier; + [SyntaxKind.ExportAssignment]: AstExportAssignment; + [SyntaxKind.JSDocTypeExpression]: AstJSDocTypeExpression; + [SyntaxKind.JSDocNameReference]: AstJSDocNameReference; + [SyntaxKind.JSDocMemberName]: AstJSDocMemberName; + [SyntaxKind.JSDocAllType]: AstJSDocAllType; + [SyntaxKind.JSDocUnknownType]: AstJSDocUnknownType; + [SyntaxKind.JSDocNonNullableType]: AstJSDocNonNullableType; + [SyntaxKind.JSDocNullableType]: AstJSDocNullableType; + [SyntaxKind.JSDocOptionalType]: AstJSDocOptionalType; + [SyntaxKind.JSDocFunctionType]: AstJSDocFunctionType; + [SyntaxKind.JSDocVariadicType]: AstJSDocVariadicType; + [SyntaxKind.JSDocNamepathType]: AstJSDocNamepathType; + [SyntaxKind.JSDoc]: AstJSDocNode; + [SyntaxKind.JSDocLink]: AstJSDocLink; + [SyntaxKind.JSDocLinkCode]: AstJSDocLinkCode; + [SyntaxKind.JSDocLinkPlain]: AstJSDocLinkPlain; + [SyntaxKind.JSDocText]: AstJSDocText; + [SyntaxKind.JSDocTag]: AstJSDocUnknownTag; + [SyntaxKind.JSDocAugmentsTag]: AstJSDocAugmentsTag; + [SyntaxKind.JSDocImplementsTag]: AstJSDocImplementsTag; + [SyntaxKind.JSDocAuthorTag]: AstJSDocAuthorTag; + [SyntaxKind.JSDocDeprecatedTag]: AstJSDocDeprecatedTag; + [SyntaxKind.JSDocClassTag]: AstJSDocClassTag; + [SyntaxKind.JSDocPublicTag]: AstJSDocPublicTag; + [SyntaxKind.JSDocPrivateTag]: AstJSDocPrivateTag; + [SyntaxKind.JSDocProtectedTag]: AstJSDocProtectedTag; + [SyntaxKind.JSDocReadonlyTag]: AstJSDocReadonlyTag; + [SyntaxKind.JSDocOverrideTag]: AstJSDocOverrideTag; + [SyntaxKind.JSDocEnumTag]: AstJSDocEnumTag; + [SyntaxKind.JSDocThisTag]: AstJSDocThisTag; + [SyntaxKind.JSDocTemplateTag]: AstJSDocTemplateTag; + [SyntaxKind.JSDocSeeTag]: AstJSDocSeeTag; + [SyntaxKind.JSDocReturnTag]: AstJSDocReturnTag; + [SyntaxKind.JSDocTypeTag]: AstJSDocTypeTag; + [SyntaxKind.JSDocTypedefTag]: AstJSDocTypedefTag; + [SyntaxKind.JSDocCallbackTag]: AstJSDocCallbackTag; + [SyntaxKind.JSDocOverloadTag]: AstJSDocOverloadTag; + [SyntaxKind.JSDocThrowsTag]: AstJSDocThrowsTag; + [SyntaxKind.JSDocSignature]: AstJSDocSignature; + [SyntaxKind.JSDocPropertyTag]: AstJSDocPropertyTag; + [SyntaxKind.JSDocParameterTag]: AstJSDocParameterTag; + [SyntaxKind.JSDocTypeLiteral]: AstJSDocTypeLiteral; + [SyntaxKind.JSDocSatisfiesTag]: AstJSDocSatisfiesTag; + [SyntaxKind.JSDocImportTag]: AstJSDocImportTag; + [SyntaxKind.SourceFile]: AstSourceFile; + [SyntaxKind.Bundle]: AstBundle; + [SyntaxKind.SyntaxList]: AstSyntaxList; + [SyntaxKind.NotEmittedStatement]: AstNotEmittedStatement; + [SyntaxKind.NotEmittedTypeElement]: AstNotEmittedTypeElement; + [SyntaxKind.PartiallyEmittedExpression]: AstPartiallyEmittedExpression; + [SyntaxKind.CommaListExpression]: AstCommaListExpression; + [SyntaxKind.SyntheticReferenceExpression]: AstSyntheticReferenceExpression; + [SyntaxKind.Count]: never; + [SyntaxKind.NonTextFileMarkerTrivia]: never; } diff --git a/src/compiler/factory/astNodeFactory.ts b/src/compiler/factory/astNodeFactory.ts index 4682f8852ba..664683ba494 100644 --- a/src/compiler/factory/astNodeFactory.ts +++ b/src/compiler/factory/astNodeFactory.ts @@ -929,7 +929,7 @@ export interface AstNodeFactory { cloneNode(node: T): T; restoreOuterExpressions(outerExpression: AstExpression | undefined, innerExpression: AstExpression, kinds?: OuterExpressionKinds): AstExpression; - + // // // // Common operators // // @@ -1668,7 +1668,7 @@ export function createAstNodeFactory(flags: NodeFactoryFlags, onFinishNode?: (no return new AstNodeArray(elements ?? [], hasTrailingComma); } - function finishUpdateBaseSignatureDeclaration(updated: T, original: T) { + function finishUpdateBaseSignatureDeclaration(updated: T, original: T) { if (updated !== original) { // copy children used for quick info updated.data.typeArguments = original.data.typeArguments; @@ -2676,7 +2676,7 @@ export function createAstNodeFactory(flags: NodeFactoryFlags, onFinishNode?: (no // TODO: remove this? 'assertions' is never defined here if (node.data.assertions && node.data.assertions.data.assertClause && node.data.attributes) { - (node.data.assertions).data.assertClause = node.data.attributes; + node.data.assertions.data.assertClause = node.data.attributes; } node.data.qualifier = qualifier; @@ -3009,7 +3009,7 @@ export function createAstNodeFactory(flags: NodeFactoryFlags, onFinishNode?: (no node.data.typeArguments = asNodeArray(typeArguments); node.data.arguments = parenthesizerRules().parenthesizeExpressionsOfCommaDelimitedList(createNodeArray(argumentsArray)); return finish(node); - } + } // @api function updateCallChain(node: AstCallChain, expression: AstExpression, questionDotToken: AstQuestionDotToken | undefined, typeArguments: AstNodeArrayLike | undefined, argumentsArray: AstNodeArrayLike) { @@ -4952,7 +4952,6 @@ export function createAstNodeFactory(flags: NodeFactoryFlags, onFinishNode?: (no : node; } - // @api // createJSDocAuthorTag // createJSDocClassTag diff --git a/src/compiler/factory/astNodeTests.ts b/src/compiler/factory/astNodeTests.ts index f28cf8d701a..2de63a4b8a6 100644 --- a/src/compiler/factory/astNodeTests.ts +++ b/src/compiler/factory/astNodeTests.ts @@ -439,8 +439,8 @@ export function isAstTypeParameterDeclaration(node: AstNode): node is AstN return node.kind === SyntaxKind.TypeParameter; } - -/** @internal */// TODO(rbuckton): Rename to 'isParameterDeclaration' +/** @internal */ +// TODO(rbuckton): Rename to 'isParameterDeclaration' export function isAstParameter(node: AstNode): node is AstNode { return node.kind === SyntaxKind.Parameter; } @@ -1193,8 +1193,8 @@ export function isAstEnumMember(node: AstNode): node is AstNode): node is AstNode { return node.kind === SyntaxKind.SourceFile; } diff --git a/src/compiler/factory/astParenthesizerRules.ts b/src/compiler/factory/astParenthesizerRules.ts index a6033c6773a..1fa10e23920 100644 --- a/src/compiler/factory/astParenthesizerRules.ts +++ b/src/compiler/factory/astParenthesizerRules.ts @@ -58,15 +58,14 @@ import { sameMap, setTextRange, SyntaxKind, - TextRange + TextRange, } from "../_namespaces/ts.js"; /** @internal */ export interface AstParenthesizerRules { getParenthesizeLeftSideOfBinaryForOperator(binaryOperator: SyntaxKind): (leftSide: AstExpression) => AstExpression; getParenthesizeRightSideOfBinaryForOperator(binaryOperator: SyntaxKind): (rightSide: AstExpression) => AstExpression; - parenthesizeLeftSideOfBinary(binaryOperator: SyntaxKind, - leftSide: AstExpression): AstExpression; + parenthesizeLeftSideOfBinary(binaryOperator: SyntaxKind, leftSide: AstExpression): AstExpression; parenthesizeRightSideOfBinary(binaryOperator: SyntaxKind, leftSide: AstExpression | undefined, rightSide: AstExpression): AstExpression; parenthesizeExpressionOfComputedPropertyName(expression: AstExpression): AstExpression; parenthesizeConditionOfConditionalExpression(condition: AstExpression): AstExpression; @@ -556,7 +555,7 @@ export function createAstParenthesizerRules(factory: AstNodeFactory): AstParenth return parenthesizeCheckTypeOfConditionalType(type); } - function parenthesizeConstituentTypesOfUnionType(members:AstNodeArrayLike): AstNodeArray { + function parenthesizeConstituentTypesOfUnionType(members: AstNodeArrayLike): AstNodeArray { return factory.createNodeArray(sameMap(items(members), parenthesizeConstituentTypeOfUnionType)); } diff --git a/src/compiler/factory/nodeFactory.ts b/src/compiler/factory/nodeFactory.ts index 79ade6c8bee..d5d2079d4e9 100644 --- a/src/compiler/factory/nodeFactory.ts +++ b/src/compiler/factory/nodeFactory.ts @@ -1,3 +1,4 @@ +import * as ast from "../_namespaces/ts.ast.js"; import { AccessorDeclaration, addRange, @@ -403,7 +404,6 @@ import { WithStatement, YieldExpression, } from "../_namespaces/ts.js"; -import * as ast from "../_namespaces/ts.ast.js"; let nextAutoGenerateId = 0; @@ -1556,7 +1556,7 @@ export function createNodeFactory(flags: NodeFactoryFlags, onFinishNode?: (node: parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, ): IndexSignatureDeclaration { - return astFactory.createIndexSignature(asNodeArray(modifiers)?.ast, asNodeArray(parameters).ast, asNode(type)?.ast).node + return astFactory.createIndexSignature(asNodeArray(modifiers)?.ast, asNodeArray(parameters).ast, asNode(type)?.ast).node; } // @api @@ -3351,7 +3351,6 @@ export function createNodeFactory(flags: NodeFactoryFlags, onFinishNode?: (node: return astFactory.updateJSDocSatisfiesTag(asNode(node).ast, asNode(tagName)?.ast, asNode(typeExpression).ast, typeof comment === "string" ? comment : asNodeArray(comment)?.ast).node; } - // // JSX // @@ -4419,8 +4418,7 @@ export function createNodeFactory(flags: NodeFactoryFlags, onFinishNode?: (node: } } - type ToNode = - Expression extends T ? ast.Expression : + type ToNode = Expression extends T ? ast.Expression : Statement extends T ? ast.Statement : TypeNode extends T ? ast.TypeNode : TypeElement extends T ? ast.TypeElement : diff --git a/src/compiler/factory/parenthesizerRules.ts b/src/compiler/factory/parenthesizerRules.ts index a39efee11a9..093b69a79df 100644 --- a/src/compiler/factory/parenthesizerRules.ts +++ b/src/compiler/factory/parenthesizerRules.ts @@ -30,7 +30,7 @@ import { SyntaxKind, TypeElement, TypeNode, - UnaryExpression + UnaryExpression, } from "../_namespaces/ts.js"; /** @internal */ @@ -207,8 +207,7 @@ export function createParenthesizerRules(factory: NodeFactory): ParenthesizerRul return astRules.parenthesizeTypeArguments(asNodeArray(typeArguments)?.ast)?.nodes; } - type ToNode = - Expression extends T ? ast.Expression : + type ToNode = Expression extends T ? ast.Expression : Statement extends T ? ast.Statement : TypeNode extends T ? ast.TypeNode : TypeElement extends T ? ast.TypeElement : diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index b1fe9bc1f5b..de9ad876026 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1422,7 +1422,9 @@ namespace Parser { var disallowInAndDecoratorContext = NodeFlags.DisallowInContext | NodeFlags.DecoratorContext; - var factory = createNodeFactory(NodeFactoryFlags.NoParenthesizerRules | NodeFactoryFlags.NoNodeConverters | NodeFactoryFlags.NoOriginalNode, _ => { nodeCount++; }); + var factory = createNodeFactory(NodeFactoryFlags.NoParenthesizerRules | NodeFactoryFlags.NoNodeConverters | NodeFactoryFlags.NoOriginalNode, _ => { + nodeCount++; + }); var { createNodeArray: factoryCreateNodeArray, diff --git a/src/compiler/utilitiesPublic.ts b/src/compiler/utilitiesPublic.ts index c77df625bec..41c8549cc80 100644 --- a/src/compiler/utilitiesPublic.ts +++ b/src/compiler/utilitiesPublic.ts @@ -9,6 +9,7 @@ import { AssertionExpression, AssignmentDeclarationKind, AssignmentPattern, + ast, AutoAccessorPropertyDeclaration, BinaryExpression, BindableObjectDefinePropertyCall, @@ -290,7 +291,6 @@ import { TypeReferenceType, UnaryExpression, VariableDeclaration, - ast, } from "./_namespaces/ts.js"; export function isExternalModuleNameRelative(moduleName: string): boolean { diff --git a/src/harness/harnessUtils.ts b/src/harness/harnessUtils.ts index 93418cb6ddb..63635adb824 100644 --- a/src/harness/harnessUtils.ts +++ b/src/harness/harnessUtils.ts @@ -236,7 +236,7 @@ export function sourceFileToJSON(file: ts.Node): string { if (flags) { o[propertyName] = getNodeFlagName(flags); } - break; + break; case "parseDiagnostics": o[propertyName] = convertDiagnostics(obj[propertyName]); @@ -247,7 +247,7 @@ export function sourceFileToJSON(file: ts.Node): string { o[propertyName] = { kind: (obj as ts.HasLocals).nextContainer!.kind, pos: (obj as ts.HasLocals).nextContainer!.pos, - end: (obj as ts.HasLocals).nextContainer!.end + end: (obj as ts.HasLocals).nextContainer!.end, }; } break; @@ -273,7 +273,6 @@ export function sourceFileToJSON(file: ts.Node): string { } } } - } function serializeNode(n: ts.Node | ts.NodeArray): any { diff --git a/src/services/services.ts b/src/services/services.ts index ec4662bc467..159b7df7547 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -295,7 +295,8 @@ import { UnionOrIntersectionType, UnionType, updateSourceFile, - UserPreferences} from "./_namespaces/ts.js"; + UserPreferences, +} from "./_namespaces/ts.js"; import * as NavigateTo from "./_namespaces/ts.NavigateTo.js"; import * as NavigationBar from "./_namespaces/ts.NavigationBar.js"; import {