2938 lines
195 KiB
TypeScript
2938 lines
195 KiB
TypeScript
|
import { Type } from "./types";
|
||
|
|
||
|
import { TextSpan } from "./text";
|
||
|
|
||
|
import { Value } from "./evaluator";
|
||
|
|
||
|
import { Package } from "./package";
|
||
|
|
||
|
import { Diagnostic } from "./diagnostics";
|
||
|
|
||
|
let nextNodeId = 1;
|
||
|
|
||
|
export type ResolveSyntaxKind<K extends SyntaxKind> = Extract<Syntax, {
|
||
|
kind: K;
|
||
|
}>;
|
||
|
|
||
|
export abstract class SyntaxBase {
|
||
|
public id: number;
|
||
|
public type?: Type;
|
||
|
public errors: Diagnostic[] = [];
|
||
|
public abstract kind: SyntaxKind;
|
||
|
public abstract parentNode: Syntax | null = null;
|
||
|
public abstract getChildNodes(): IterableIterator<Syntax>;
|
||
|
constructor(public span: TextSpan | null = null) {
|
||
|
this.id = nextNodeId++;
|
||
|
}
|
||
|
*preorder() {
|
||
|
const stack: Syntax[] = [this as unknown as Syntax];
|
||
|
while (stack.length > 0) {
|
||
|
const node = stack.pop()!;
|
||
|
yield node;
|
||
|
for (const childNode of node.getChildNodes()) {
|
||
|
stack.push(childNode);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
mayContainKind(kind: SyntaxKind) {
|
||
|
// TODO
|
||
|
return true;
|
||
|
}
|
||
|
getParentOfKind(kind: SyntaxKind) {
|
||
|
let currNode = this.parentNode;
|
||
|
while (currNode !== null) {
|
||
|
if (currNode.kind === kind) {
|
||
|
return currNode;
|
||
|
}
|
||
|
currNode = currNode.parentNode;
|
||
|
}
|
||
|
return null;
|
||
|
}
|
||
|
*findAllChildrenOfKind<K extends SyntaxKind>(kind: K): IterableIterator<ResolveSyntaxKind<K>> {
|
||
|
for (const node of this.preorder()) {
|
||
|
if (!node.mayContainKind(kind)) {
|
||
|
break;
|
||
|
}
|
||
|
if (node.kind === kind) {
|
||
|
yield node as ResolveSyntaxKind<K>;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export function setParents(node: Syntax, parentNode: Syntax | null = null) {
|
||
|
// NOTE We cast to any here because TypeScript does not like this complex assignment
|
||
|
node.parentNode = parentNode as any;
|
||
|
for (const child of node.getChildNodes()) {
|
||
|
setParents(child, node);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export enum BoltModifiers {
|
||
|
IsMutable = 0x1,
|
||
|
IsPublic = 0x2
|
||
|
}
|
||
|
|
||
|
export enum JSDeclarationModifiers {
|
||
|
IsExported = 0x1
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
export class EndOfFile extends SyntaxBase {
|
||
|
parentNode: null | EndOfFileParent = null;
|
||
|
kind: SyntaxKind.EndOfFile = SyntaxKind.EndOfFile;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<EndOfFileChild> { }
|
||
|
}
|
||
|
|
||
|
type EndOfFileParent = never;
|
||
|
|
||
|
type EndOfFileChild = never;
|
||
|
|
||
|
export type Token = JSNotOp | JSBNotOp | JSBAndOp | JSBXorOp | JSBOrOp | JSGtOp | JSLtOp | JSSubOp | JSDivOp | JSAddOp | JSMulOp | JSDotDotDot | JSDot | JSComma | JSSemi | JSOpenParen | JSOpenBracket | JSOpenBrace | JSCloseParen | JSCloseBracket | JSCloseBrace | JSOperator | JSForKeyword | JSWhileKeyword | JSFunctionKeyword | JSExportKeyword | JSLetKeyword | JSConstKeyword | JSAsKeyword | JSImportKeyword | JSCatchKeyword | JSFinallyKeyword | JSTryKeyword | JSReturnKeyword | JSFromKeyword | JSInteger | JSString | JSIdentifier | EndOfFile | BoltBracketed | BoltBraced | BoltParenthesized | BoltImplKeyword | BoltTraitKeyword | BoltTypeKeyword | BoltStructKeyword | BoltEnumKeyword | BoltMutKeyword | BoltModKeyword | BoltPubKeyword | BoltExportKeyword | BoltImportKeyword | BoltMatchKeyword | BoltYieldKeyword | BoltLoopKeyword | BoltReturnKeyword | BoltLetKeyword | BoltForKeyword | BoltForeignKeyword | BoltFnKeyword | BoltQuoteKeyword | BoltWhereKeyword | BoltVBar | BoltLtSign | BoltExMark | BoltGtSign | BoltEqSign | BoltLArrow | BoltRArrowAlt | BoltRArrow | BoltDotDot | BoltDot | BoltColonColon | BoltColon | BoltSemi | BoltComma | BoltAssignment | BoltOperator | BoltIdentifier | BoltIntegerLiteral | BoltStringLiteral;
|
||
|
|
||
|
export type SourceFile = JSSourceFile | BoltSourceFile;
|
||
|
|
||
|
export type FunctionBodyElement = JSLetDeclaration | JSArrowFunctionDeclaration | JSFunctionDeclaration | JSImportDeclaration | JSReturnStatement | JSConditionalStatement | JSExpressionStatement | JSTryCatchStatement | BoltMacroCall | BoltVariableDeclaration | BoltFunctionDeclaration | BoltLoopStatement | BoltExpressionStatement | BoltResumeStatement | BoltConditionalStatement | BoltReturnStatement;
|
||
|
|
||
|
export type ReturnStatement = JSReturnStatement | BoltReturnStatement;
|
||
|
|
||
|
export type BoltSyntax = BoltMacroCall | BoltRecordField | BoltPlainExportSymbol | BoltImportDirective | BoltPlainImportSymbol | BoltModule | BoltRecordDeclaration | BoltTypeAliasDeclaration | BoltImplDeclaration | BoltTraitDeclaration | BoltVariableDeclaration | BoltFunctionDeclaration | BoltParameter | BoltConditionalCase | BoltLoopStatement | BoltExpressionStatement | BoltResumeStatement | BoltConditionalStatement | BoltReturnStatement | BoltCase | BoltMatchArm | BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | BoltRecordFieldPattern | BoltTuplePatternElement | BoltRecordPattern | BoltTuplePattern | BoltExpressionPattern | BoltTypePattern | BoltBindPattern | BoltTypeParameter | BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | BoltQualName | BoltSourceFile | BoltBracketed | BoltBraced | BoltParenthesized | BoltImplKeyword | BoltTraitKeyword | BoltTypeKeyword | BoltStructKeyword | BoltEnumKeyword | BoltMutKeyword | BoltModKeyword | BoltPubKeyword | BoltExportKeyword | BoltImportKeyword | BoltMatchKeyword | BoltYieldKeyword | BoltLoopKeyword | BoltReturnKeyword | BoltLetKeyword | BoltForKeyword | BoltForeignKeyword | BoltFnKeyword | BoltQuoteKeyword | BoltWhereKeyword | BoltVBar | BoltLtSign | BoltExMark | BoltGtSign | BoltEqSign | BoltLArrow | BoltRArrowAlt | BoltRArrow | BoltDotDot | BoltDot | BoltColonColon | BoltColon | BoltSemi | BoltComma | BoltAssignment | BoltOperator | BoltIdentifier | BoltIntegerLiteral | BoltStringLiteral | EndOfFile;
|
||
|
|
||
|
export type BoltToken = BoltBracketed | BoltBraced | BoltParenthesized | BoltImplKeyword | BoltTraitKeyword | BoltTypeKeyword | BoltStructKeyword | BoltEnumKeyword | BoltMutKeyword | BoltModKeyword | BoltPubKeyword | BoltExportKeyword | BoltImportKeyword | BoltMatchKeyword | BoltYieldKeyword | BoltLoopKeyword | BoltReturnKeyword | BoltLetKeyword | BoltForKeyword | BoltForeignKeyword | BoltFnKeyword | BoltQuoteKeyword | BoltWhereKeyword | BoltVBar | BoltLtSign | BoltExMark | BoltGtSign | BoltEqSign | BoltLArrow | BoltRArrowAlt | BoltRArrow | BoltDotDot | BoltDot | BoltColonColon | BoltColon | BoltSemi | BoltComma | BoltAssignment | BoltOperator | BoltIdentifier | BoltIntegerLiteral | BoltStringLiteral | EndOfFile;
|
||
|
|
||
|
export class BoltStringLiteral extends SyntaxBase {
|
||
|
parentNode: null | BoltStringLiteralParent = null;
|
||
|
kind: SyntaxKind.BoltStringLiteral = SyntaxKind.BoltStringLiteral;
|
||
|
constructor(public value: string, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltStringLiteralChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltStringLiteralParent = BoltImportDirective | never;
|
||
|
|
||
|
type BoltStringLiteralChild = never;
|
||
|
|
||
|
export class BoltIntegerLiteral extends SyntaxBase {
|
||
|
parentNode: null | BoltIntegerLiteralParent = null;
|
||
|
kind: SyntaxKind.BoltIntegerLiteral = SyntaxKind.BoltIntegerLiteral;
|
||
|
constructor(public value: bigint, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltIntegerLiteralChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltIntegerLiteralParent = never;
|
||
|
|
||
|
type BoltIntegerLiteralChild = never;
|
||
|
|
||
|
export type BoltSymbol = BoltOperator | BoltVBar | BoltLtSign | BoltExMark | BoltGtSign | BoltIdentifier;
|
||
|
|
||
|
export class BoltIdentifier extends SyntaxBase {
|
||
|
parentNode: null | BoltIdentifierParent = null;
|
||
|
kind: SyntaxKind.BoltIdentifier = SyntaxKind.BoltIdentifier;
|
||
|
constructor(public text: string, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltIdentifierChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltIdentifierParent = BoltQualName | BoltTypeParameter | BoltBindPattern | BoltRecordFieldPattern | BoltMemberExpression | BoltPlainImportSymbol | BoltPlainExportSymbol | BoltRecordField | BoltFunctionDeclaration | BoltTraitDeclaration | BoltImplDeclaration | BoltTypeAliasDeclaration | BoltRecordDeclaration | BoltModule | BoltMacroCall | never;
|
||
|
|
||
|
type BoltIdentifierChild = never;
|
||
|
|
||
|
export type BoltOperatorLike = BoltVBar | BoltLtSign | BoltExMark | BoltGtSign;
|
||
|
|
||
|
export class BoltOperator extends SyntaxBase {
|
||
|
parentNode: null | BoltOperatorParent = null;
|
||
|
kind: SyntaxKind.BoltOperator = SyntaxKind.BoltOperator;
|
||
|
constructor(public text: string, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltOperatorChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltOperatorParent = BoltQualName | BoltPlainImportSymbol | BoltPlainExportSymbol | BoltFunctionDeclaration | never;
|
||
|
|
||
|
type BoltOperatorChild = never;
|
||
|
|
||
|
export class BoltAssignment extends SyntaxBase {
|
||
|
parentNode: null | BoltAssignmentParent = null;
|
||
|
kind: SyntaxKind.BoltAssignment = SyntaxKind.BoltAssignment;
|
||
|
constructor(public operator: string | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltAssignmentChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltAssignmentParent = never;
|
||
|
|
||
|
type BoltAssignmentChild = never;
|
||
|
|
||
|
export class BoltComma extends SyntaxBase {
|
||
|
parentNode: null | BoltCommaParent = null;
|
||
|
kind: SyntaxKind.BoltComma = SyntaxKind.BoltComma;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltCommaChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltCommaParent = never;
|
||
|
|
||
|
type BoltCommaChild = never;
|
||
|
|
||
|
export class BoltSemi extends SyntaxBase {
|
||
|
parentNode: null | BoltSemiParent = null;
|
||
|
kind: SyntaxKind.BoltSemi = SyntaxKind.BoltSemi;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltSemiChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltSemiParent = never;
|
||
|
|
||
|
type BoltSemiChild = never;
|
||
|
|
||
|
export class BoltColon extends SyntaxBase {
|
||
|
parentNode: null | BoltColonParent = null;
|
||
|
kind: SyntaxKind.BoltColon = SyntaxKind.BoltColon;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltColonChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltColonParent = never;
|
||
|
|
||
|
type BoltColonChild = never;
|
||
|
|
||
|
export class BoltColonColon extends SyntaxBase {
|
||
|
parentNode: null | BoltColonColonParent = null;
|
||
|
kind: SyntaxKind.BoltColonColon = SyntaxKind.BoltColonColon;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltColonColonChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltColonColonParent = never;
|
||
|
|
||
|
type BoltColonColonChild = never;
|
||
|
|
||
|
export class BoltDot extends SyntaxBase {
|
||
|
parentNode: null | BoltDotParent = null;
|
||
|
kind: SyntaxKind.BoltDot = SyntaxKind.BoltDot;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltDotChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltDotParent = never;
|
||
|
|
||
|
type BoltDotChild = never;
|
||
|
|
||
|
export class BoltDotDot extends SyntaxBase {
|
||
|
parentNode: null | BoltDotDotParent = null;
|
||
|
kind: SyntaxKind.BoltDotDot = SyntaxKind.BoltDotDot;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltDotDotChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltDotDotParent = never;
|
||
|
|
||
|
type BoltDotDotChild = never;
|
||
|
|
||
|
export class BoltRArrow extends SyntaxBase {
|
||
|
parentNode: null | BoltRArrowParent = null;
|
||
|
kind: SyntaxKind.BoltRArrow = SyntaxKind.BoltRArrow;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltRArrowChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltRArrowParent = never;
|
||
|
|
||
|
type BoltRArrowChild = never;
|
||
|
|
||
|
export class BoltRArrowAlt extends SyntaxBase {
|
||
|
parentNode: null | BoltRArrowAltParent = null;
|
||
|
kind: SyntaxKind.BoltRArrowAlt = SyntaxKind.BoltRArrowAlt;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltRArrowAltChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltRArrowAltParent = never;
|
||
|
|
||
|
type BoltRArrowAltChild = never;
|
||
|
|
||
|
export class BoltLArrow extends SyntaxBase {
|
||
|
parentNode: null | BoltLArrowParent = null;
|
||
|
kind: SyntaxKind.BoltLArrow = SyntaxKind.BoltLArrow;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltLArrowChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltLArrowParent = never;
|
||
|
|
||
|
type BoltLArrowChild = never;
|
||
|
|
||
|
export class BoltEqSign extends SyntaxBase {
|
||
|
parentNode: null | BoltEqSignParent = null;
|
||
|
kind: SyntaxKind.BoltEqSign = SyntaxKind.BoltEqSign;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltEqSignChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltEqSignParent = never;
|
||
|
|
||
|
type BoltEqSignChild = never;
|
||
|
|
||
|
export class BoltGtSign extends SyntaxBase {
|
||
|
parentNode: null | BoltGtSignParent = null;
|
||
|
kind: SyntaxKind.BoltGtSign = SyntaxKind.BoltGtSign;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltGtSignChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltGtSignParent = BoltQualName | BoltPlainImportSymbol | BoltPlainExportSymbol | BoltFunctionDeclaration | never;
|
||
|
|
||
|
type BoltGtSignChild = never;
|
||
|
|
||
|
export class BoltExMark extends SyntaxBase {
|
||
|
parentNode: null | BoltExMarkParent = null;
|
||
|
kind: SyntaxKind.BoltExMark = SyntaxKind.BoltExMark;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltExMarkChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltExMarkParent = BoltQualName | BoltPlainImportSymbol | BoltPlainExportSymbol | BoltFunctionDeclaration | never;
|
||
|
|
||
|
type BoltExMarkChild = never;
|
||
|
|
||
|
export class BoltLtSign extends SyntaxBase {
|
||
|
parentNode: null | BoltLtSignParent = null;
|
||
|
kind: SyntaxKind.BoltLtSign = SyntaxKind.BoltLtSign;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltLtSignChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltLtSignParent = BoltQualName | BoltPlainImportSymbol | BoltPlainExportSymbol | BoltFunctionDeclaration | never;
|
||
|
|
||
|
type BoltLtSignChild = never;
|
||
|
|
||
|
export class BoltVBar extends SyntaxBase {
|
||
|
parentNode: null | BoltVBarParent = null;
|
||
|
kind: SyntaxKind.BoltVBar = SyntaxKind.BoltVBar;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltVBarChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltVBarParent = BoltQualName | BoltPlainImportSymbol | BoltPlainExportSymbol | BoltFunctionDeclaration | never;
|
||
|
|
||
|
type BoltVBarChild = never;
|
||
|
|
||
|
export type BoltKeyword = BoltImplKeyword | BoltTraitKeyword | BoltTypeKeyword | BoltStructKeyword | BoltEnumKeyword | BoltMutKeyword | BoltModKeyword | BoltPubKeyword | BoltExportKeyword | BoltImportKeyword | BoltMatchKeyword | BoltYieldKeyword | BoltLoopKeyword | BoltReturnKeyword | BoltLetKeyword | BoltForKeyword | BoltForeignKeyword | BoltFnKeyword | BoltQuoteKeyword | BoltWhereKeyword;
|
||
|
|
||
|
export class BoltWhereKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltWhereKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltWhereKeyword = SyntaxKind.BoltWhereKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltWhereKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltWhereKeywordParent = never;
|
||
|
|
||
|
type BoltWhereKeywordChild = never;
|
||
|
|
||
|
export class BoltQuoteKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltQuoteKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltQuoteKeyword = SyntaxKind.BoltQuoteKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltQuoteKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltQuoteKeywordParent = never;
|
||
|
|
||
|
type BoltQuoteKeywordChild = never;
|
||
|
|
||
|
export class BoltFnKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltFnKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltFnKeyword = SyntaxKind.BoltFnKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltFnKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltFnKeywordParent = never;
|
||
|
|
||
|
type BoltFnKeywordChild = never;
|
||
|
|
||
|
export class BoltForeignKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltForeignKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltForeignKeyword = SyntaxKind.BoltForeignKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltForeignKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltForeignKeywordParent = never;
|
||
|
|
||
|
type BoltForeignKeywordChild = never;
|
||
|
|
||
|
export class BoltForKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltForKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltForKeyword = SyntaxKind.BoltForKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltForKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltForKeywordParent = never;
|
||
|
|
||
|
type BoltForKeywordChild = never;
|
||
|
|
||
|
export class BoltLetKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltLetKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltLetKeyword = SyntaxKind.BoltLetKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltLetKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltLetKeywordParent = never;
|
||
|
|
||
|
type BoltLetKeywordChild = never;
|
||
|
|
||
|
export class BoltReturnKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltReturnKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltReturnKeyword = SyntaxKind.BoltReturnKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltReturnKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltReturnKeywordParent = never;
|
||
|
|
||
|
type BoltReturnKeywordChild = never;
|
||
|
|
||
|
export class BoltLoopKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltLoopKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltLoopKeyword = SyntaxKind.BoltLoopKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltLoopKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltLoopKeywordParent = never;
|
||
|
|
||
|
type BoltLoopKeywordChild = never;
|
||
|
|
||
|
export class BoltYieldKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltYieldKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltYieldKeyword = SyntaxKind.BoltYieldKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltYieldKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltYieldKeywordParent = never;
|
||
|
|
||
|
type BoltYieldKeywordChild = never;
|
||
|
|
||
|
export class BoltMatchKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltMatchKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltMatchKeyword = SyntaxKind.BoltMatchKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltMatchKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltMatchKeywordParent = never;
|
||
|
|
||
|
type BoltMatchKeywordChild = never;
|
||
|
|
||
|
export class BoltImportKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltImportKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltImportKeyword = SyntaxKind.BoltImportKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltImportKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltImportKeywordParent = never;
|
||
|
|
||
|
type BoltImportKeywordChild = never;
|
||
|
|
||
|
export class BoltExportKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltExportKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltExportKeyword = SyntaxKind.BoltExportKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltExportKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltExportKeywordParent = never;
|
||
|
|
||
|
type BoltExportKeywordChild = never;
|
||
|
|
||
|
export class BoltPubKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltPubKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltPubKeyword = SyntaxKind.BoltPubKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltPubKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltPubKeywordParent = never;
|
||
|
|
||
|
type BoltPubKeywordChild = never;
|
||
|
|
||
|
export class BoltModKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltModKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltModKeyword = SyntaxKind.BoltModKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltModKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltModKeywordParent = never;
|
||
|
|
||
|
type BoltModKeywordChild = never;
|
||
|
|
||
|
export class BoltMutKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltMutKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltMutKeyword = SyntaxKind.BoltMutKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltMutKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltMutKeywordParent = never;
|
||
|
|
||
|
type BoltMutKeywordChild = never;
|
||
|
|
||
|
export class BoltEnumKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltEnumKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltEnumKeyword = SyntaxKind.BoltEnumKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltEnumKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltEnumKeywordParent = never;
|
||
|
|
||
|
type BoltEnumKeywordChild = never;
|
||
|
|
||
|
export class BoltStructKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltStructKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltStructKeyword = SyntaxKind.BoltStructKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltStructKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltStructKeywordParent = never;
|
||
|
|
||
|
type BoltStructKeywordChild = never;
|
||
|
|
||
|
export class BoltTypeKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltTypeKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltTypeKeyword = SyntaxKind.BoltTypeKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltTypeKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltTypeKeywordParent = never;
|
||
|
|
||
|
type BoltTypeKeywordChild = never;
|
||
|
|
||
|
export class BoltTraitKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltTraitKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltTraitKeyword = SyntaxKind.BoltTraitKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltTraitKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltTraitKeywordParent = never;
|
||
|
|
||
|
type BoltTraitKeywordChild = never;
|
||
|
|
||
|
export class BoltImplKeyword extends SyntaxBase {
|
||
|
parentNode: null | BoltImplKeywordParent = null;
|
||
|
kind: SyntaxKind.BoltImplKeyword = SyntaxKind.BoltImplKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltImplKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltImplKeywordParent = never;
|
||
|
|
||
|
type BoltImplKeywordChild = never;
|
||
|
|
||
|
export type BoltPunctuated = BoltBracketed | BoltBraced | BoltParenthesized;
|
||
|
|
||
|
export class BoltParenthesized extends SyntaxBase {
|
||
|
parentNode: null | BoltParenthesizedParent = null;
|
||
|
kind: SyntaxKind.BoltParenthesized = SyntaxKind.BoltParenthesized;
|
||
|
constructor(public text: string, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltParenthesizedChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltParenthesizedParent = never;
|
||
|
|
||
|
type BoltParenthesizedChild = never;
|
||
|
|
||
|
export class BoltBraced extends SyntaxBase {
|
||
|
parentNode: null | BoltBracedParent = null;
|
||
|
kind: SyntaxKind.BoltBraced = SyntaxKind.BoltBraced;
|
||
|
constructor(public text: string, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltBracedChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltBracedParent = never;
|
||
|
|
||
|
type BoltBracedChild = never;
|
||
|
|
||
|
export class BoltBracketed extends SyntaxBase {
|
||
|
parentNode: null | BoltBracketedParent = null;
|
||
|
kind: SyntaxKind.BoltBracketed = SyntaxKind.BoltBracketed;
|
||
|
constructor(public text: string, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltBracketedChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltBracketedParent = never;
|
||
|
|
||
|
type BoltBracketedChild = never;
|
||
|
|
||
|
export class BoltSourceFile extends SyntaxBase {
|
||
|
parentNode: null | BoltSourceFileParent = null;
|
||
|
kind: SyntaxKind.BoltSourceFile = SyntaxKind.BoltSourceFile;
|
||
|
constructor(public elements: BoltSourceElement[], public pkg: Package, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltSourceFileChild> { for (let element of this.elements)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltSourceFileParent = never;
|
||
|
|
||
|
type BoltSourceFileChild = BoltMacroCall | BoltExportDirective | BoltImportDirective | BoltModule | BoltRecordDeclaration | BoltTypeAliasDeclaration | BoltImplDeclaration | BoltTraitDeclaration | BoltVariableDeclaration | BoltFunctionDeclaration | BoltLoopStatement | BoltExpressionStatement | BoltResumeStatement | BoltConditionalStatement | BoltReturnStatement | never;
|
||
|
|
||
|
export class BoltQualName extends SyntaxBase {
|
||
|
parentNode: null | BoltQualNameParent = null;
|
||
|
kind: SyntaxKind.BoltQualName = SyntaxKind.BoltQualName;
|
||
|
constructor(public isAbsolute: boolean, public modulePath: BoltIdentifier[], public name: BoltSymbol, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltQualNameChild> { for (let element of this.modulePath)
|
||
|
yield element; yield this.name; }
|
||
|
}
|
||
|
|
||
|
type BoltQualNameParent = BoltReferenceTypeExpression | BoltReferenceExpression | BoltPlainImportSymbol | BoltPlainExportSymbol | never;
|
||
|
|
||
|
type BoltQualNameChild = BoltOperator | BoltVBar | BoltLtSign | BoltExMark | BoltGtSign | BoltIdentifier | never;
|
||
|
|
||
|
export type BoltTypeExpression = BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression;
|
||
|
|
||
|
export class BoltTypeOfExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltTypeOfExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltTypeOfExpression = SyntaxKind.BoltTypeOfExpression;
|
||
|
constructor(public expression: BoltExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltTypeOfExpressionChild> { yield this.expression; }
|
||
|
}
|
||
|
|
||
|
type BoltTypeOfExpressionParent = BoltReferenceTypeExpression | BoltFunctionTypeExpression | BoltTypeParameter | BoltTypePattern | BoltRecordPattern | BoltFunctionExpression | BoltParameter | BoltRecordField | BoltFunctionDeclaration | BoltVariableDeclaration | BoltTraitDeclaration | BoltImplDeclaration | BoltTypeAliasDeclaration | never;
|
||
|
|
||
|
type BoltTypeOfExpressionChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltReferenceTypeExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltReferenceTypeExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltReferenceTypeExpression = SyntaxKind.BoltReferenceTypeExpression;
|
||
|
constructor(public name: BoltQualName, public typeArgs: BoltTypeExpression[] | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltReferenceTypeExpressionChild> { yield this.name; if (this.typeArgs !== null)
|
||
|
for (let element of this.typeArgs)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltReferenceTypeExpressionParent = BoltReferenceTypeExpression | BoltFunctionTypeExpression | BoltTypeParameter | BoltTypePattern | BoltRecordPattern | BoltFunctionExpression | BoltParameter | BoltRecordField | BoltFunctionDeclaration | BoltVariableDeclaration | BoltTraitDeclaration | BoltImplDeclaration | BoltTypeAliasDeclaration | never;
|
||
|
|
||
|
type BoltReferenceTypeExpressionChild = BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | BoltQualName | never;
|
||
|
|
||
|
export class BoltFunctionTypeExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltFunctionTypeExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltFunctionTypeExpression = SyntaxKind.BoltFunctionTypeExpression;
|
||
|
constructor(public params: BoltParameter[], public returnType: BoltTypeExpression | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltFunctionTypeExpressionChild> { for (let element of this.params)
|
||
|
yield element; if (this.returnType !== null)
|
||
|
yield this.returnType; }
|
||
|
}
|
||
|
|
||
|
type BoltFunctionTypeExpressionParent = BoltReferenceTypeExpression | BoltFunctionTypeExpression | BoltTypeParameter | BoltTypePattern | BoltRecordPattern | BoltFunctionExpression | BoltParameter | BoltRecordField | BoltFunctionDeclaration | BoltVariableDeclaration | BoltTraitDeclaration | BoltImplDeclaration | BoltTypeAliasDeclaration | never;
|
||
|
|
||
|
type BoltFunctionTypeExpressionChild = BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | BoltParameter | never;
|
||
|
|
||
|
export class BoltLiftedTypeExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltLiftedTypeExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltLiftedTypeExpression = SyntaxKind.BoltLiftedTypeExpression;
|
||
|
constructor(public expression: BoltExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltLiftedTypeExpressionChild> { yield this.expression; }
|
||
|
}
|
||
|
|
||
|
type BoltLiftedTypeExpressionParent = BoltReferenceTypeExpression | BoltFunctionTypeExpression | BoltTypeParameter | BoltTypePattern | BoltRecordPattern | BoltFunctionExpression | BoltParameter | BoltRecordField | BoltFunctionDeclaration | BoltVariableDeclaration | BoltTraitDeclaration | BoltImplDeclaration | BoltTypeAliasDeclaration | never;
|
||
|
|
||
|
type BoltLiftedTypeExpressionChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltTypeParameter extends SyntaxBase {
|
||
|
parentNode: null | BoltTypeParameterParent = null;
|
||
|
kind: SyntaxKind.BoltTypeParameter = SyntaxKind.BoltTypeParameter;
|
||
|
constructor(public index: number, public name: BoltIdentifier, public typeExpr: BoltTypeExpression | null, public defaultType: BoltTypeExpression | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltTypeParameterChild> { yield this.name; if (this.typeExpr !== null)
|
||
|
yield this.typeExpr; if (this.defaultType !== null)
|
||
|
yield this.defaultType; }
|
||
|
}
|
||
|
|
||
|
type BoltTypeParameterParent = BoltFunctionDeclaration | BoltTraitDeclaration | BoltImplDeclaration | BoltTypeAliasDeclaration | BoltRecordDeclaration | never;
|
||
|
|
||
|
type BoltTypeParameterChild = BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | BoltIdentifier | never;
|
||
|
|
||
|
export type BoltPattern = BoltRecordPattern | BoltTuplePattern | BoltExpressionPattern | BoltTypePattern | BoltBindPattern;
|
||
|
|
||
|
export class BoltBindPattern extends SyntaxBase {
|
||
|
parentNode: null | BoltBindPatternParent = null;
|
||
|
kind: SyntaxKind.BoltBindPattern = SyntaxKind.BoltBindPattern;
|
||
|
constructor(public name: BoltIdentifier, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltBindPatternChild> { yield this.name; }
|
||
|
}
|
||
|
|
||
|
type BoltBindPatternParent = BoltTypePattern | BoltTuplePatternElement | BoltRecordFieldPattern | BoltMatchArm | BoltParameter | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltBindPatternChild = BoltIdentifier | never;
|
||
|
|
||
|
export class BoltTypePattern extends SyntaxBase {
|
||
|
parentNode: null | BoltTypePatternParent = null;
|
||
|
kind: SyntaxKind.BoltTypePattern = SyntaxKind.BoltTypePattern;
|
||
|
constructor(public typeExpr: BoltTypeExpression, public nestedPattern: BoltPattern, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltTypePatternChild> { yield this.typeExpr; yield this.nestedPattern; }
|
||
|
}
|
||
|
|
||
|
type BoltTypePatternParent = BoltTypePattern | BoltTuplePatternElement | BoltRecordFieldPattern | BoltMatchArm | BoltParameter | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltTypePatternChild = BoltRecordPattern | BoltTuplePattern | BoltExpressionPattern | BoltTypePattern | BoltBindPattern | BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | never;
|
||
|
|
||
|
export class BoltExpressionPattern extends SyntaxBase {
|
||
|
parentNode: null | BoltExpressionPatternParent = null;
|
||
|
kind: SyntaxKind.BoltExpressionPattern = SyntaxKind.BoltExpressionPattern;
|
||
|
constructor(public expression: BoltExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltExpressionPatternChild> { yield this.expression; }
|
||
|
}
|
||
|
|
||
|
type BoltExpressionPatternParent = BoltTypePattern | BoltTuplePatternElement | BoltRecordFieldPattern | BoltMatchArm | BoltParameter | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltExpressionPatternChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltTuplePatternElement extends SyntaxBase {
|
||
|
parentNode: null | BoltTuplePatternElementParent = null;
|
||
|
kind: SyntaxKind.BoltTuplePatternElement = SyntaxKind.BoltTuplePatternElement;
|
||
|
constructor(public index: number, public pattern: BoltPattern, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltTuplePatternElementChild> { yield this.pattern; }
|
||
|
}
|
||
|
|
||
|
type BoltTuplePatternElementParent = BoltTuplePattern | never;
|
||
|
|
||
|
type BoltTuplePatternElementChild = BoltRecordPattern | BoltTuplePattern | BoltExpressionPattern | BoltTypePattern | BoltBindPattern | never;
|
||
|
|
||
|
export class BoltTuplePattern extends SyntaxBase {
|
||
|
parentNode: null | BoltTuplePatternParent = null;
|
||
|
kind: SyntaxKind.BoltTuplePattern = SyntaxKind.BoltTuplePattern;
|
||
|
constructor(public elements: BoltTuplePatternElement[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltTuplePatternChild> { for (let element of this.elements)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltTuplePatternParent = BoltTypePattern | BoltTuplePatternElement | BoltRecordFieldPattern | BoltMatchArm | BoltParameter | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltTuplePatternChild = BoltTuplePatternElement | never;
|
||
|
|
||
|
export class BoltRecordFieldPattern extends SyntaxBase {
|
||
|
parentNode: null | BoltRecordFieldPatternParent = null;
|
||
|
kind: SyntaxKind.BoltRecordFieldPattern = SyntaxKind.BoltRecordFieldPattern;
|
||
|
constructor(public isRest: boolean, public name: BoltIdentifier | null, public pattern: BoltPattern | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltRecordFieldPatternChild> { if (this.name !== null)
|
||
|
yield this.name; if (this.pattern !== null)
|
||
|
yield this.pattern; }
|
||
|
}
|
||
|
|
||
|
type BoltRecordFieldPatternParent = BoltRecordPattern | never;
|
||
|
|
||
|
type BoltRecordFieldPatternChild = BoltRecordPattern | BoltTuplePattern | BoltExpressionPattern | BoltTypePattern | BoltBindPattern | BoltIdentifier | never;
|
||
|
|
||
|
export class BoltRecordPattern extends SyntaxBase {
|
||
|
parentNode: null | BoltRecordPatternParent = null;
|
||
|
kind: SyntaxKind.BoltRecordPattern = SyntaxKind.BoltRecordPattern;
|
||
|
constructor(public name: BoltTypeExpression, public fields: BoltRecordFieldPattern[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltRecordPatternChild> { yield this.name; for (let element of this.fields)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltRecordPatternParent = BoltTypePattern | BoltTuplePatternElement | BoltRecordFieldPattern | BoltMatchArm | BoltParameter | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltRecordPatternChild = BoltRecordFieldPattern | BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | never;
|
||
|
|
||
|
export type BoltExpression = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression;
|
||
|
|
||
|
export class BoltQuoteExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltQuoteExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltQuoteExpression = SyntaxKind.BoltQuoteExpression;
|
||
|
constructor(public tokens: (Token | BoltExpression)[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltQuoteExpressionChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltQuoteExpressionParent = BoltTypeOfExpression | BoltLiftedTypeExpression | BoltExpressionPattern | BoltTupleExpression | BoltMemberExpression | BoltCallExpression | BoltYieldExpression | BoltMatchArm | BoltMatchExpression | BoltCase | BoltConditionalCase | BoltParameter | BoltReturnStatement | BoltResumeStatement | BoltExpressionStatement | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltQuoteExpressionChild = never;
|
||
|
|
||
|
export class BoltTupleExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltTupleExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltTupleExpression = SyntaxKind.BoltTupleExpression;
|
||
|
constructor(public elements: BoltExpression[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltTupleExpressionChild> { for (let element of this.elements)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltTupleExpressionParent = BoltTypeOfExpression | BoltLiftedTypeExpression | BoltExpressionPattern | BoltTupleExpression | BoltMemberExpression | BoltCallExpression | BoltYieldExpression | BoltMatchArm | BoltMatchExpression | BoltCase | BoltConditionalCase | BoltParameter | BoltReturnStatement | BoltResumeStatement | BoltExpressionStatement | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltTupleExpressionChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltReferenceExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltReferenceExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltReferenceExpression = SyntaxKind.BoltReferenceExpression;
|
||
|
constructor(public name: BoltQualName, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltReferenceExpressionChild> { yield this.name; }
|
||
|
}
|
||
|
|
||
|
type BoltReferenceExpressionParent = BoltTypeOfExpression | BoltLiftedTypeExpression | BoltExpressionPattern | BoltTupleExpression | BoltMemberExpression | BoltCallExpression | BoltYieldExpression | BoltMatchArm | BoltMatchExpression | BoltCase | BoltConditionalCase | BoltParameter | BoltReturnStatement | BoltResumeStatement | BoltExpressionStatement | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltReferenceExpressionChild = BoltQualName | never;
|
||
|
|
||
|
export class BoltMemberExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltMemberExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltMemberExpression = SyntaxKind.BoltMemberExpression;
|
||
|
constructor(public expression: BoltExpression, public path: BoltIdentifier[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltMemberExpressionChild> { yield this.expression; for (let element of this.path)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltMemberExpressionParent = BoltTypeOfExpression | BoltLiftedTypeExpression | BoltExpressionPattern | BoltTupleExpression | BoltMemberExpression | BoltCallExpression | BoltYieldExpression | BoltMatchArm | BoltMatchExpression | BoltCase | BoltConditionalCase | BoltParameter | BoltReturnStatement | BoltResumeStatement | BoltExpressionStatement | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltMemberExpressionChild = BoltIdentifier | BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltFunctionExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltFunctionExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltFunctionExpression = SyntaxKind.BoltFunctionExpression;
|
||
|
constructor(public params: BoltParameter[], public returnType: BoltTypeExpression | null, public body: BoltFunctionBodyElement[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltFunctionExpressionChild> { for (let element of this.params)
|
||
|
yield element; if (this.returnType !== null)
|
||
|
yield this.returnType; for (let element of this.body)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltFunctionExpressionParent = BoltTypeOfExpression | BoltLiftedTypeExpression | BoltExpressionPattern | BoltTupleExpression | BoltMemberExpression | BoltCallExpression | BoltYieldExpression | BoltMatchArm | BoltMatchExpression | BoltCase | BoltConditionalCase | BoltParameter | BoltReturnStatement | BoltResumeStatement | BoltExpressionStatement | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltFunctionExpressionChild = BoltMacroCall | BoltVariableDeclaration | BoltFunctionDeclaration | BoltLoopStatement | BoltExpressionStatement | BoltResumeStatement | BoltConditionalStatement | BoltReturnStatement | BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | BoltParameter | never;
|
||
|
|
||
|
export class BoltCallExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltCallExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltCallExpression = SyntaxKind.BoltCallExpression;
|
||
|
constructor(public operator: BoltExpression, public operands: BoltExpression[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltCallExpressionChild> { yield this.operator; for (let element of this.operands)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltCallExpressionParent = BoltTypeOfExpression | BoltLiftedTypeExpression | BoltExpressionPattern | BoltTupleExpression | BoltMemberExpression | BoltCallExpression | BoltYieldExpression | BoltMatchArm | BoltMatchExpression | BoltCase | BoltConditionalCase | BoltParameter | BoltReturnStatement | BoltResumeStatement | BoltExpressionStatement | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltCallExpressionChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltYieldExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltYieldExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltYieldExpression = SyntaxKind.BoltYieldExpression;
|
||
|
constructor(public value: BoltExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltYieldExpressionChild> { yield this.value; }
|
||
|
}
|
||
|
|
||
|
type BoltYieldExpressionParent = BoltTypeOfExpression | BoltLiftedTypeExpression | BoltExpressionPattern | BoltTupleExpression | BoltMemberExpression | BoltCallExpression | BoltYieldExpression | BoltMatchArm | BoltMatchExpression | BoltCase | BoltConditionalCase | BoltParameter | BoltReturnStatement | BoltResumeStatement | BoltExpressionStatement | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltYieldExpressionChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltMatchArm extends SyntaxBase {
|
||
|
parentNode: null | BoltMatchArmParent = null;
|
||
|
kind: SyntaxKind.BoltMatchArm = SyntaxKind.BoltMatchArm;
|
||
|
constructor(public pattern: BoltPattern, public body: BoltExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltMatchArmChild> { yield this.pattern; yield this.body; }
|
||
|
}
|
||
|
|
||
|
type BoltMatchArmParent = BoltMatchExpression | never;
|
||
|
|
||
|
type BoltMatchArmChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | BoltRecordPattern | BoltTuplePattern | BoltExpressionPattern | BoltTypePattern | BoltBindPattern | never;
|
||
|
|
||
|
export class BoltMatchExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltMatchExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltMatchExpression = SyntaxKind.BoltMatchExpression;
|
||
|
constructor(public value: BoltExpression, public arms: BoltMatchArm[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltMatchExpressionChild> { yield this.value; for (let element of this.arms)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltMatchExpressionParent = BoltTypeOfExpression | BoltLiftedTypeExpression | BoltExpressionPattern | BoltTupleExpression | BoltMemberExpression | BoltCallExpression | BoltYieldExpression | BoltMatchArm | BoltMatchExpression | BoltCase | BoltConditionalCase | BoltParameter | BoltReturnStatement | BoltResumeStatement | BoltExpressionStatement | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltMatchExpressionChild = BoltMatchArm | BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltCase extends SyntaxBase {
|
||
|
parentNode: null | BoltCaseParent = null;
|
||
|
kind: SyntaxKind.BoltCase = SyntaxKind.BoltCase;
|
||
|
constructor(public test: BoltExpression, public result: BoltExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltCaseChild> { yield this.test; yield this.result; }
|
||
|
}
|
||
|
|
||
|
type BoltCaseParent = BoltCaseExpression | never;
|
||
|
|
||
|
type BoltCaseChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltCaseExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltCaseExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltCaseExpression = SyntaxKind.BoltCaseExpression;
|
||
|
constructor(public cases: BoltCase[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltCaseExpressionChild> { for (let element of this.cases)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltCaseExpressionParent = BoltTypeOfExpression | BoltLiftedTypeExpression | BoltExpressionPattern | BoltTupleExpression | BoltMemberExpression | BoltCallExpression | BoltYieldExpression | BoltMatchArm | BoltMatchExpression | BoltCase | BoltConditionalCase | BoltParameter | BoltReturnStatement | BoltResumeStatement | BoltExpressionStatement | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltCaseExpressionChild = BoltCase | never;
|
||
|
|
||
|
export class BoltBlockExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltBlockExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltBlockExpression = SyntaxKind.BoltBlockExpression;
|
||
|
constructor(public elements: BoltFunctionBodyElement[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltBlockExpressionChild> { for (let element of this.elements)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltBlockExpressionParent = BoltTypeOfExpression | BoltLiftedTypeExpression | BoltExpressionPattern | BoltTupleExpression | BoltMemberExpression | BoltCallExpression | BoltYieldExpression | BoltMatchArm | BoltMatchExpression | BoltCase | BoltConditionalCase | BoltParameter | BoltReturnStatement | BoltResumeStatement | BoltExpressionStatement | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltBlockExpressionChild = BoltMacroCall | BoltVariableDeclaration | BoltFunctionDeclaration | BoltLoopStatement | BoltExpressionStatement | BoltResumeStatement | BoltConditionalStatement | BoltReturnStatement | never;
|
||
|
|
||
|
export class BoltConstantExpression extends SyntaxBase {
|
||
|
parentNode: null | BoltConstantExpressionParent = null;
|
||
|
kind: SyntaxKind.BoltConstantExpression = SyntaxKind.BoltConstantExpression;
|
||
|
constructor(public value: Value, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltConstantExpressionChild> { }
|
||
|
}
|
||
|
|
||
|
type BoltConstantExpressionParent = BoltTypeOfExpression | BoltLiftedTypeExpression | BoltExpressionPattern | BoltTupleExpression | BoltMemberExpression | BoltCallExpression | BoltYieldExpression | BoltMatchArm | BoltMatchExpression | BoltCase | BoltConditionalCase | BoltParameter | BoltReturnStatement | BoltResumeStatement | BoltExpressionStatement | BoltVariableDeclaration | never;
|
||
|
|
||
|
type BoltConstantExpressionChild = never;
|
||
|
|
||
|
export type BoltStatement = BoltLoopStatement | BoltExpressionStatement | BoltResumeStatement | BoltConditionalStatement | BoltReturnStatement;
|
||
|
|
||
|
export class BoltReturnStatement extends SyntaxBase {
|
||
|
parentNode: null | BoltReturnStatementParent = null;
|
||
|
kind: SyntaxKind.BoltReturnStatement = SyntaxKind.BoltReturnStatement;
|
||
|
constructor(public value: BoltExpression | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltReturnStatementChild> { if (this.value !== null)
|
||
|
yield this.value; }
|
||
|
}
|
||
|
|
||
|
type BoltReturnStatementParent = BoltSourceFile | BoltFunctionExpression | BoltBlockExpression | BoltConditionalCase | BoltLoopStatement | BoltFunctionDeclaration | BoltModule | never;
|
||
|
|
||
|
type BoltReturnStatementChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltConditionalCase extends SyntaxBase {
|
||
|
parentNode: null | BoltConditionalCaseParent = null;
|
||
|
kind: SyntaxKind.BoltConditionalCase = SyntaxKind.BoltConditionalCase;
|
||
|
constructor(public test: BoltExpression | null, public body: BoltFunctionBodyElement[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltConditionalCaseChild> { if (this.test !== null)
|
||
|
yield this.test; for (let element of this.body)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltConditionalCaseParent = BoltConditionalStatement | never;
|
||
|
|
||
|
type BoltConditionalCaseChild = BoltMacroCall | BoltVariableDeclaration | BoltFunctionDeclaration | BoltLoopStatement | BoltExpressionStatement | BoltResumeStatement | BoltConditionalStatement | BoltReturnStatement | BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltConditionalStatement extends SyntaxBase {
|
||
|
parentNode: null | BoltConditionalStatementParent = null;
|
||
|
kind: SyntaxKind.BoltConditionalStatement = SyntaxKind.BoltConditionalStatement;
|
||
|
constructor(public cases: BoltConditionalCase[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltConditionalStatementChild> { for (let element of this.cases)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltConditionalStatementParent = BoltSourceFile | BoltFunctionExpression | BoltBlockExpression | BoltConditionalCase | BoltLoopStatement | BoltFunctionDeclaration | BoltModule | never;
|
||
|
|
||
|
type BoltConditionalStatementChild = BoltConditionalCase | never;
|
||
|
|
||
|
export class BoltResumeStatement extends SyntaxBase {
|
||
|
parentNode: null | BoltResumeStatementParent = null;
|
||
|
kind: SyntaxKind.BoltResumeStatement = SyntaxKind.BoltResumeStatement;
|
||
|
constructor(public value: BoltExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltResumeStatementChild> { yield this.value; }
|
||
|
}
|
||
|
|
||
|
type BoltResumeStatementParent = BoltSourceFile | BoltFunctionExpression | BoltBlockExpression | BoltConditionalCase | BoltLoopStatement | BoltFunctionDeclaration | BoltModule | never;
|
||
|
|
||
|
type BoltResumeStatementChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltExpressionStatement extends SyntaxBase {
|
||
|
parentNode: null | BoltExpressionStatementParent = null;
|
||
|
kind: SyntaxKind.BoltExpressionStatement = SyntaxKind.BoltExpressionStatement;
|
||
|
constructor(public expression: BoltExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltExpressionStatementChild> { yield this.expression; }
|
||
|
}
|
||
|
|
||
|
type BoltExpressionStatementParent = BoltSourceFile | BoltFunctionExpression | BoltBlockExpression | BoltConditionalCase | BoltLoopStatement | BoltFunctionDeclaration | BoltModule | never;
|
||
|
|
||
|
type BoltExpressionStatementChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | never;
|
||
|
|
||
|
export class BoltLoopStatement extends SyntaxBase {
|
||
|
parentNode: null | BoltLoopStatementParent = null;
|
||
|
kind: SyntaxKind.BoltLoopStatement = SyntaxKind.BoltLoopStatement;
|
||
|
constructor(public elements: BoltFunctionBodyElement[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltLoopStatementChild> { for (let element of this.elements)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltLoopStatementParent = BoltSourceFile | BoltFunctionExpression | BoltBlockExpression | BoltConditionalCase | BoltLoopStatement | BoltFunctionDeclaration | BoltModule | never;
|
||
|
|
||
|
type BoltLoopStatementChild = BoltMacroCall | BoltVariableDeclaration | BoltFunctionDeclaration | BoltLoopStatement | BoltExpressionStatement | BoltResumeStatement | BoltConditionalStatement | BoltReturnStatement | never;
|
||
|
|
||
|
export class BoltParameter extends SyntaxBase {
|
||
|
parentNode: null | BoltParameterParent = null;
|
||
|
kind: SyntaxKind.BoltParameter = SyntaxKind.BoltParameter;
|
||
|
constructor(public index: number, public bindings: BoltPattern, public typeExpr: BoltTypeExpression | null, public defaultValue: BoltExpression | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltParameterChild> { yield this.bindings; if (this.typeExpr !== null)
|
||
|
yield this.typeExpr; if (this.defaultValue !== null)
|
||
|
yield this.defaultValue; }
|
||
|
}
|
||
|
|
||
|
type BoltParameterParent = BoltFunctionTypeExpression | BoltFunctionExpression | BoltFunctionDeclaration | never;
|
||
|
|
||
|
type BoltParameterChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | BoltRecordPattern | BoltTuplePattern | BoltExpressionPattern | BoltTypePattern | BoltBindPattern | never;
|
||
|
|
||
|
export type BoltDeclaration = BoltRecordDeclaration | BoltVariableDeclaration | BoltFunctionDeclaration;
|
||
|
|
||
|
export type BoltTypeDeclaration = BoltRecordDeclaration | BoltTypeAliasDeclaration | BoltImplDeclaration | BoltTraitDeclaration;
|
||
|
|
||
|
export class BoltModule extends SyntaxBase {
|
||
|
parentNode: null | BoltModuleParent = null;
|
||
|
kind: SyntaxKind.BoltModule = SyntaxKind.BoltModule;
|
||
|
constructor(public modifiers: BoltModifiers, public name: BoltIdentifier[], public elements: BoltSourceElement[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltModuleChild> { for (let element of this.name)
|
||
|
yield element; for (let element of this.elements)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltModuleParent = BoltSourceFile | BoltModule | never;
|
||
|
|
||
|
type BoltModuleChild = BoltMacroCall | BoltExportDirective | BoltImportDirective | BoltModule | BoltRecordDeclaration | BoltTypeAliasDeclaration | BoltImplDeclaration | BoltTraitDeclaration | BoltVariableDeclaration | BoltFunctionDeclaration | BoltLoopStatement | BoltExpressionStatement | BoltResumeStatement | BoltConditionalStatement | BoltReturnStatement | BoltIdentifier | never;
|
||
|
|
||
|
export type BoltDeclarationLike = BoltRecordDeclaration | BoltTypeAliasDeclaration | BoltImplDeclaration | BoltTraitDeclaration | BoltVariableDeclaration | BoltFunctionDeclaration;
|
||
|
|
||
|
export type BoltFunctionBodyElement = BoltMacroCall | BoltVariableDeclaration | BoltFunctionDeclaration | BoltLoopStatement | BoltExpressionStatement | BoltResumeStatement | BoltConditionalStatement | BoltReturnStatement;
|
||
|
|
||
|
export class BoltFunctionDeclaration extends SyntaxBase {
|
||
|
parentNode: null | BoltFunctionDeclarationParent = null;
|
||
|
kind: SyntaxKind.BoltFunctionDeclaration = SyntaxKind.BoltFunctionDeclaration;
|
||
|
constructor(public modifiers: BoltModifiers, public target: string, public name: BoltSymbol, public params: BoltParameter[], public returnType: BoltTypeExpression | null, public typeParams: BoltTypeParameter[] | null, public body: BoltFunctionBodyElement[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltFunctionDeclarationChild> { yield this.name; for (let element of this.params)
|
||
|
yield element; if (this.returnType !== null)
|
||
|
yield this.returnType; if (this.typeParams !== null)
|
||
|
for (let element of this.typeParams)
|
||
|
yield element; for (let element of this.body)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltFunctionDeclarationParent = BoltSourceFile | BoltFunctionExpression | BoltBlockExpression | BoltConditionalCase | BoltLoopStatement | BoltFunctionDeclaration | BoltTraitDeclaration | BoltImplDeclaration | BoltModule | never;
|
||
|
|
||
|
type BoltFunctionDeclarationChild = BoltMacroCall | BoltVariableDeclaration | BoltFunctionDeclaration | BoltLoopStatement | BoltExpressionStatement | BoltResumeStatement | BoltConditionalStatement | BoltReturnStatement | BoltTypeParameter | BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | BoltParameter | BoltOperator | BoltVBar | BoltLtSign | BoltExMark | BoltGtSign | BoltIdentifier | never;
|
||
|
|
||
|
export class BoltVariableDeclaration extends SyntaxBase {
|
||
|
parentNode: null | BoltVariableDeclarationParent = null;
|
||
|
kind: SyntaxKind.BoltVariableDeclaration = SyntaxKind.BoltVariableDeclaration;
|
||
|
constructor(public modifiers: BoltModifiers, public bindings: BoltPattern, public typeExpr: BoltTypeExpression | null, public value: BoltExpression | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltVariableDeclarationChild> { yield this.bindings; if (this.typeExpr !== null)
|
||
|
yield this.typeExpr; if (this.value !== null)
|
||
|
yield this.value; }
|
||
|
}
|
||
|
|
||
|
type BoltVariableDeclarationParent = BoltSourceFile | BoltFunctionExpression | BoltBlockExpression | BoltConditionalCase | BoltLoopStatement | BoltFunctionDeclaration | BoltModule | never;
|
||
|
|
||
|
type BoltVariableDeclarationChild = BoltConstantExpression | BoltBlockExpression | BoltCaseExpression | BoltMatchExpression | BoltYieldExpression | BoltCallExpression | BoltFunctionExpression | BoltMemberExpression | BoltReferenceExpression | BoltTupleExpression | BoltQuoteExpression | BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | BoltRecordPattern | BoltTuplePattern | BoltExpressionPattern | BoltTypePattern | BoltBindPattern | never;
|
||
|
|
||
|
export type BoltImportSymbol = BoltPlainImportSymbol;
|
||
|
|
||
|
export class BoltPlainImportSymbol extends SyntaxBase {
|
||
|
parentNode: null | BoltPlainImportSymbolParent = null;
|
||
|
kind: SyntaxKind.BoltPlainImportSymbol = SyntaxKind.BoltPlainImportSymbol;
|
||
|
constructor(public remote: BoltQualName, public local: BoltSymbol, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltPlainImportSymbolChild> { yield this.remote; yield this.local; }
|
||
|
}
|
||
|
|
||
|
type BoltPlainImportSymbolParent = BoltImportDirective | never;
|
||
|
|
||
|
type BoltPlainImportSymbolChild = BoltOperator | BoltVBar | BoltLtSign | BoltExMark | BoltGtSign | BoltIdentifier | BoltQualName | never;
|
||
|
|
||
|
export class BoltImportDirective extends SyntaxBase {
|
||
|
parentNode: null | BoltImportDirectiveParent = null;
|
||
|
kind: SyntaxKind.BoltImportDirective = SyntaxKind.BoltImportDirective;
|
||
|
constructor(public modifiers: BoltModifiers, public file: BoltStringLiteral, public symbols: BoltImportSymbol[] | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltImportDirectiveChild> { yield this.file; if (this.symbols !== null)
|
||
|
for (let element of this.symbols)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltImportDirectiveParent = BoltSourceFile | BoltModule | never;
|
||
|
|
||
|
type BoltImportDirectiveChild = BoltPlainImportSymbol | BoltStringLiteral | never;
|
||
|
|
||
|
export type BoltExportSymbol = BoltPlainExportSymbol;
|
||
|
|
||
|
export class BoltPlainExportSymbol extends SyntaxBase {
|
||
|
parentNode: null | BoltPlainExportSymbolParent = null;
|
||
|
kind: SyntaxKind.BoltPlainExportSymbol = SyntaxKind.BoltPlainExportSymbol;
|
||
|
constructor(public local: BoltQualName, public remote: BoltSymbol, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltPlainExportSymbolChild> { yield this.local; yield this.remote; }
|
||
|
}
|
||
|
|
||
|
type BoltPlainExportSymbolParent = BoltExportDirective | never;
|
||
|
|
||
|
type BoltPlainExportSymbolChild = BoltOperator | BoltVBar | BoltLtSign | BoltExMark | BoltGtSign | BoltIdentifier | BoltQualName | never;
|
||
|
|
||
|
export class BoltExportDirective extends SyntaxBase {
|
||
|
parentNode: null | BoltExportDirectiveParent = null;
|
||
|
kind: SyntaxKind.BoltExportDirective = SyntaxKind.BoltExportDirective;
|
||
|
constructor(public file: string, public symbols: BoltExportSymbol[] | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltExportDirectiveChild> { if (this.symbols !== null)
|
||
|
for (let element of this.symbols)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltExportDirectiveParent = BoltSourceFile | BoltModule | never;
|
||
|
|
||
|
type BoltExportDirectiveChild = BoltPlainExportSymbol | never;
|
||
|
|
||
|
export type BoltTraitOrImplElement = BoltMacroCall | BoltTypeAliasDeclaration | BoltFunctionDeclaration;
|
||
|
|
||
|
export class BoltTraitDeclaration extends SyntaxBase {
|
||
|
parentNode: null | BoltTraitDeclarationParent = null;
|
||
|
kind: SyntaxKind.BoltTraitDeclaration = SyntaxKind.BoltTraitDeclaration;
|
||
|
constructor(public modifiers: BoltModifiers, public typeParams: BoltTypeParameter[] | null, public name: BoltIdentifier, public typeBoundExpr: BoltTypeExpression | null, public elements: BoltTraitOrImplElement[] | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltTraitDeclarationChild> { if (this.typeParams !== null)
|
||
|
for (let element of this.typeParams)
|
||
|
yield element; yield this.name; if (this.typeBoundExpr !== null)
|
||
|
yield this.typeBoundExpr; if (this.elements !== null)
|
||
|
for (let element of this.elements)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltTraitDeclarationParent = BoltSourceFile | BoltModule | never;
|
||
|
|
||
|
type BoltTraitDeclarationChild = BoltMacroCall | BoltTypeAliasDeclaration | BoltFunctionDeclaration | BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | BoltIdentifier | BoltTypeParameter | never;
|
||
|
|
||
|
export class BoltImplDeclaration extends SyntaxBase {
|
||
|
parentNode: null | BoltImplDeclarationParent = null;
|
||
|
kind: SyntaxKind.BoltImplDeclaration = SyntaxKind.BoltImplDeclaration;
|
||
|
constructor(public modifiers: BoltModifiers, public typeParams: BoltTypeParameter[] | null, public name: BoltIdentifier, public traitTypeExpr: BoltTypeExpression | null, public elements: BoltTraitOrImplElement[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltImplDeclarationChild> { if (this.typeParams !== null)
|
||
|
for (let element of this.typeParams)
|
||
|
yield element; yield this.name; if (this.traitTypeExpr !== null)
|
||
|
yield this.traitTypeExpr; for (let element of this.elements)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltImplDeclarationParent = BoltSourceFile | BoltModule | never;
|
||
|
|
||
|
type BoltImplDeclarationChild = BoltMacroCall | BoltTypeAliasDeclaration | BoltFunctionDeclaration | BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | BoltIdentifier | BoltTypeParameter | never;
|
||
|
|
||
|
export class BoltTypeAliasDeclaration extends SyntaxBase {
|
||
|
parentNode: null | BoltTypeAliasDeclarationParent = null;
|
||
|
kind: SyntaxKind.BoltTypeAliasDeclaration = SyntaxKind.BoltTypeAliasDeclaration;
|
||
|
constructor(public modifiers: BoltModifiers, public name: BoltIdentifier, public typeParams: BoltTypeParameter[] | null, public typeExpr: BoltTypeExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltTypeAliasDeclarationChild> { yield this.name; if (this.typeParams !== null)
|
||
|
for (let element of this.typeParams)
|
||
|
yield element; yield this.typeExpr; }
|
||
|
}
|
||
|
|
||
|
type BoltTypeAliasDeclarationParent = BoltSourceFile | BoltTraitDeclaration | BoltImplDeclaration | BoltModule | never;
|
||
|
|
||
|
type BoltTypeAliasDeclarationChild = BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | BoltTypeParameter | BoltIdentifier | never;
|
||
|
|
||
|
export type BoltRecordMember = BoltMacroCall | BoltRecordField;
|
||
|
|
||
|
export class BoltRecordField extends SyntaxBase {
|
||
|
parentNode: null | BoltRecordFieldParent = null;
|
||
|
kind: SyntaxKind.BoltRecordField = SyntaxKind.BoltRecordField;
|
||
|
constructor(public name: BoltIdentifier, public typeExpr: BoltTypeExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltRecordFieldChild> { yield this.name; yield this.typeExpr; }
|
||
|
}
|
||
|
|
||
|
type BoltRecordFieldParent = BoltRecordDeclaration | never;
|
||
|
|
||
|
type BoltRecordFieldChild = BoltLiftedTypeExpression | BoltFunctionTypeExpression | BoltReferenceTypeExpression | BoltTypeOfExpression | BoltIdentifier | never;
|
||
|
|
||
|
export class BoltRecordDeclaration extends SyntaxBase {
|
||
|
parentNode: null | BoltRecordDeclarationParent = null;
|
||
|
kind: SyntaxKind.BoltRecordDeclaration = SyntaxKind.BoltRecordDeclaration;
|
||
|
constructor(public modifiers: BoltModifiers, public name: BoltIdentifier, public typeParms: BoltTypeParameter[] | null, public members: BoltRecordMember[] | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltRecordDeclarationChild> { yield this.name; if (this.typeParms !== null)
|
||
|
for (let element of this.typeParms)
|
||
|
yield element; if (this.members !== null)
|
||
|
for (let element of this.members)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type BoltRecordDeclarationParent = BoltSourceFile | BoltModule | never;
|
||
|
|
||
|
type BoltRecordDeclarationChild = BoltMacroCall | BoltRecordField | BoltTypeParameter | BoltIdentifier | never;
|
||
|
|
||
|
export type BoltSourceElement = BoltMacroCall | BoltExportDirective | BoltImportDirective | BoltModule | BoltRecordDeclaration | BoltTypeAliasDeclaration | BoltImplDeclaration | BoltTraitDeclaration | BoltVariableDeclaration | BoltFunctionDeclaration | BoltLoopStatement | BoltExpressionStatement | BoltResumeStatement | BoltConditionalStatement | BoltReturnStatement;
|
||
|
|
||
|
export class BoltMacroCall extends SyntaxBase {
|
||
|
parentNode: null | BoltMacroCallParent = null;
|
||
|
kind: SyntaxKind.BoltMacroCall = SyntaxKind.BoltMacroCall;
|
||
|
constructor(public name: BoltIdentifier, public text: string, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<BoltMacroCallChild> { yield this.name; }
|
||
|
}
|
||
|
|
||
|
type BoltMacroCallParent = BoltSourceFile | BoltFunctionExpression | BoltBlockExpression | BoltConditionalCase | BoltLoopStatement | BoltFunctionDeclaration | BoltTraitDeclaration | BoltImplDeclaration | BoltRecordDeclaration | BoltModule | never;
|
||
|
|
||
|
type BoltMacroCallChild = BoltIdentifier | never;
|
||
|
|
||
|
export type JSSyntax = JSSourceFile | JSImportAsBinding | JSImportStarBinding | JSLetDeclaration | JSArrowFunctionDeclaration | JSFunctionDeclaration | JSImportDeclaration | JSParameter | JSConditionalCase | JSCatchBlock | JSReturnStatement | JSConditionalStatement | JSExpressionStatement | JSTryCatchStatement | JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | JSBindPattern | JSNotOp | JSBNotOp | JSBAndOp | JSBXorOp | JSBOrOp | JSGtOp | JSLtOp | JSSubOp | JSDivOp | JSAddOp | JSMulOp | JSDotDotDot | JSDot | JSComma | JSSemi | JSOpenParen | JSOpenBracket | JSOpenBrace | JSCloseParen | JSCloseBracket | JSCloseBrace | JSOperator | JSForKeyword | JSWhileKeyword | JSFunctionKeyword | JSExportKeyword | JSLetKeyword | JSConstKeyword | JSAsKeyword | JSImportKeyword | JSCatchKeyword | JSFinallyKeyword | JSTryKeyword | JSReturnKeyword | JSFromKeyword | JSInteger | JSString | JSIdentifier | EndOfFile;
|
||
|
|
||
|
export type JSToken = JSNotOp | JSBNotOp | JSBAndOp | JSBXorOp | JSBOrOp | JSGtOp | JSLtOp | JSSubOp | JSDivOp | JSAddOp | JSMulOp | JSDotDotDot | JSDot | JSComma | JSSemi | JSOpenParen | JSOpenBracket | JSOpenBrace | JSCloseParen | JSCloseBracket | JSCloseBrace | JSOperator | JSForKeyword | JSWhileKeyword | JSFunctionKeyword | JSExportKeyword | JSLetKeyword | JSConstKeyword | JSAsKeyword | JSImportKeyword | JSCatchKeyword | JSFinallyKeyword | JSTryKeyword | JSReturnKeyword | JSFromKeyword | JSInteger | JSString | JSIdentifier | EndOfFile;
|
||
|
|
||
|
export class JSIdentifier extends SyntaxBase {
|
||
|
parentNode: null | JSIdentifierParent = null;
|
||
|
kind: SyntaxKind.JSIdentifier = SyntaxKind.JSIdentifier;
|
||
|
constructor(public text: string, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSIdentifierChild> { }
|
||
|
}
|
||
|
|
||
|
type JSIdentifierParent = JSBindPattern | JSMemberExpression | JSImportStarBinding | JSImportAsBinding | JSFunctionDeclaration | JSArrowFunctionDeclaration | never;
|
||
|
|
||
|
type JSIdentifierChild = never;
|
||
|
|
||
|
export class JSString extends SyntaxBase {
|
||
|
parentNode: null | JSStringParent = null;
|
||
|
kind: SyntaxKind.JSString = SyntaxKind.JSString;
|
||
|
constructor(public value: string, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSStringChild> { }
|
||
|
}
|
||
|
|
||
|
type JSStringParent = JSImportDeclaration | never;
|
||
|
|
||
|
type JSStringChild = never;
|
||
|
|
||
|
export class JSInteger extends SyntaxBase {
|
||
|
parentNode: null | JSIntegerParent = null;
|
||
|
kind: SyntaxKind.JSInteger = SyntaxKind.JSInteger;
|
||
|
constructor(public value: bigint, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSIntegerChild> { }
|
||
|
}
|
||
|
|
||
|
type JSIntegerParent = never;
|
||
|
|
||
|
type JSIntegerChild = never;
|
||
|
|
||
|
export class JSFromKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSFromKeywordParent = null;
|
||
|
kind: SyntaxKind.JSFromKeyword = SyntaxKind.JSFromKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSFromKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSFromKeywordParent = never;
|
||
|
|
||
|
type JSFromKeywordChild = never;
|
||
|
|
||
|
export class JSReturnKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSReturnKeywordParent = null;
|
||
|
kind: SyntaxKind.JSReturnKeyword = SyntaxKind.JSReturnKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSReturnKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSReturnKeywordParent = never;
|
||
|
|
||
|
type JSReturnKeywordChild = never;
|
||
|
|
||
|
export class JSTryKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSTryKeywordParent = null;
|
||
|
kind: SyntaxKind.JSTryKeyword = SyntaxKind.JSTryKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSTryKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSTryKeywordParent = never;
|
||
|
|
||
|
type JSTryKeywordChild = never;
|
||
|
|
||
|
export class JSFinallyKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSFinallyKeywordParent = null;
|
||
|
kind: SyntaxKind.JSFinallyKeyword = SyntaxKind.JSFinallyKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSFinallyKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSFinallyKeywordParent = never;
|
||
|
|
||
|
type JSFinallyKeywordChild = never;
|
||
|
|
||
|
export class JSCatchKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSCatchKeywordParent = null;
|
||
|
kind: SyntaxKind.JSCatchKeyword = SyntaxKind.JSCatchKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSCatchKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSCatchKeywordParent = never;
|
||
|
|
||
|
type JSCatchKeywordChild = never;
|
||
|
|
||
|
export class JSImportKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSImportKeywordParent = null;
|
||
|
kind: SyntaxKind.JSImportKeyword = SyntaxKind.JSImportKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSImportKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSImportKeywordParent = never;
|
||
|
|
||
|
type JSImportKeywordChild = never;
|
||
|
|
||
|
export class JSAsKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSAsKeywordParent = null;
|
||
|
kind: SyntaxKind.JSAsKeyword = SyntaxKind.JSAsKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSAsKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSAsKeywordParent = never;
|
||
|
|
||
|
type JSAsKeywordChild = never;
|
||
|
|
||
|
export class JSConstKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSConstKeywordParent = null;
|
||
|
kind: SyntaxKind.JSConstKeyword = SyntaxKind.JSConstKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSConstKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSConstKeywordParent = never;
|
||
|
|
||
|
type JSConstKeywordChild = never;
|
||
|
|
||
|
export class JSLetKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSLetKeywordParent = null;
|
||
|
kind: SyntaxKind.JSLetKeyword = SyntaxKind.JSLetKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSLetKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSLetKeywordParent = never;
|
||
|
|
||
|
type JSLetKeywordChild = never;
|
||
|
|
||
|
export class JSExportKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSExportKeywordParent = null;
|
||
|
kind: SyntaxKind.JSExportKeyword = SyntaxKind.JSExportKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSExportKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSExportKeywordParent = never;
|
||
|
|
||
|
type JSExportKeywordChild = never;
|
||
|
|
||
|
export class JSFunctionKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSFunctionKeywordParent = null;
|
||
|
kind: SyntaxKind.JSFunctionKeyword = SyntaxKind.JSFunctionKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSFunctionKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSFunctionKeywordParent = never;
|
||
|
|
||
|
type JSFunctionKeywordChild = never;
|
||
|
|
||
|
export class JSWhileKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSWhileKeywordParent = null;
|
||
|
kind: SyntaxKind.JSWhileKeyword = SyntaxKind.JSWhileKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSWhileKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSWhileKeywordParent = never;
|
||
|
|
||
|
type JSWhileKeywordChild = never;
|
||
|
|
||
|
export class JSForKeyword extends SyntaxBase {
|
||
|
parentNode: null | JSForKeywordParent = null;
|
||
|
kind: SyntaxKind.JSForKeyword = SyntaxKind.JSForKeyword;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSForKeywordChild> { }
|
||
|
}
|
||
|
|
||
|
type JSForKeywordParent = never;
|
||
|
|
||
|
type JSForKeywordChild = never;
|
||
|
|
||
|
export type JSOperatorLike = JSNotOp | JSBNotOp | JSBAndOp | JSBXorOp | JSBOrOp | JSGtOp | JSLtOp | JSSubOp | JSDivOp | JSAddOp | JSMulOp;
|
||
|
|
||
|
export class JSOperator extends SyntaxBase {
|
||
|
parentNode: null | JSOperatorParent = null;
|
||
|
kind: SyntaxKind.JSOperator = SyntaxKind.JSOperator;
|
||
|
constructor(public text: string, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSOperatorChild> { }
|
||
|
}
|
||
|
|
||
|
type JSOperatorParent = JSBinaryExpression | JSUnaryExpression | never;
|
||
|
|
||
|
type JSOperatorChild = never;
|
||
|
|
||
|
export class JSCloseBrace extends SyntaxBase {
|
||
|
parentNode: null | JSCloseBraceParent = null;
|
||
|
kind: SyntaxKind.JSCloseBrace = SyntaxKind.JSCloseBrace;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSCloseBraceChild> { }
|
||
|
}
|
||
|
|
||
|
type JSCloseBraceParent = never;
|
||
|
|
||
|
type JSCloseBraceChild = never;
|
||
|
|
||
|
export class JSCloseBracket extends SyntaxBase {
|
||
|
parentNode: null | JSCloseBracketParent = null;
|
||
|
kind: SyntaxKind.JSCloseBracket = SyntaxKind.JSCloseBracket;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSCloseBracketChild> { }
|
||
|
}
|
||
|
|
||
|
type JSCloseBracketParent = never;
|
||
|
|
||
|
type JSCloseBracketChild = never;
|
||
|
|
||
|
export class JSCloseParen extends SyntaxBase {
|
||
|
parentNode: null | JSCloseParenParent = null;
|
||
|
kind: SyntaxKind.JSCloseParen = SyntaxKind.JSCloseParen;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSCloseParenChild> { }
|
||
|
}
|
||
|
|
||
|
type JSCloseParenParent = never;
|
||
|
|
||
|
type JSCloseParenChild = never;
|
||
|
|
||
|
export class JSOpenBrace extends SyntaxBase {
|
||
|
parentNode: null | JSOpenBraceParent = null;
|
||
|
kind: SyntaxKind.JSOpenBrace = SyntaxKind.JSOpenBrace;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSOpenBraceChild> { }
|
||
|
}
|
||
|
|
||
|
type JSOpenBraceParent = never;
|
||
|
|
||
|
type JSOpenBraceChild = never;
|
||
|
|
||
|
export class JSOpenBracket extends SyntaxBase {
|
||
|
parentNode: null | JSOpenBracketParent = null;
|
||
|
kind: SyntaxKind.JSOpenBracket = SyntaxKind.JSOpenBracket;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSOpenBracketChild> { }
|
||
|
}
|
||
|
|
||
|
type JSOpenBracketParent = never;
|
||
|
|
||
|
type JSOpenBracketChild = never;
|
||
|
|
||
|
export class JSOpenParen extends SyntaxBase {
|
||
|
parentNode: null | JSOpenParenParent = null;
|
||
|
kind: SyntaxKind.JSOpenParen = SyntaxKind.JSOpenParen;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSOpenParenChild> { }
|
||
|
}
|
||
|
|
||
|
type JSOpenParenParent = never;
|
||
|
|
||
|
type JSOpenParenChild = never;
|
||
|
|
||
|
export class JSSemi extends SyntaxBase {
|
||
|
parentNode: null | JSSemiParent = null;
|
||
|
kind: SyntaxKind.JSSemi = SyntaxKind.JSSemi;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSSemiChild> { }
|
||
|
}
|
||
|
|
||
|
type JSSemiParent = never;
|
||
|
|
||
|
type JSSemiChild = never;
|
||
|
|
||
|
export class JSComma extends SyntaxBase {
|
||
|
parentNode: null | JSCommaParent = null;
|
||
|
kind: SyntaxKind.JSComma = SyntaxKind.JSComma;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSCommaChild> { }
|
||
|
}
|
||
|
|
||
|
type JSCommaParent = never;
|
||
|
|
||
|
type JSCommaChild = never;
|
||
|
|
||
|
export class JSDot extends SyntaxBase {
|
||
|
parentNode: null | JSDotParent = null;
|
||
|
kind: SyntaxKind.JSDot = SyntaxKind.JSDot;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSDotChild> { }
|
||
|
}
|
||
|
|
||
|
type JSDotParent = never;
|
||
|
|
||
|
type JSDotChild = never;
|
||
|
|
||
|
export class JSDotDotDot extends SyntaxBase {
|
||
|
parentNode: null | JSDotDotDotParent = null;
|
||
|
kind: SyntaxKind.JSDotDotDot = SyntaxKind.JSDotDotDot;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSDotDotDotChild> { }
|
||
|
}
|
||
|
|
||
|
type JSDotDotDotParent = never;
|
||
|
|
||
|
type JSDotDotDotChild = never;
|
||
|
|
||
|
export class JSMulOp extends SyntaxBase {
|
||
|
parentNode: null | JSMulOpParent = null;
|
||
|
kind: SyntaxKind.JSMulOp = SyntaxKind.JSMulOp;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSMulOpChild> { }
|
||
|
}
|
||
|
|
||
|
type JSMulOpParent = never;
|
||
|
|
||
|
type JSMulOpChild = never;
|
||
|
|
||
|
export class JSAddOp extends SyntaxBase {
|
||
|
parentNode: null | JSAddOpParent = null;
|
||
|
kind: SyntaxKind.JSAddOp = SyntaxKind.JSAddOp;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSAddOpChild> { }
|
||
|
}
|
||
|
|
||
|
type JSAddOpParent = never;
|
||
|
|
||
|
type JSAddOpChild = never;
|
||
|
|
||
|
export class JSDivOp extends SyntaxBase {
|
||
|
parentNode: null | JSDivOpParent = null;
|
||
|
kind: SyntaxKind.JSDivOp = SyntaxKind.JSDivOp;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSDivOpChild> { }
|
||
|
}
|
||
|
|
||
|
type JSDivOpParent = never;
|
||
|
|
||
|
type JSDivOpChild = never;
|
||
|
|
||
|
export class JSSubOp extends SyntaxBase {
|
||
|
parentNode: null | JSSubOpParent = null;
|
||
|
kind: SyntaxKind.JSSubOp = SyntaxKind.JSSubOp;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSSubOpChild> { }
|
||
|
}
|
||
|
|
||
|
type JSSubOpParent = never;
|
||
|
|
||
|
type JSSubOpChild = never;
|
||
|
|
||
|
export class JSLtOp extends SyntaxBase {
|
||
|
parentNode: null | JSLtOpParent = null;
|
||
|
kind: SyntaxKind.JSLtOp = SyntaxKind.JSLtOp;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSLtOpChild> { }
|
||
|
}
|
||
|
|
||
|
type JSLtOpParent = never;
|
||
|
|
||
|
type JSLtOpChild = never;
|
||
|
|
||
|
export class JSGtOp extends SyntaxBase {
|
||
|
parentNode: null | JSGtOpParent = null;
|
||
|
kind: SyntaxKind.JSGtOp = SyntaxKind.JSGtOp;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSGtOpChild> { }
|
||
|
}
|
||
|
|
||
|
type JSGtOpParent = never;
|
||
|
|
||
|
type JSGtOpChild = never;
|
||
|
|
||
|
export class JSBOrOp extends SyntaxBase {
|
||
|
parentNode: null | JSBOrOpParent = null;
|
||
|
kind: SyntaxKind.JSBOrOp = SyntaxKind.JSBOrOp;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSBOrOpChild> { }
|
||
|
}
|
||
|
|
||
|
type JSBOrOpParent = never;
|
||
|
|
||
|
type JSBOrOpChild = never;
|
||
|
|
||
|
export class JSBXorOp extends SyntaxBase {
|
||
|
parentNode: null | JSBXorOpParent = null;
|
||
|
kind: SyntaxKind.JSBXorOp = SyntaxKind.JSBXorOp;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSBXorOpChild> { }
|
||
|
}
|
||
|
|
||
|
type JSBXorOpParent = never;
|
||
|
|
||
|
type JSBXorOpChild = never;
|
||
|
|
||
|
export class JSBAndOp extends SyntaxBase {
|
||
|
parentNode: null | JSBAndOpParent = null;
|
||
|
kind: SyntaxKind.JSBAndOp = SyntaxKind.JSBAndOp;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSBAndOpChild> { }
|
||
|
}
|
||
|
|
||
|
type JSBAndOpParent = never;
|
||
|
|
||
|
type JSBAndOpChild = never;
|
||
|
|
||
|
export class JSBNotOp extends SyntaxBase {
|
||
|
parentNode: null | JSBNotOpParent = null;
|
||
|
kind: SyntaxKind.JSBNotOp = SyntaxKind.JSBNotOp;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSBNotOpChild> { }
|
||
|
}
|
||
|
|
||
|
type JSBNotOpParent = never;
|
||
|
|
||
|
type JSBNotOpChild = never;
|
||
|
|
||
|
export class JSNotOp extends SyntaxBase {
|
||
|
parentNode: null | JSNotOpParent = null;
|
||
|
kind: SyntaxKind.JSNotOp = SyntaxKind.JSNotOp;
|
||
|
constructor(span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSNotOpChild> { }
|
||
|
}
|
||
|
|
||
|
type JSNotOpParent = never;
|
||
|
|
||
|
type JSNotOpChild = never;
|
||
|
|
||
|
export type JSPattern = JSBindPattern;
|
||
|
|
||
|
export class JSBindPattern extends SyntaxBase {
|
||
|
parentNode: null | JSBindPatternParent = null;
|
||
|
kind: SyntaxKind.JSBindPattern = SyntaxKind.JSBindPattern;
|
||
|
constructor(public name: JSIdentifier, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSBindPatternChild> { yield this.name; }
|
||
|
}
|
||
|
|
||
|
type JSBindPatternParent = JSCatchBlock | JSParameter | JSLetDeclaration | never;
|
||
|
|
||
|
type JSBindPatternChild = JSIdentifier | never;
|
||
|
|
||
|
export type JSExpression = JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression;
|
||
|
|
||
|
export class JSConstantExpression extends SyntaxBase {
|
||
|
parentNode: null | JSConstantExpressionParent = null;
|
||
|
kind: SyntaxKind.JSConstantExpression = SyntaxKind.JSConstantExpression;
|
||
|
constructor(public value: Value, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSConstantExpressionChild> { }
|
||
|
}
|
||
|
|
||
|
type JSConstantExpressionParent = JSMemberExpression | JSCallExpression | JSBinaryExpression | JSUnaryExpression | JSNewExpression | JSSequenceExpression | JSConditionalExpression | JSExpressionStatement | JSConditionalCase | JSReturnStatement | JSParameter | JSArrowFunctionDeclaration | JSLetDeclaration | never;
|
||
|
|
||
|
type JSConstantExpressionChild = never;
|
||
|
|
||
|
export class JSMemberExpression extends SyntaxBase {
|
||
|
parentNode: null | JSMemberExpressionParent = null;
|
||
|
kind: SyntaxKind.JSMemberExpression = SyntaxKind.JSMemberExpression;
|
||
|
constructor(public value: JSExpression, public property: JSIdentifier, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSMemberExpressionChild> { yield this.value; yield this.property; }
|
||
|
}
|
||
|
|
||
|
type JSMemberExpressionParent = JSMemberExpression | JSCallExpression | JSBinaryExpression | JSUnaryExpression | JSNewExpression | JSSequenceExpression | JSConditionalExpression | JSExpressionStatement | JSConditionalCase | JSReturnStatement | JSParameter | JSArrowFunctionDeclaration | JSLetDeclaration | never;
|
||
|
|
||
|
type JSMemberExpressionChild = JSIdentifier | JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | never;
|
||
|
|
||
|
export class JSCallExpression extends SyntaxBase {
|
||
|
parentNode: null | JSCallExpressionParent = null;
|
||
|
kind: SyntaxKind.JSCallExpression = SyntaxKind.JSCallExpression;
|
||
|
constructor(public operator: JSExpression, public operands: JSExpression[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSCallExpressionChild> { yield this.operator; for (let element of this.operands)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type JSCallExpressionParent = JSMemberExpression | JSCallExpression | JSBinaryExpression | JSUnaryExpression | JSNewExpression | JSSequenceExpression | JSConditionalExpression | JSExpressionStatement | JSConditionalCase | JSReturnStatement | JSParameter | JSArrowFunctionDeclaration | JSLetDeclaration | never;
|
||
|
|
||
|
type JSCallExpressionChild = JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | never;
|
||
|
|
||
|
export class JSBinaryExpression extends SyntaxBase {
|
||
|
parentNode: null | JSBinaryExpressionParent = null;
|
||
|
kind: SyntaxKind.JSBinaryExpression = SyntaxKind.JSBinaryExpression;
|
||
|
constructor(public left: JSExpression, public operator: JSOperator, public right: JSExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSBinaryExpressionChild> { yield this.left; yield this.operator; yield this.right; }
|
||
|
}
|
||
|
|
||
|
type JSBinaryExpressionParent = JSMemberExpression | JSCallExpression | JSBinaryExpression | JSUnaryExpression | JSNewExpression | JSSequenceExpression | JSConditionalExpression | JSExpressionStatement | JSConditionalCase | JSReturnStatement | JSParameter | JSArrowFunctionDeclaration | JSLetDeclaration | never;
|
||
|
|
||
|
type JSBinaryExpressionChild = JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | JSOperator | never;
|
||
|
|
||
|
export class JSUnaryExpression extends SyntaxBase {
|
||
|
parentNode: null | JSUnaryExpressionParent = null;
|
||
|
kind: SyntaxKind.JSUnaryExpression = SyntaxKind.JSUnaryExpression;
|
||
|
constructor(public operator: JSOperator, public operand: JSExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSUnaryExpressionChild> { yield this.operator; yield this.operand; }
|
||
|
}
|
||
|
|
||
|
type JSUnaryExpressionParent = JSMemberExpression | JSCallExpression | JSBinaryExpression | JSUnaryExpression | JSNewExpression | JSSequenceExpression | JSConditionalExpression | JSExpressionStatement | JSConditionalCase | JSReturnStatement | JSParameter | JSArrowFunctionDeclaration | JSLetDeclaration | never;
|
||
|
|
||
|
type JSUnaryExpressionChild = JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | JSOperator | never;
|
||
|
|
||
|
export class JSNewExpression extends SyntaxBase {
|
||
|
parentNode: null | JSNewExpressionParent = null;
|
||
|
kind: SyntaxKind.JSNewExpression = SyntaxKind.JSNewExpression;
|
||
|
constructor(public target: JSExpression, public args: JSExpression[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSNewExpressionChild> { yield this.target; for (let element of this.args)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type JSNewExpressionParent = JSMemberExpression | JSCallExpression | JSBinaryExpression | JSUnaryExpression | JSNewExpression | JSSequenceExpression | JSConditionalExpression | JSExpressionStatement | JSConditionalCase | JSReturnStatement | JSParameter | JSArrowFunctionDeclaration | JSLetDeclaration | never;
|
||
|
|
||
|
type JSNewExpressionChild = JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | never;
|
||
|
|
||
|
export class JSSequenceExpression extends SyntaxBase {
|
||
|
parentNode: null | JSSequenceExpressionParent = null;
|
||
|
kind: SyntaxKind.JSSequenceExpression = SyntaxKind.JSSequenceExpression;
|
||
|
constructor(public expressions: JSExpression[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSSequenceExpressionChild> { for (let element of this.expressions)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type JSSequenceExpressionParent = JSMemberExpression | JSCallExpression | JSBinaryExpression | JSUnaryExpression | JSNewExpression | JSSequenceExpression | JSConditionalExpression | JSExpressionStatement | JSConditionalCase | JSReturnStatement | JSParameter | JSArrowFunctionDeclaration | JSLetDeclaration | never;
|
||
|
|
||
|
type JSSequenceExpressionChild = JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | never;
|
||
|
|
||
|
export class JSConditionalExpression extends SyntaxBase {
|
||
|
parentNode: null | JSConditionalExpressionParent = null;
|
||
|
kind: SyntaxKind.JSConditionalExpression = SyntaxKind.JSConditionalExpression;
|
||
|
constructor(public test: JSExpression, public consequent: JSExpression, public alternate: JSExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSConditionalExpressionChild> { yield this.test; yield this.consequent; yield this.alternate; }
|
||
|
}
|
||
|
|
||
|
type JSConditionalExpressionParent = JSMemberExpression | JSCallExpression | JSBinaryExpression | JSUnaryExpression | JSNewExpression | JSSequenceExpression | JSConditionalExpression | JSExpressionStatement | JSConditionalCase | JSReturnStatement | JSParameter | JSArrowFunctionDeclaration | JSLetDeclaration | never;
|
||
|
|
||
|
type JSConditionalExpressionChild = JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | never;
|
||
|
|
||
|
export class JSLiteralExpression extends SyntaxBase {
|
||
|
parentNode: null | JSLiteralExpressionParent = null;
|
||
|
kind: SyntaxKind.JSLiteralExpression = SyntaxKind.JSLiteralExpression;
|
||
|
constructor(public value: Value, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSLiteralExpressionChild> { }
|
||
|
}
|
||
|
|
||
|
type JSLiteralExpressionParent = JSMemberExpression | JSCallExpression | JSBinaryExpression | JSUnaryExpression | JSNewExpression | JSSequenceExpression | JSConditionalExpression | JSExpressionStatement | JSConditionalCase | JSReturnStatement | JSParameter | JSArrowFunctionDeclaration | JSLetDeclaration | never;
|
||
|
|
||
|
type JSLiteralExpressionChild = never;
|
||
|
|
||
|
export class JSReferenceExpression extends SyntaxBase {
|
||
|
parentNode: null | JSReferenceExpressionParent = null;
|
||
|
kind: SyntaxKind.JSReferenceExpression = SyntaxKind.JSReferenceExpression;
|
||
|
constructor(public name: string, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSReferenceExpressionChild> { }
|
||
|
}
|
||
|
|
||
|
type JSReferenceExpressionParent = JSMemberExpression | JSCallExpression | JSBinaryExpression | JSUnaryExpression | JSNewExpression | JSSequenceExpression | JSConditionalExpression | JSExpressionStatement | JSConditionalCase | JSReturnStatement | JSParameter | JSArrowFunctionDeclaration | JSLetDeclaration | never;
|
||
|
|
||
|
type JSReferenceExpressionChild = never;
|
||
|
|
||
|
export type JSSourceElement = JSLetDeclaration | JSArrowFunctionDeclaration | JSFunctionDeclaration | JSImportDeclaration | JSReturnStatement | JSConditionalStatement | JSExpressionStatement | JSTryCatchStatement;
|
||
|
|
||
|
export type JSFunctionBodyElement = JSLetDeclaration | JSArrowFunctionDeclaration | JSFunctionDeclaration | JSImportDeclaration | JSReturnStatement | JSConditionalStatement | JSExpressionStatement | JSTryCatchStatement;
|
||
|
|
||
|
export type JSStatement = JSReturnStatement | JSConditionalStatement | JSExpressionStatement | JSTryCatchStatement;
|
||
|
|
||
|
export class JSCatchBlock extends SyntaxBase {
|
||
|
parentNode: null | JSCatchBlockParent = null;
|
||
|
kind: SyntaxKind.JSCatchBlock = SyntaxKind.JSCatchBlock;
|
||
|
constructor(public bindings: JSPattern | null, public elements: JSSourceElement[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSCatchBlockChild> { if (this.bindings !== null)
|
||
|
yield this.bindings; for (let element of this.elements)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type JSCatchBlockParent = JSTryCatchStatement | never;
|
||
|
|
||
|
type JSCatchBlockChild = JSLetDeclaration | JSArrowFunctionDeclaration | JSFunctionDeclaration | JSImportDeclaration | JSReturnStatement | JSConditionalStatement | JSExpressionStatement | JSTryCatchStatement | JSBindPattern | never;
|
||
|
|
||
|
export class JSTryCatchStatement extends SyntaxBase {
|
||
|
parentNode: null | JSTryCatchStatementParent = null;
|
||
|
kind: SyntaxKind.JSTryCatchStatement = SyntaxKind.JSTryCatchStatement;
|
||
|
constructor(public tryBlock: JSSourceElement[], public catchBlock: JSCatchBlock | null, public finalBlock: JSSourceElement[] | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSTryCatchStatementChild> { for (let element of this.tryBlock)
|
||
|
yield element; if (this.catchBlock !== null)
|
||
|
yield this.catchBlock; if (this.finalBlock !== null)
|
||
|
for (let element of this.finalBlock)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type JSTryCatchStatementParent = JSCatchBlock | JSTryCatchStatement | JSConditionalCase | JSFunctionDeclaration | JSSourceFile | never;
|
||
|
|
||
|
type JSTryCatchStatementChild = JSLetDeclaration | JSArrowFunctionDeclaration | JSFunctionDeclaration | JSImportDeclaration | JSReturnStatement | JSConditionalStatement | JSExpressionStatement | JSTryCatchStatement | JSCatchBlock | never;
|
||
|
|
||
|
export class JSExpressionStatement extends SyntaxBase {
|
||
|
parentNode: null | JSExpressionStatementParent = null;
|
||
|
kind: SyntaxKind.JSExpressionStatement = SyntaxKind.JSExpressionStatement;
|
||
|
constructor(public expression: JSExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSExpressionStatementChild> { yield this.expression; }
|
||
|
}
|
||
|
|
||
|
type JSExpressionStatementParent = JSCatchBlock | JSTryCatchStatement | JSConditionalCase | JSFunctionDeclaration | JSSourceFile | never;
|
||
|
|
||
|
type JSExpressionStatementChild = JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | never;
|
||
|
|
||
|
export class JSConditionalCase extends SyntaxBase {
|
||
|
parentNode: null | JSConditionalCaseParent = null;
|
||
|
kind: SyntaxKind.JSConditionalCase = SyntaxKind.JSConditionalCase;
|
||
|
constructor(public test: JSExpression | null, public body: JSFunctionBodyElement[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSConditionalCaseChild> { if (this.test !== null)
|
||
|
yield this.test; for (let element of this.body)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type JSConditionalCaseParent = JSConditionalStatement | never;
|
||
|
|
||
|
type JSConditionalCaseChild = JSLetDeclaration | JSArrowFunctionDeclaration | JSFunctionDeclaration | JSImportDeclaration | JSReturnStatement | JSConditionalStatement | JSExpressionStatement | JSTryCatchStatement | JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | never;
|
||
|
|
||
|
export class JSConditionalStatement extends SyntaxBase {
|
||
|
parentNode: null | JSConditionalStatementParent = null;
|
||
|
kind: SyntaxKind.JSConditionalStatement = SyntaxKind.JSConditionalStatement;
|
||
|
constructor(public cases: JSConditionalCase[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSConditionalStatementChild> { for (let element of this.cases)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type JSConditionalStatementParent = JSCatchBlock | JSTryCatchStatement | JSConditionalCase | JSFunctionDeclaration | JSSourceFile | never;
|
||
|
|
||
|
type JSConditionalStatementChild = JSConditionalCase | never;
|
||
|
|
||
|
export class JSReturnStatement extends SyntaxBase {
|
||
|
parentNode: null | JSReturnStatementParent = null;
|
||
|
kind: SyntaxKind.JSReturnStatement = SyntaxKind.JSReturnStatement;
|
||
|
constructor(public value: JSExpression | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSReturnStatementChild> { if (this.value !== null)
|
||
|
yield this.value; }
|
||
|
}
|
||
|
|
||
|
type JSReturnStatementParent = JSCatchBlock | JSTryCatchStatement | JSConditionalCase | JSFunctionDeclaration | JSSourceFile | never;
|
||
|
|
||
|
type JSReturnStatementChild = JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | never;
|
||
|
|
||
|
export class JSParameter extends SyntaxBase {
|
||
|
parentNode: null | JSParameterParent = null;
|
||
|
kind: SyntaxKind.JSParameter = SyntaxKind.JSParameter;
|
||
|
constructor(public index: number, public bindings: JSPattern, public defaultValue: JSExpression | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSParameterChild> { yield this.bindings; if (this.defaultValue !== null)
|
||
|
yield this.defaultValue; }
|
||
|
}
|
||
|
|
||
|
type JSParameterParent = JSFunctionDeclaration | JSArrowFunctionDeclaration | never;
|
||
|
|
||
|
type JSParameterChild = JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | JSBindPattern | never;
|
||
|
|
||
|
export type JSDeclaration = JSLetDeclaration | JSArrowFunctionDeclaration | JSFunctionDeclaration | JSImportDeclaration;
|
||
|
|
||
|
export type JSImportBinding = JSImportAsBinding | JSImportStarBinding;
|
||
|
|
||
|
export class JSImportStarBinding extends SyntaxBase {
|
||
|
parentNode: null | JSImportStarBindingParent = null;
|
||
|
kind: SyntaxKind.JSImportStarBinding = SyntaxKind.JSImportStarBinding;
|
||
|
constructor(public local: JSIdentifier, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSImportStarBindingChild> { yield this.local; }
|
||
|
}
|
||
|
|
||
|
type JSImportStarBindingParent = JSImportDeclaration | never;
|
||
|
|
||
|
type JSImportStarBindingChild = JSIdentifier | never;
|
||
|
|
||
|
export class JSImportAsBinding extends SyntaxBase {
|
||
|
parentNode: null | JSImportAsBindingParent = null;
|
||
|
kind: SyntaxKind.JSImportAsBinding = SyntaxKind.JSImportAsBinding;
|
||
|
constructor(public remote: JSIdentifier, public local: JSIdentifier | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSImportAsBindingChild> { yield this.remote; if (this.local !== null)
|
||
|
yield this.local; }
|
||
|
}
|
||
|
|
||
|
type JSImportAsBindingParent = JSImportDeclaration | never;
|
||
|
|
||
|
type JSImportAsBindingChild = JSIdentifier | never;
|
||
|
|
||
|
export class JSImportDeclaration extends SyntaxBase {
|
||
|
parentNode: null | JSImportDeclarationParent = null;
|
||
|
kind: SyntaxKind.JSImportDeclaration = SyntaxKind.JSImportDeclaration;
|
||
|
constructor(public bindings: JSImportBinding[], public filename: JSString, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSImportDeclarationChild> { for (let element of this.bindings)
|
||
|
yield element; yield this.filename; }
|
||
|
}
|
||
|
|
||
|
type JSImportDeclarationParent = JSCatchBlock | JSTryCatchStatement | JSConditionalCase | JSSourceFile | never;
|
||
|
|
||
|
type JSImportDeclarationChild = JSString | JSImportAsBinding | JSImportStarBinding | never;
|
||
|
|
||
|
export class JSFunctionDeclaration extends SyntaxBase {
|
||
|
parentNode: null | JSFunctionDeclarationParent = null;
|
||
|
kind: SyntaxKind.JSFunctionDeclaration = SyntaxKind.JSFunctionDeclaration;
|
||
|
constructor(public modifiers: JSDeclarationModifiers, public name: JSIdentifier, public params: JSParameter[], public body: JSStatement[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSFunctionDeclarationChild> { yield this.name; for (let element of this.params)
|
||
|
yield element; for (let element of this.body)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type JSFunctionDeclarationParent = JSCatchBlock | JSTryCatchStatement | JSConditionalCase | JSSourceFile | never;
|
||
|
|
||
|
type JSFunctionDeclarationChild = JSReturnStatement | JSConditionalStatement | JSExpressionStatement | JSTryCatchStatement | JSParameter | JSIdentifier | never;
|
||
|
|
||
|
export class JSArrowFunctionDeclaration extends SyntaxBase {
|
||
|
parentNode: null | JSArrowFunctionDeclarationParent = null;
|
||
|
kind: SyntaxKind.JSArrowFunctionDeclaration = SyntaxKind.JSArrowFunctionDeclaration;
|
||
|
constructor(public name: JSIdentifier, public params: JSParameter[], public body: JSExpression, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSArrowFunctionDeclarationChild> { yield this.name; for (let element of this.params)
|
||
|
yield element; yield this.body; }
|
||
|
}
|
||
|
|
||
|
type JSArrowFunctionDeclarationParent = JSCatchBlock | JSTryCatchStatement | JSConditionalCase | JSSourceFile | never;
|
||
|
|
||
|
type JSArrowFunctionDeclarationChild = JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | JSParameter | JSIdentifier | never;
|
||
|
|
||
|
export class JSLetDeclaration extends SyntaxBase {
|
||
|
parentNode: null | JSLetDeclarationParent = null;
|
||
|
kind: SyntaxKind.JSLetDeclaration = SyntaxKind.JSLetDeclaration;
|
||
|
constructor(public bindings: JSPattern, public value: JSExpression | null, span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSLetDeclarationChild> { yield this.bindings; if (this.value !== null)
|
||
|
yield this.value; }
|
||
|
}
|
||
|
|
||
|
type JSLetDeclarationParent = JSCatchBlock | JSTryCatchStatement | JSConditionalCase | JSSourceFile | never;
|
||
|
|
||
|
type JSLetDeclarationChild = JSReferenceExpression | JSLiteralExpression | JSConditionalExpression | JSSequenceExpression | JSNewExpression | JSUnaryExpression | JSBinaryExpression | JSCallExpression | JSMemberExpression | JSConstantExpression | JSBindPattern | never;
|
||
|
|
||
|
export class JSSourceFile extends SyntaxBase {
|
||
|
parentNode: null | JSSourceFileParent = null;
|
||
|
kind: SyntaxKind.JSSourceFile = SyntaxKind.JSSourceFile;
|
||
|
constructor(public elements: JSSourceElement[], span: TextSpan | null = null) { super(span); }
|
||
|
*getChildNodes(): IterableIterator<JSSourceFileChild> { for (let element of this.elements)
|
||
|
yield element; }
|
||
|
}
|
||
|
|
||
|
type JSSourceFileParent = never;
|
||
|
|
||
|
type JSSourceFileChild = JSLetDeclaration | JSArrowFunctionDeclaration | JSFunctionDeclaration | JSImportDeclaration | JSReturnStatement | JSConditionalStatement | JSExpressionStatement | JSTryCatchStatement | never;
|
||
|
|
||
|
export function createEndOfFile(span: TextSpan | null = null): EndOfFile { return new EndOfFile(span); }
|
||
|
|
||
|
export function createBoltStringLiteral(value: string, span: TextSpan | null = null): BoltStringLiteral { return new BoltStringLiteral(value, span); }
|
||
|
|
||
|
export function createBoltIntegerLiteral(value: bigint, span: TextSpan | null = null): BoltIntegerLiteral { return new BoltIntegerLiteral(value, span); }
|
||
|
|
||
|
export function createBoltIdentifier(text: string, span: TextSpan | null = null): BoltIdentifier { return new BoltIdentifier(text, span); }
|
||
|
|
||
|
export function createBoltOperator(text: string, span: TextSpan | null = null): BoltOperator { return new BoltOperator(text, span); }
|
||
|
|
||
|
export function createBoltAssignment(operator: string | null, span: TextSpan | null = null): BoltAssignment { return new BoltAssignment(operator, span); }
|
||
|
|
||
|
export function createBoltComma(span: TextSpan | null = null): BoltComma { return new BoltComma(span); }
|
||
|
|
||
|
export function createBoltSemi(span: TextSpan | null = null): BoltSemi { return new BoltSemi(span); }
|
||
|
|
||
|
export function createBoltColon(span: TextSpan | null = null): BoltColon { return new BoltColon(span); }
|
||
|
|
||
|
export function createBoltColonColon(span: TextSpan | null = null): BoltColonColon { return new BoltColonColon(span); }
|
||
|
|
||
|
export function createBoltDot(span: TextSpan | null = null): BoltDot { return new BoltDot(span); }
|
||
|
|
||
|
export function createBoltDotDot(span: TextSpan | null = null): BoltDotDot { return new BoltDotDot(span); }
|
||
|
|
||
|
export function createBoltRArrow(span: TextSpan | null = null): BoltRArrow { return new BoltRArrow(span); }
|
||
|
|
||
|
export function createBoltRArrowAlt(span: TextSpan | null = null): BoltRArrowAlt { return new BoltRArrowAlt(span); }
|
||
|
|
||
|
export function createBoltLArrow(span: TextSpan | null = null): BoltLArrow { return new BoltLArrow(span); }
|
||
|
|
||
|
export function createBoltEqSign(span: TextSpan | null = null): BoltEqSign { return new BoltEqSign(span); }
|
||
|
|
||
|
export function createBoltGtSign(span: TextSpan | null = null): BoltGtSign { return new BoltGtSign(span); }
|
||
|
|
||
|
export function createBoltExMark(span: TextSpan | null = null): BoltExMark { return new BoltExMark(span); }
|
||
|
|
||
|
export function createBoltLtSign(span: TextSpan | null = null): BoltLtSign { return new BoltLtSign(span); }
|
||
|
|
||
|
export function createBoltVBar(span: TextSpan | null = null): BoltVBar { return new BoltVBar(span); }
|
||
|
|
||
|
export function createBoltWhereKeyword(span: TextSpan | null = null): BoltWhereKeyword { return new BoltWhereKeyword(span); }
|
||
|
|
||
|
export function createBoltQuoteKeyword(span: TextSpan | null = null): BoltQuoteKeyword { return new BoltQuoteKeyword(span); }
|
||
|
|
||
|
export function createBoltFnKeyword(span: TextSpan | null = null): BoltFnKeyword { return new BoltFnKeyword(span); }
|
||
|
|
||
|
export function createBoltForeignKeyword(span: TextSpan | null = null): BoltForeignKeyword { return new BoltForeignKeyword(span); }
|
||
|
|
||
|
export function createBoltForKeyword(span: TextSpan | null = null): BoltForKeyword { return new BoltForKeyword(span); }
|
||
|
|
||
|
export function createBoltLetKeyword(span: TextSpan | null = null): BoltLetKeyword { return new BoltLetKeyword(span); }
|
||
|
|
||
|
export function createBoltReturnKeyword(span: TextSpan | null = null): BoltReturnKeyword { return new BoltReturnKeyword(span); }
|
||
|
|
||
|
export function createBoltLoopKeyword(span: TextSpan | null = null): BoltLoopKeyword { return new BoltLoopKeyword(span); }
|
||
|
|
||
|
export function createBoltYieldKeyword(span: TextSpan | null = null): BoltYieldKeyword { return new BoltYieldKeyword(span); }
|
||
|
|
||
|
export function createBoltMatchKeyword(span: TextSpan | null = null): BoltMatchKeyword { return new BoltMatchKeyword(span); }
|
||
|
|
||
|
export function createBoltImportKeyword(span: TextSpan | null = null): BoltImportKeyword { return new BoltImportKeyword(span); }
|
||
|
|
||
|
export function createBoltExportKeyword(span: TextSpan | null = null): BoltExportKeyword { return new BoltExportKeyword(span); }
|
||
|
|
||
|
export function createBoltPubKeyword(span: TextSpan | null = null): BoltPubKeyword { return new BoltPubKeyword(span); }
|
||
|
|
||
|
export function createBoltModKeyword(span: TextSpan | null = null): BoltModKeyword { return new BoltModKeyword(span); }
|
||
|
|
||
|
export function createBoltMutKeyword(span: TextSpan | null = null): BoltMutKeyword { return new BoltMutKeyword(span); }
|
||
|
|
||
|
export function createBoltEnumKeyword(span: TextSpan | null = null): BoltEnumKeyword { return new BoltEnumKeyword(span); }
|
||
|
|
||
|
export function createBoltStructKeyword(span: TextSpan | null = null): BoltStructKeyword { return new BoltStructKeyword(span); }
|
||
|
|
||
|
export function createBoltTypeKeyword(span: TextSpan | null = null): BoltTypeKeyword { return new BoltTypeKeyword(span); }
|
||
|
|
||
|
export function createBoltTraitKeyword(span: TextSpan | null = null): BoltTraitKeyword { return new BoltTraitKeyword(span); }
|
||
|
|
||
|
export function createBoltImplKeyword(span: TextSpan | null = null): BoltImplKeyword { return new BoltImplKeyword(span); }
|
||
|
|
||
|
export function createBoltParenthesized(text: string, span: TextSpan | null = null): BoltParenthesized { return new BoltParenthesized(text, span); }
|
||
|
|
||
|
export function createBoltBraced(text: string, span: TextSpan | null = null): BoltBraced { return new BoltBraced(text, span); }
|
||
|
|
||
|
export function createBoltBracketed(text: string, span: TextSpan | null = null): BoltBracketed { return new BoltBracketed(text, span); }
|
||
|
|
||
|
export function createBoltSourceFile(elements: BoltSourceElement[], pkg: Package, span: TextSpan | null = null): BoltSourceFile { return new BoltSourceFile(elements, pkg, span); }
|
||
|
|
||
|
export function createBoltQualName(isAbsolute: boolean, modulePath: BoltIdentifier[], name: BoltSymbol, span: TextSpan | null = null): BoltQualName { return new BoltQualName(isAbsolute, modulePath, name, span); }
|
||
|
|
||
|
export function createBoltTypeOfExpression(expression: BoltExpression, span: TextSpan | null = null): BoltTypeOfExpression { return new BoltTypeOfExpression(expression, span); }
|
||
|
|
||
|
export function createBoltReferenceTypeExpression(name: BoltQualName, typeArgs: BoltTypeExpression[] | null, span: TextSpan | null = null): BoltReferenceTypeExpression { return new BoltReferenceTypeExpression(name, typeArgs, span); }
|
||
|
|
||
|
export function createBoltFunctionTypeExpression(params: BoltParameter[], returnType: BoltTypeExpression | null, span: TextSpan | null = null): BoltFunctionTypeExpression { return new BoltFunctionTypeExpression(params, returnType, span); }
|
||
|
|
||
|
export function createBoltLiftedTypeExpression(expression: BoltExpression, span: TextSpan | null = null): BoltLiftedTypeExpression { return new BoltLiftedTypeExpression(expression, span); }
|
||
|
|
||
|
export function createBoltTypeParameter(index: number, name: BoltIdentifier, typeExpr: BoltTypeExpression | null, defaultType: BoltTypeExpression | null, span: TextSpan | null = null): BoltTypeParameter { return new BoltTypeParameter(index, name, typeExpr, defaultType, span); }
|
||
|
|
||
|
export function createBoltBindPattern(name: BoltIdentifier, span: TextSpan | null = null): BoltBindPattern { return new BoltBindPattern(name, span); }
|
||
|
|
||
|
export function createBoltTypePattern(typeExpr: BoltTypeExpression, nestedPattern: BoltPattern, span: TextSpan | null = null): BoltTypePattern { return new BoltTypePattern(typeExpr, nestedPattern, span); }
|
||
|
|
||
|
export function createBoltExpressionPattern(expression: BoltExpression, span: TextSpan | null = null): BoltExpressionPattern { return new BoltExpressionPattern(expression, span); }
|
||
|
|
||
|
export function createBoltTuplePatternElement(index: number, pattern: BoltPattern, span: TextSpan | null = null): BoltTuplePatternElement { return new BoltTuplePatternElement(index, pattern, span); }
|
||
|
|
||
|
export function createBoltTuplePattern(elements: BoltTuplePatternElement[], span: TextSpan | null = null): BoltTuplePattern { return new BoltTuplePattern(elements, span); }
|
||
|
|
||
|
export function createBoltRecordFieldPattern(isRest: boolean, name: BoltIdentifier | null, pattern: BoltPattern | null, span: TextSpan | null = null): BoltRecordFieldPattern { return new BoltRecordFieldPattern(isRest, name, pattern, span); }
|
||
|
|
||
|
export function createBoltRecordPattern(name: BoltTypeExpression, fields: BoltRecordFieldPattern[], span: TextSpan | null = null): BoltRecordPattern { return new BoltRecordPattern(name, fields, span); }
|
||
|
|
||
|
export function createBoltQuoteExpression(tokens: (Token | BoltExpression)[], span: TextSpan | null = null): BoltQuoteExpression { return new BoltQuoteExpression(tokens, span); }
|
||
|
|
||
|
export function createBoltTupleExpression(elements: BoltExpression[], span: TextSpan | null = null): BoltTupleExpression { return new BoltTupleExpression(elements, span); }
|
||
|
|
||
|
export function createBoltReferenceExpression(name: BoltQualName, span: TextSpan | null = null): BoltReferenceExpression { return new BoltReferenceExpression(name, span); }
|
||
|
|
||
|
export function createBoltMemberExpression(expression: BoltExpression, path: BoltIdentifier[], span: TextSpan | null = null): BoltMemberExpression { return new BoltMemberExpression(expression, path, span); }
|
||
|
|
||
|
export function createBoltFunctionExpression(params: BoltParameter[], returnType: BoltTypeExpression | null, body: BoltFunctionBodyElement[], span: TextSpan | null = null): BoltFunctionExpression { return new BoltFunctionExpression(params, returnType, body, span); }
|
||
|
|
||
|
export function createBoltCallExpression(operator: BoltExpression, operands: BoltExpression[], span: TextSpan | null = null): BoltCallExpression { return new BoltCallExpression(operator, operands, span); }
|
||
|
|
||
|
export function createBoltYieldExpression(value: BoltExpression, span: TextSpan | null = null): BoltYieldExpression { return new BoltYieldExpression(value, span); }
|
||
|
|
||
|
export function createBoltMatchArm(pattern: BoltPattern, body: BoltExpression, span: TextSpan | null = null): BoltMatchArm { return new BoltMatchArm(pattern, body, span); }
|
||
|
|
||
|
export function createBoltMatchExpression(value: BoltExpression, arms: BoltMatchArm[], span: TextSpan | null = null): BoltMatchExpression { return new BoltMatchExpression(value, arms, span); }
|
||
|
|
||
|
export function createBoltCase(test: BoltExpression, result: BoltExpression, span: TextSpan | null = null): BoltCase { return new BoltCase(test, result, span); }
|
||
|
|
||
|
export function createBoltCaseExpression(cases: BoltCase[], span: TextSpan | null = null): BoltCaseExpression { return new BoltCaseExpression(cases, span); }
|
||
|
|
||
|
export function createBoltBlockExpression(elements: BoltFunctionBodyElement[], span: TextSpan | null = null): BoltBlockExpression { return new BoltBlockExpression(elements, span); }
|
||
|
|
||
|
export function createBoltConstantExpression(value: Value, span: TextSpan | null = null): BoltConstantExpression { return new BoltConstantExpression(value, span); }
|
||
|
|
||
|
export function createBoltReturnStatement(value: BoltExpression | null, span: TextSpan | null = null): BoltReturnStatement { return new BoltReturnStatement(value, span); }
|
||
|
|
||
|
export function createBoltConditionalCase(test: BoltExpression | null, body: BoltFunctionBodyElement[], span: TextSpan | null = null): BoltConditionalCase { return new BoltConditionalCase(test, body, span); }
|
||
|
|
||
|
export function createBoltConditionalStatement(cases: BoltConditionalCase[], span: TextSpan | null = null): BoltConditionalStatement { return new BoltConditionalStatement(cases, span); }
|
||
|
|
||
|
export function createBoltResumeStatement(value: BoltExpression, span: TextSpan | null = null): BoltResumeStatement { return new BoltResumeStatement(value, span); }
|
||
|
|
||
|
export function createBoltExpressionStatement(expression: BoltExpression, span: TextSpan | null = null): BoltExpressionStatement { return new BoltExpressionStatement(expression, span); }
|
||
|
|
||
|
export function createBoltLoopStatement(elements: BoltFunctionBodyElement[], span: TextSpan | null = null): BoltLoopStatement { return new BoltLoopStatement(elements, span); }
|
||
|
|
||
|
export function createBoltParameter(index: number, bindings: BoltPattern, typeExpr: BoltTypeExpression | null, defaultValue: BoltExpression | null, span: TextSpan | null = null): BoltParameter { return new BoltParameter(index, bindings, typeExpr, defaultValue, span); }
|
||
|
|
||
|
export function createBoltModule(modifiers: BoltModifiers, name: BoltIdentifier[], elements: BoltSourceElement[], span: TextSpan | null = null): BoltModule { return new BoltModule(modifiers, name, elements, span); }
|
||
|
|
||
|
export function createBoltFunctionDeclaration(modifiers: BoltModifiers, target: string, name: BoltSymbol, params: BoltParameter[], returnType: BoltTypeExpression | null, typeParams: BoltTypeParameter[] | null, body: BoltFunctionBodyElement[], span: TextSpan | null = null): BoltFunctionDeclaration { return new BoltFunctionDeclaration(modifiers, target, name, params, returnType, typeParams, body, span); }
|
||
|
|
||
|
export function createBoltVariableDeclaration(modifiers: BoltModifiers, bindings: BoltPattern, typeExpr: BoltTypeExpression | null, value: BoltExpression | null, span: TextSpan | null = null): BoltVariableDeclaration { return new BoltVariableDeclaration(modifiers, bindings, typeExpr, value, span); }
|
||
|
|
||
|
export function createBoltPlainImportSymbol(remote: BoltQualName, local: BoltSymbol, span: TextSpan | null = null): BoltPlainImportSymbol { return new BoltPlainImportSymbol(remote, local, span); }
|
||
|
|
||
|
export function createBoltImportDirective(modifiers: BoltModifiers, file: BoltStringLiteral, symbols: BoltImportSymbol[] | null, span: TextSpan | null = null): BoltImportDirective { return new BoltImportDirective(modifiers, file, symbols, span); }
|
||
|
|
||
|
export function createBoltPlainExportSymbol(local: BoltQualName, remote: BoltSymbol, span: TextSpan | null = null): BoltPlainExportSymbol { return new BoltPlainExportSymbol(local, remote, span); }
|
||
|
|
||
|
export function createBoltExportDirective(file: string, symbols: BoltExportSymbol[] | null, span: TextSpan | null = null): BoltExportDirective { return new BoltExportDirective(file, symbols, span); }
|
||
|
|
||
|
export function createBoltTraitDeclaration(modifiers: BoltModifiers, typeParams: BoltTypeParameter[] | null, name: BoltIdentifier, typeBoundExpr: BoltTypeExpression | null, elements: BoltTraitOrImplElement[] | null, span: TextSpan | null = null): BoltTraitDeclaration { return new BoltTraitDeclaration(modifiers, typeParams, name, typeBoundExpr, elements, span); }
|
||
|
|
||
|
export function createBoltImplDeclaration(modifiers: BoltModifiers, typeParams: BoltTypeParameter[] | null, name: BoltIdentifier, traitTypeExpr: BoltTypeExpression | null, elements: BoltTraitOrImplElement[], span: TextSpan | null = null): BoltImplDeclaration { return new BoltImplDeclaration(modifiers, typeParams, name, traitTypeExpr, elements, span); }
|
||
|
|
||
|
export function createBoltTypeAliasDeclaration(modifiers: BoltModifiers, name: BoltIdentifier, typeParams: BoltTypeParameter[] | null, typeExpr: BoltTypeExpression, span: TextSpan | null = null): BoltTypeAliasDeclaration { return new BoltTypeAliasDeclaration(modifiers, name, typeParams, typeExpr, span); }
|
||
|
|
||
|
export function createBoltRecordField(name: BoltIdentifier, typeExpr: BoltTypeExpression, span: TextSpan | null = null): BoltRecordField { return new BoltRecordField(name, typeExpr, span); }
|
||
|
|
||
|
export function createBoltRecordDeclaration(modifiers: BoltModifiers, name: BoltIdentifier, typeParms: BoltTypeParameter[] | null, members: BoltRecordMember[] | null, span: TextSpan | null = null): BoltRecordDeclaration { return new BoltRecordDeclaration(modifiers, name, typeParms, members, span); }
|
||
|
|
||
|
export function createBoltMacroCall(name: BoltIdentifier, text: string, span: TextSpan | null = null): BoltMacroCall { return new BoltMacroCall(name, text, span); }
|
||
|
|
||
|
export function createJSIdentifier(text: string, span: TextSpan | null = null): JSIdentifier { return new JSIdentifier(text, span); }
|
||
|
|
||
|
export function createJSString(value: string, span: TextSpan | null = null): JSString { return new JSString(value, span); }
|
||
|
|
||
|
export function createJSInteger(value: bigint, span: TextSpan | null = null): JSInteger { return new JSInteger(value, span); }
|
||
|
|
||
|
export function createJSFromKeyword(span: TextSpan | null = null): JSFromKeyword { return new JSFromKeyword(span); }
|
||
|
|
||
|
export function createJSReturnKeyword(span: TextSpan | null = null): JSReturnKeyword { return new JSReturnKeyword(span); }
|
||
|
|
||
|
export function createJSTryKeyword(span: TextSpan | null = null): JSTryKeyword { return new JSTryKeyword(span); }
|
||
|
|
||
|
export function createJSFinallyKeyword(span: TextSpan | null = null): JSFinallyKeyword { return new JSFinallyKeyword(span); }
|
||
|
|
||
|
export function createJSCatchKeyword(span: TextSpan | null = null): JSCatchKeyword { return new JSCatchKeyword(span); }
|
||
|
|
||
|
export function createJSImportKeyword(span: TextSpan | null = null): JSImportKeyword { return new JSImportKeyword(span); }
|
||
|
|
||
|
export function createJSAsKeyword(span: TextSpan | null = null): JSAsKeyword { return new JSAsKeyword(span); }
|
||
|
|
||
|
export function createJSConstKeyword(span: TextSpan | null = null): JSConstKeyword { return new JSConstKeyword(span); }
|
||
|
|
||
|
export function createJSLetKeyword(span: TextSpan | null = null): JSLetKeyword { return new JSLetKeyword(span); }
|
||
|
|
||
|
export function createJSExportKeyword(span: TextSpan | null = null): JSExportKeyword { return new JSExportKeyword(span); }
|
||
|
|
||
|
export function createJSFunctionKeyword(span: TextSpan | null = null): JSFunctionKeyword { return new JSFunctionKeyword(span); }
|
||
|
|
||
|
export function createJSWhileKeyword(span: TextSpan | null = null): JSWhileKeyword { return new JSWhileKeyword(span); }
|
||
|
|
||
|
export function createJSForKeyword(span: TextSpan | null = null): JSForKeyword { return new JSForKeyword(span); }
|
||
|
|
||
|
export function createJSOperator(text: string, span: TextSpan | null = null): JSOperator { return new JSOperator(text, span); }
|
||
|
|
||
|
export function createJSCloseBrace(span: TextSpan | null = null): JSCloseBrace { return new JSCloseBrace(span); }
|
||
|
|
||
|
export function createJSCloseBracket(span: TextSpan | null = null): JSCloseBracket { return new JSCloseBracket(span); }
|
||
|
|
||
|
export function createJSCloseParen(span: TextSpan | null = null): JSCloseParen { return new JSCloseParen(span); }
|
||
|
|
||
|
export function createJSOpenBrace(span: TextSpan | null = null): JSOpenBrace { return new JSOpenBrace(span); }
|
||
|
|
||
|
export function createJSOpenBracket(span: TextSpan | null = null): JSOpenBracket { return new JSOpenBracket(span); }
|
||
|
|
||
|
export function createJSOpenParen(span: TextSpan | null = null): JSOpenParen { return new JSOpenParen(span); }
|
||
|
|
||
|
export function createJSSemi(span: TextSpan | null = null): JSSemi { return new JSSemi(span); }
|
||
|
|
||
|
export function createJSComma(span: TextSpan | null = null): JSComma { return new JSComma(span); }
|
||
|
|
||
|
export function createJSDot(span: TextSpan | null = null): JSDot { return new JSDot(span); }
|
||
|
|
||
|
export function createJSDotDotDot(span: TextSpan | null = null): JSDotDotDot { return new JSDotDotDot(span); }
|
||
|
|
||
|
export function createJSMulOp(span: TextSpan | null = null): JSMulOp { return new JSMulOp(span); }
|
||
|
|
||
|
export function createJSAddOp(span: TextSpan | null = null): JSAddOp { return new JSAddOp(span); }
|
||
|
|
||
|
export function createJSDivOp(span: TextSpan | null = null): JSDivOp { return new JSDivOp(span); }
|
||
|
|
||
|
export function createJSSubOp(span: TextSpan | null = null): JSSubOp { return new JSSubOp(span); }
|
||
|
|
||
|
export function createJSLtOp(span: TextSpan | null = null): JSLtOp { return new JSLtOp(span); }
|
||
|
|
||
|
export function createJSGtOp(span: TextSpan | null = null): JSGtOp { return new JSGtOp(span); }
|
||
|
|
||
|
export function createJSBOrOp(span: TextSpan | null = null): JSBOrOp { return new JSBOrOp(span); }
|
||
|
|
||
|
export function createJSBXorOp(span: TextSpan | null = null): JSBXorOp { return new JSBXorOp(span); }
|
||
|
|
||
|
export function createJSBAndOp(span: TextSpan | null = null): JSBAndOp { return new JSBAndOp(span); }
|
||
|
|
||
|
export function createJSBNotOp(span: TextSpan | null = null): JSBNotOp { return new JSBNotOp(span); }
|
||
|
|
||
|
export function createJSNotOp(span: TextSpan | null = null): JSNotOp { return new JSNotOp(span); }
|
||
|
|
||
|
export function createJSBindPattern(name: JSIdentifier, span: TextSpan | null = null): JSBindPattern { return new JSBindPattern(name, span); }
|
||
|
|
||
|
export function createJSConstantExpression(value: Value, span: TextSpan | null = null): JSConstantExpression { return new JSConstantExpression(value, span); }
|
||
|
|
||
|
export function createJSMemberExpression(value: JSExpression, property: JSIdentifier, span: TextSpan | null = null): JSMemberExpression { return new JSMemberExpression(value, property, span); }
|
||
|
|
||
|
export function createJSCallExpression(operator: JSExpression, operands: JSExpression[], span: TextSpan | null = null): JSCallExpression { return new JSCallExpression(operator, operands, span); }
|
||
|
|
||
|
export function createJSBinaryExpression(left: JSExpression, operator: JSOperator, right: JSExpression, span: TextSpan | null = null): JSBinaryExpression { return new JSBinaryExpression(left, operator, right, span); }
|
||
|
|
||
|
export function createJSUnaryExpression(operator: JSOperator, operand: JSExpression, span: TextSpan | null = null): JSUnaryExpression { return new JSUnaryExpression(operator, operand, span); }
|
||
|
|
||
|
export function createJSNewExpression(target: JSExpression, args: JSExpression[], span: TextSpan | null = null): JSNewExpression { return new JSNewExpression(target, args, span); }
|
||
|
|
||
|
export function createJSSequenceExpression(expressions: JSExpression[], span: TextSpan | null = null): JSSequenceExpression { return new JSSequenceExpression(expressions, span); }
|
||
|
|
||
|
export function createJSConditionalExpression(test: JSExpression, consequent: JSExpression, alternate: JSExpression, span: TextSpan | null = null): JSConditionalExpression { return new JSConditionalExpression(test, consequent, alternate, span); }
|
||
|
|
||
|
export function createJSLiteralExpression(value: Value, span: TextSpan | null = null): JSLiteralExpression { return new JSLiteralExpression(value, span); }
|
||
|
|
||
|
export function createJSReferenceExpression(name: string, span: TextSpan | null = null): JSReferenceExpression { return new JSReferenceExpression(name, span); }
|
||
|
|
||
|
export function createJSCatchBlock(bindings: JSPattern | null, elements: JSSourceElement[], span: TextSpan | null = null): JSCatchBlock { return new JSCatchBlock(bindings, elements, span); }
|
||
|
|
||
|
export function createJSTryCatchStatement(tryBlock: JSSourceElement[], catchBlock: JSCatchBlock | null, finalBlock: JSSourceElement[] | null, span: TextSpan | null = null): JSTryCatchStatement { return new JSTryCatchStatement(tryBlock, catchBlock, finalBlock, span); }
|
||
|
|
||
|
export function createJSExpressionStatement(expression: JSExpression, span: TextSpan | null = null): JSExpressionStatement { return new JSExpressionStatement(expression, span); }
|
||
|
|
||
|
export function createJSConditionalCase(test: JSExpression | null, body: JSFunctionBodyElement[], span: TextSpan | null = null): JSConditionalCase { return new JSConditionalCase(test, body, span); }
|
||
|
|
||
|
export function createJSConditionalStatement(cases: JSConditionalCase[], span: TextSpan | null = null): JSConditionalStatement { return new JSConditionalStatement(cases, span); }
|
||
|
|
||
|
export function createJSReturnStatement(value: JSExpression | null, span: TextSpan | null = null): JSReturnStatement { return new JSReturnStatement(value, span); }
|
||
|
|
||
|
export function createJSParameter(index: number, bindings: JSPattern, defaultValue: JSExpression | null, span: TextSpan | null = null): JSParameter { return new JSParameter(index, bindings, defaultValue, span); }
|
||
|
|
||
|
export function createJSImportStarBinding(local: JSIdentifier, span: TextSpan | null = null): JSImportStarBinding { return new JSImportStarBinding(local, span); }
|
||
|
|
||
|
export function createJSImportAsBinding(remote: JSIdentifier, local: JSIdentifier | null, span: TextSpan | null = null): JSImportAsBinding { return new JSImportAsBinding(remote, local, span); }
|
||
|
|
||
|
export function createJSImportDeclaration(bindings: JSImportBinding[], filename: JSString, span: TextSpan | null = null): JSImportDeclaration { return new JSImportDeclaration(bindings, filename, span); }
|
||
|
|
||
|
export function createJSFunctionDeclaration(modifiers: JSDeclarationModifiers, name: JSIdentifier, params: JSParameter[], body: JSStatement[], span: TextSpan | null = null): JSFunctionDeclaration { return new JSFunctionDeclaration(modifiers, name, params, body, span); }
|
||
|
|
||
|
export function createJSArrowFunctionDeclaration(name: JSIdentifier, params: JSParameter[], body: JSExpression, span: TextSpan | null = null): JSArrowFunctionDeclaration { return new JSArrowFunctionDeclaration(name, params, body, span); }
|
||
|
|
||
|
export function createJSLetDeclaration(bindings: JSPattern, value: JSExpression | null, span: TextSpan | null = null): JSLetDeclaration { return new JSLetDeclaration(bindings, value, span); }
|
||
|
|
||
|
export function createJSSourceFile(elements: JSSourceElement[], span: TextSpan | null = null): JSSourceFile { return new JSSourceFile(elements, span); }
|
||
|
|
||
|
export function isEndOfFile(value: any): value is EndOfFile { return value.kind === SyntaxKind.EndOfFile; }
|
||
|
|
||
|
export function isToken(value: any): value is Token { return value.kind === SyntaxKind.JSNotOp || value.kind === SyntaxKind.JSBNotOp || value.kind === SyntaxKind.JSBAndOp || value.kind === SyntaxKind.JSBXorOp || value.kind === SyntaxKind.JSBOrOp || value.kind === SyntaxKind.JSGtOp || value.kind === SyntaxKind.JSLtOp || value.kind === SyntaxKind.JSSubOp || value.kind === SyntaxKind.JSDivOp || value.kind === SyntaxKind.JSAddOp || value.kind === SyntaxKind.JSMulOp || value.kind === SyntaxKind.JSDotDotDot || value.kind === SyntaxKind.JSDot || value.kind === SyntaxKind.JSComma || value.kind === SyntaxKind.JSSemi || value.kind === SyntaxKind.JSOpenParen || value.kind === SyntaxKind.JSOpenBracket || value.kind === SyntaxKind.JSOpenBrace || value.kind === SyntaxKind.JSCloseParen || value.kind === SyntaxKind.JSCloseBracket || value.kind === SyntaxKind.JSCloseBrace || value.kind === SyntaxKind.JSOperator || value.kind === SyntaxKind.JSForKeyword || value.kind === SyntaxKind.JSWhileKeyword || value.kind === SyntaxKind.JSFunctionKeyword || value.kind === SyntaxKind.JSExportKeyword || value.kind === SyntaxKind.JSLetKeyword || value.kind === SyntaxKind.JSConstKeyword || value.kind === SyntaxKind.JSAsKeyword || value.kind === SyntaxKind.JSImportKeyword || value.kind === SyntaxKind.JSCatchKeyword || value.kind === SyntaxKind.JSFinallyKeyword || value.kind === SyntaxKind.JSTryKeyword || value.kind === SyntaxKind.JSReturnKeyword || value.kind === SyntaxKind.JSFromKeyword || value.kind === SyntaxKind.JSInteger || value.kind === SyntaxKind.JSString || value.kind === SyntaxKind.JSIdentifier || value.kind === SyntaxKind.EndOfFile || value.kind === SyntaxKind.BoltBracketed || value.kind === SyntaxKind.BoltBraced || value.kind === SyntaxKind.BoltParenthesized || value.kind === SyntaxKind.BoltImplKeyword || value.kind === SyntaxKind.BoltTraitKeyword || value.kind === SyntaxKind.BoltTypeKeyword || value.kind === SyntaxKind.BoltStructKeyword || value.kind === SyntaxKind.BoltEnumKeyword || value.kind === SyntaxKind.BoltMutKeyword || value.kind === SyntaxKind.BoltModKeyword || value.kind === SyntaxKind.BoltPubKeyword || value.kind === SyntaxKind.BoltExportKeyword || value.kind === SyntaxKind.BoltImportKeyword || value.kind === SyntaxKind.BoltMatchKeyword || value.kind === SyntaxKind.BoltYieldKeyword || value.kind === SyntaxKind.BoltLoopKeyword || value.kind === SyntaxKind.BoltReturnKeyword || value.kind === SyntaxKind.BoltLetKeyword || value.kind === SyntaxKind.BoltForKeyword || value.kind === SyntaxKind.BoltForeignKeyword || value.kind === SyntaxKind.BoltFnKeyword || value.kind === SyntaxKind.BoltQuoteKeyword || value.kind === SyntaxKind.BoltWhereKeyword || value.kind === SyntaxKind.BoltVBar || value.kind === SyntaxKind.BoltLtSign || value.kind === SyntaxKind.BoltExMark || value.kind === SyntaxKind.BoltGtSign || value.kind === SyntaxKind.BoltEqSign || value.kind === SyntaxKind.BoltLArrow || value.kind === SyntaxKind.BoltRArrowAlt || value.kind === SyntaxKind.BoltRArrow || value.kind === SyntaxKind.BoltDotDot || value.kind === SyntaxKind.BoltDot || value.kind === SyntaxKind.BoltColonColon || value.kind === SyntaxKind.BoltColon || value.kind === SyntaxKind.BoltSemi || value.kind === SyntaxKind.BoltComma || value.kind === SyntaxKind.BoltAssignment || value.kind === SyntaxKind.BoltOperator || value.kind === SyntaxKind.BoltIdentifier || value.kind === SyntaxKind.BoltIntegerLiteral || value.kind === SyntaxKind.BoltStringLiteral; }
|
||
|
|
||
|
export function isSourceFile(value: any): value is SourceFile { return value.kind === SyntaxKind.JSSourceFile || value.kind === SyntaxKind.BoltSourceFile; }
|
||
|
|
||
|
export function isFunctionBodyElement(value: any): value is FunctionBodyElement { return value.kind === SyntaxKind.JSLetDeclaration || value.kind === SyntaxKind.JSArrowFunctionDeclaration || value.kind === SyntaxKind.JSFunctionDeclaration || value.kind === SyntaxKind.JSImportDeclaration || value.kind === SyntaxKind.JSReturnStatement || value.kind === SyntaxKind.JSConditionalStatement || value.kind === SyntaxKind.JSExpressionStatement || value.kind === SyntaxKind.JSTryCatchStatement || value.kind === SyntaxKind.BoltMacroCall || value.kind === SyntaxKind.BoltVariableDeclaration || value.kind === SyntaxKind.BoltFunctionDeclaration || value.kind === SyntaxKind.BoltLoopStatement || value.kind === SyntaxKind.BoltExpressionStatement || value.kind === SyntaxKind.BoltResumeStatement || value.kind === SyntaxKind.BoltConditionalStatement || value.kind === SyntaxKind.BoltReturnStatement; }
|
||
|
|
||
|
export function isReturnStatement(value: any): value is ReturnStatement { return value.kind === SyntaxKind.JSReturnStatement || value.kind === SyntaxKind.BoltReturnStatement; }
|
||
|
|
||
|
export function isBoltSyntax(value: any): value is BoltSyntax { return value.kind === SyntaxKind.BoltMacroCall || value.kind === SyntaxKind.BoltRecordField || value.kind === SyntaxKind.BoltPlainExportSymbol || value.kind === SyntaxKind.BoltImportDirective || value.kind === SyntaxKind.BoltPlainImportSymbol || value.kind === SyntaxKind.BoltModule || value.kind === SyntaxKind.BoltRecordDeclaration || value.kind === SyntaxKind.BoltTypeAliasDeclaration || value.kind === SyntaxKind.BoltImplDeclaration || value.kind === SyntaxKind.BoltTraitDeclaration || value.kind === SyntaxKind.BoltVariableDeclaration || value.kind === SyntaxKind.BoltFunctionDeclaration || value.kind === SyntaxKind.BoltParameter || value.kind === SyntaxKind.BoltConditionalCase || value.kind === SyntaxKind.BoltLoopStatement || value.kind === SyntaxKind.BoltExpressionStatement || value.kind === SyntaxKind.BoltResumeStatement || value.kind === SyntaxKind.BoltConditionalStatement || value.kind === SyntaxKind.BoltReturnStatement || value.kind === SyntaxKind.BoltCase || value.kind === SyntaxKind.BoltMatchArm || value.kind === SyntaxKind.BoltConstantExpression || value.kind === SyntaxKind.BoltBlockExpression || value.kind === SyntaxKind.BoltCaseExpression || value.kind === SyntaxKind.BoltMatchExpression || value.kind === SyntaxKind.BoltYieldExpression || value.kind === SyntaxKind.BoltCallExpression || value.kind === SyntaxKind.BoltFunctionExpression || value.kind === SyntaxKind.BoltMemberExpression || value.kind === SyntaxKind.BoltReferenceExpression || value.kind === SyntaxKind.BoltTupleExpression || value.kind === SyntaxKind.BoltQuoteExpression || value.kind === SyntaxKind.BoltRecordFieldPattern || value.kind === SyntaxKind.BoltTuplePatternElement || value.kind === SyntaxKind.BoltRecordPattern || value.kind === SyntaxKind.BoltTuplePattern || value.kind === SyntaxKind.BoltExpressionPattern || value.kind === SyntaxKind.BoltTypePattern || value.kind === SyntaxKind.BoltBindPattern || value.kind === SyntaxKind.BoltTypeParameter || value.kind === SyntaxKind.BoltLiftedTypeExpression || value.kind === SyntaxKind.BoltFunctionTypeExpression || value.kind === SyntaxKind.BoltReferenceTypeExpression || value.kind === SyntaxKind.BoltTypeOfExpression || value.kind === SyntaxKind.BoltQualName || value.kind === SyntaxKind.BoltSourceFile || value.kind === SyntaxKind.BoltBracketed || value.kind === SyntaxKind.BoltBraced || value.kind === SyntaxKind.BoltParenthesized || value.kind === SyntaxKind.BoltImplKeyword || value.kind === SyntaxKind.BoltTraitKeyword || value.kind === SyntaxKind.BoltTypeKeyword || value.kind === SyntaxKind.BoltStructKeyword || value.kind === SyntaxKind.BoltEnumKeyword || value.kind === SyntaxKind.BoltMutKeyword || value.kind === SyntaxKind.BoltModKeyword || value.kind === SyntaxKind.BoltPubKeyword || value.kind === SyntaxKind.BoltExportKeyword || value.kind === SyntaxKind.BoltImportKeyword || value.kind === SyntaxKind.BoltMatchKeyword || value.kind === SyntaxKind.BoltYieldKeyword || value.kind === SyntaxKind.BoltLoopKeyword || value.kind === SyntaxKind.BoltReturnKeyword || value.kind === SyntaxKind.BoltLetKeyword || value.kind === SyntaxKind.BoltForKeyword || value.kind === SyntaxKind.BoltForeignKeyword || value.kind === SyntaxKind.BoltFnKeyword || value.kind === SyntaxKind.BoltQuoteKeyword || value.kind === SyntaxKind.BoltWhereKeyword || value.kind === SyntaxKind.BoltVBar || value.kind === SyntaxKind.BoltLtSign || value.kind === SyntaxKind.BoltExMark || value.kind === SyntaxKind.BoltGtSign || value.kind === SyntaxKind.BoltEqSign || value.kind === SyntaxKind.BoltLArrow || value.kind === SyntaxKind.BoltRArrowAlt || value.kind === SyntaxKind.BoltRArrow || value.kind === SyntaxKind.BoltDotDot || value.kind === SyntaxKind.BoltDot || value.kind === SyntaxKind.BoltColonColon || value.kind === SyntaxKind.BoltColon || value.kind === SyntaxKind.BoltSemi || value.kind === SyntaxKind.BoltComma || value.kind === SyntaxKind.BoltAssignment || value.kind === SyntaxKind.BoltOperator || value.kind === SyntaxKind.BoltIdentifier || value.kind === SyntaxKind.BoltIntegerLiteral ||
|
||
|
|
||
|
export function isBoltToken(value: any): value is BoltToken { return value.kind === SyntaxKind.BoltBracketed || value.kind === SyntaxKind.BoltBraced || value.kind === SyntaxKind.BoltParenthesized || value.kind === SyntaxKind.BoltImplKeyword || value.kind === SyntaxKind.BoltTraitKeyword || value.kind === SyntaxKind.BoltTypeKeyword || value.kind === SyntaxKind.BoltStructKeyword || value.kind === SyntaxKind.BoltEnumKeyword || value.kind === SyntaxKind.BoltMutKeyword || value.kind === SyntaxKind.BoltModKeyword || value.kind === SyntaxKind.BoltPubKeyword || value.kind === SyntaxKind.BoltExportKeyword || value.kind === SyntaxKind.BoltImportKeyword || value.kind === SyntaxKind.BoltMatchKeyword || value.kind === SyntaxKind.BoltYieldKeyword || value.kind === SyntaxKind.BoltLoopKeyword || value.kind === SyntaxKind.BoltReturnKeyword || value.kind === SyntaxKind.BoltLetKeyword || value.kind === SyntaxKind.BoltForKeyword || value.kind === SyntaxKind.BoltForeignKeyword || value.kind === SyntaxKind.BoltFnKeyword || value.kind === SyntaxKind.BoltQuoteKeyword || value.kind === SyntaxKind.BoltWhereKeyword || value.kind === SyntaxKind.BoltVBar || value.kind === SyntaxKind.BoltLtSign || value.kind === SyntaxKind.BoltExMark || value.kind === SyntaxKind.BoltGtSign || value.kind === SyntaxKind.BoltEqSign || value.kind === SyntaxKind.BoltLArrow || value.kind === SyntaxKind.BoltRArrowAlt || value.kind === SyntaxKind.BoltRArrow || value.kind === SyntaxKind.BoltDotDot || value.kind === SyntaxKind.BoltDot || value.kind === SyntaxKind.BoltColonColon || value.kind === SyntaxKind.BoltColon || value.kind === SyntaxKind.BoltSemi || value.kind === SyntaxKind.BoltComma || value.kind === SyntaxKind.BoltAssignment || value.kind === SyntaxKind.BoltOperator || value.kind === SyntaxKind.BoltIdentifier || value.kind === SyntaxKind.BoltIntegerLiteral || value.kind === SyntaxKind.BoltStringLiteral || value.kind === SyntaxKind.EndOfFile; }
|
||
|
|
||
|
export function isBoltStringLiteral(value: any): value is BoltStringLiteral { return value.kind === SyntaxKind.BoltStringLiteral; }
|
||
|
|
||
|
export function isBoltIntegerLiteral(value: any): value is BoltIntegerLiteral { return value.kind === SyntaxKind.BoltIntegerLiteral; }
|
||
|
|
||
|
export function isBoltSymbol(value: any): value is BoltSymbol { return value.kind === SyntaxKind.BoltOperator || value.kind === SyntaxKind.BoltVBar || value.kind === SyntaxKind.BoltLtSign || value.kind === SyntaxKind.BoltExMark || value.kind === SyntaxKind.BoltGtSign || value.kind === SyntaxKind.BoltIdentifier; }
|
||
|
|
||
|
export function isBoltIdentifier(value: any): value is BoltIdentifier { return value.kind === SyntaxKind.BoltIdentifier; }
|
||
|
|
||
|
export function isBoltOperatorLike(value: any): value is BoltOperatorLike { return value.kind === SyntaxKind.BoltVBar || value.kind === SyntaxKind.BoltLtSign || value.kind === SyntaxKind.BoltExMark || value.kind === SyntaxKind.BoltGtSign; }
|
||
|
|
||
|
export function isBoltOperator(value: any): value is BoltOperator { return value.kind === SyntaxKind.BoltOperator; }
|
||
|
|
||
|
export function isBoltAssignment(value: any): value is BoltAssignment { return value.kind === SyntaxKind.BoltAssignment; }
|
||
|
|
||
|
export function isBoltComma(value: any): value is BoltComma { return value.kind === SyntaxKind.BoltComma; }
|
||
|
|
||
|
export function isBoltSemi(value: any): value is BoltSemi { return value.kind === SyntaxKind.BoltSemi; }
|
||
|
|
||
|
export function isBoltColon(value: any): value is BoltColon { return value.kind === SyntaxKind.BoltColon; }
|
||
|
|
||
|
export function isBoltColonColon(value: any): value is BoltColonColon { return value.kind === SyntaxKind.BoltColonColon; }
|
||
|
|
||
|
export function isBoltDot(value: any): value is BoltDot { return value.kind === SyntaxKind.BoltDot; }
|
||
|
|
||
|
export function isBoltDotDot(value: any): value is BoltDotDot { return value.kind === SyntaxKind.BoltDotDot; }
|
||
|
|
||
|
export function isBoltRArrow(value: any): value is BoltRArrow { return value.kind === SyntaxKind.BoltRArrow; }
|
||
|
|
||
|
export function isBoltRArrowAlt(value: any): value is BoltRArrowAlt { return value.kind === SyntaxKind.BoltRArrowAlt; }
|
||
|
|
||
|
export function isBoltLArrow(value: any): value is BoltLArrow { return value.kind === SyntaxKind.BoltLArrow; }
|
||
|
|
||
|
export function isBoltEqSign(value: any): value is BoltEqSign { return value.kind === SyntaxKind.BoltEqSign; }
|
||
|
|
||
|
export function isBoltGtSign(value: any): value is BoltGtSign { return value.kind === SyntaxKind.BoltGtSign; }
|
||
|
|
||
|
export function isBoltExMark(value: any): value is BoltExMark { return value.kind === SyntaxKind.BoltExMark; }
|
||
|
|
||
|
export function isBoltLtSign(value: any): value is BoltLtSign { return value.kind === SyntaxKind.BoltLtSign; }
|
||
|
|
||
|
export function isBoltVBar(value: any): value is BoltVBar { return value.kind === SyntaxKind.BoltVBar; }
|
||
|
|
||
|
export function isBoltKeyword(value: any): value is BoltKeyword { return value.kind === SyntaxKind.BoltImplKeyword || value.kind === SyntaxKind.BoltTraitKeyword || value.kind === SyntaxKind.BoltTypeKeyword || value.kind === SyntaxKind.BoltStructKeyword || value.kind === SyntaxKind.BoltEnumKeyword || value.kind === SyntaxKind.BoltMutKeyword || value.kind === SyntaxKind.BoltModKeyword || value.kind === SyntaxKind.BoltPubKeyword || value.kind === SyntaxKind.BoltExportKeyword || value.kind === SyntaxKind.BoltImportKeyword || value.kind === SyntaxKind.BoltMatchKeyword || value.kind === SyntaxKind.BoltYieldKeyword || value.kind === SyntaxKind.BoltLoopKeyword || value.kind === SyntaxKind.BoltReturnKeyword || value.kind === SyntaxKind.BoltLetKeyword || value.kind === SyntaxKind.BoltForKeyword || value.kind === SyntaxKind.BoltForeignKeyword || value.kind === SyntaxKind.BoltFnKeyword || value.kind === SyntaxKind.BoltQuoteKeyword || value.kind === SyntaxKind.BoltWhereKeyword; }
|
||
|
|
||
|
export function isBoltWhereKeyword(value: any): value is BoltWhereKeyword { return value.kind === SyntaxKind.BoltWhereKeyword; }
|
||
|
|
||
|
export function isBoltQuoteKeyword(value: any): value is BoltQuoteKeyword { return value.kind === SyntaxKind.BoltQuoteKeyword; }
|
||
|
|
||
|
export function isBoltFnKeyword(value: any): value is BoltFnKeyword { return value.kind === SyntaxKind.BoltFnKeyword; }
|
||
|
|
||
|
export function isBoltForeignKeyword(value: any): value is BoltForeignKeyword { return value.kind === SyntaxKind.BoltForeignKeyword; }
|
||
|
|
||
|
export function isBoltForKeyword(value: any): value is BoltForKeyword { return value.kind === SyntaxKind.BoltForKeyword; }
|
||
|
|
||
|
export function isBoltLetKeyword(value: any): value is BoltLetKeyword { return value.kind === SyntaxKind.BoltLetKeyword; }
|
||
|
|
||
|
export function isBoltReturnKeyword(value: any): value is BoltReturnKeyword { return value.kind === SyntaxKind.BoltReturnKeyword; }
|
||
|
|
||
|
export function isBoltLoopKeyword(value: any): value is BoltLoopKeyword { return value.kind === SyntaxKind.BoltLoopKeyword; }
|
||
|
|
||
|
export function isBoltYieldKeyword(value: any): value is BoltYieldKeyword { return value.kind === SyntaxKind.BoltYieldKeyword; }
|
||
|
|
||
|
export function isBoltMatchKeyword(value: any): value is BoltMatchKeyword { return value.kind === SyntaxKind.BoltMatchKeyword; }
|
||
|
|
||
|
export function isBoltImportKeyword(value: any): value is BoltImportKeyword { return value.kind === SyntaxKind.BoltImportKeyword; }
|
||
|
|
||
|
export function isBoltExportKeyword(value: any): value is BoltExportKeyword { return value.kind === SyntaxKind.BoltExportKeyword; }
|
||
|
|
||
|
export function isBoltPubKeyword(value: any): value is BoltPubKeyword { return value.kind === SyntaxKind.BoltPubKeyword; }
|
||
|
|
||
|
export function isBoltModKeyword(value: any): value is BoltModKeyword { return value.kind === SyntaxKind.BoltModKeyword; }
|
||
|
|
||
|
export function isBoltMutKeyword(value: any): value is BoltMutKeyword { return value.kind === SyntaxKind.BoltMutKeyword; }
|
||
|
|
||
|
export function isBoltEnumKeyword(value: any): value is BoltEnumKeyword { return value.kind === SyntaxKind.BoltEnumKeyword; }
|
||
|
|
||
|
export function isBoltStructKeyword(value: any): value is BoltStructKeyword { return value.kind === SyntaxKind.BoltStructKeyword; }
|
||
|
|
||
|
export function isBoltTypeKeyword(value: any): value is BoltTypeKeyword { return value.kind === SyntaxKind.BoltTypeKeyword; }
|
||
|
|
||
|
export function isBoltTraitKeyword(value: any): value is BoltTraitKeyword { return value.kind === SyntaxKind.BoltTraitKeyword; }
|
||
|
|
||
|
export function isBoltImplKeyword(value: any): value is BoltImplKeyword { return value.kind === SyntaxKind.BoltImplKeyword; }
|
||
|
|
||
|
export function isBoltPunctuated(value: any): value is BoltPunctuated { return value.kind === SyntaxKind.BoltBracketed || value.kind === SyntaxKind.BoltBraced || value.kind === SyntaxKind.BoltParenthesized; }
|
||
|
|
||
|
export function isBoltParenthesized(value: any): value is BoltParenthesized { return value.kind === SyntaxKind.BoltParenthesized; }
|
||
|
|
||
|
export function isBoltBraced(value: any): value is BoltBraced { return value.kind === SyntaxKind.BoltBraced; }
|
||
|
|
||
|
export function isBoltBracketed(value: any): value is BoltBracketed { return value.kind === SyntaxKind.BoltBracketed; }
|
||
|
|
||
|
export function isBoltSourceFile(value: any): value is BoltSourceFile { return value.kind === SyntaxKind.BoltSourceFile; }
|
||
|
|
||
|
export function isBoltQualName(value: any): value is BoltQualName { return value.kind === SyntaxKind.BoltQualName; }
|
||
|
|
||
|
export function isBoltTypeExpression(value: any): value is BoltTypeExpression { return value.kind === SyntaxKind.BoltLiftedTypeExpression || value.kind === SyntaxKind.BoltFunctionTypeExpression || value.kind === SyntaxKind.BoltReferenceTypeExpression || value.kind === SyntaxKind.BoltTypeOfExpression; }
|
||
|
|
||
|
export function isBoltTypeOfExpression(value: any): value is BoltTypeOfExpression { return value.kind === SyntaxKind.BoltTypeOfExpression; }
|
||
|
|
||
|
export function isBoltReferenceTypeExpression(value: any): value is BoltReferenceTypeExpression { return value.kind === SyntaxKind.BoltReferenceTypeExpression; }
|
||
|
|
||
|
export function isBoltFunctionTypeExpression(value: any): value is BoltFunctionTypeExpression { return value.kind === SyntaxKind.BoltFunctionTypeExpression; }
|
||
|
|
||
|
export function isBoltLiftedTypeExpression(value: any): value is BoltLiftedTypeExpression { return value.kind === SyntaxKind.BoltLiftedTypeExpression; }
|
||
|
|
||
|
export function isBoltTypeParameter(value: any): value is BoltTypeParameter { return value.kind === SyntaxKind.BoltTypeParameter; }
|
||
|
|
||
|
export function isBoltPattern(value: any): value is BoltPattern { return value.kind === SyntaxKind.BoltRecordPattern || value.kind === SyntaxKind.BoltTuplePattern || value.kind === SyntaxKind.BoltExpressionPattern || value.kind === SyntaxKind.BoltTypePattern || value.kind === SyntaxKind.BoltBindPattern; }
|
||
|
|
||
|
export function isBoltBindPattern(value: any): value is BoltBindPattern { return value.kind === SyntaxKind.BoltBindPattern; }
|
||
|
|
||
|
export function isBoltTypePattern(value: any): value is BoltTypePattern { return value.kind === SyntaxKind.BoltTypePattern; }
|
||
|
|
||
|
export function isBoltExpressionPattern(value: any): value is BoltExpressionPattern { return value.kind === SyntaxKind.BoltExpressionPattern; }
|
||
|
|
||
|
export function isBoltTuplePatternElement(value: any): value is BoltTuplePatternElement { return value.kind === SyntaxKind.BoltTuplePatternElement; }
|
||
|
|
||
|
export function isBoltTuplePattern(value: any): value is BoltTuplePattern { return value.kind === SyntaxKind.BoltTuplePattern; }
|
||
|
|
||
|
export function isBoltRecordFieldPattern(value: any): value is BoltRecordFieldPattern { return value.kind === SyntaxKind.BoltRecordFieldPattern; }
|
||
|
|
||
|
export function isBoltRecordPattern(value: any): value is BoltRecordPattern { return value.kind === SyntaxKind.BoltRecordPattern; }
|
||
|
|
||
|
export function isBoltExpression(value: any): value is BoltExpression { return value.kind === SyntaxKind.BoltConstantExpression || value.kind === SyntaxKind.BoltBlockExpression || value.kind === SyntaxKind.BoltCaseExpression || value.kind === SyntaxKind.BoltMatchExpression || value.kind === SyntaxKind.BoltYieldExpression || value.kind === SyntaxKind.BoltCallExpression || value.kind === SyntaxKind.BoltFunctionExpression || value.kind === SyntaxKind.BoltMemberExpression || value.kind === SyntaxKind.BoltReferenceExpression || value.kind === SyntaxKind.BoltTupleExpression || value.kind === SyntaxKind.BoltQuoteExpression; }
|
||
|
|
||
|
export function isBoltQuoteExpression(value: any): value is BoltQuoteExpression { return value.kind === SyntaxKind.BoltQuoteExpression; }
|
||
|
|
||
|
export function isBoltTupleExpression(value: any): value is BoltTupleExpression { return value.kind === SyntaxKind.BoltTupleExpression; }
|
||
|
|
||
|
export function isBoltReferenceExpression(value: any): value is BoltReferenceExpression { return value.kind === SyntaxKind.BoltReferenceExpression; }
|
||
|
|
||
|
export function isBoltMemberExpression(value: any): value is BoltMemberExpression { return value.kind === SyntaxKind.BoltMemberExpression; }
|
||
|
|
||
|
export function isBoltFunctionExpression(value: any): value is BoltFunctionExpression { return value.kind === SyntaxKind.BoltFunctionExpression; }
|
||
|
|
||
|
export function isBoltCallExpression(value: any): value is BoltCallExpression { return value.kind === SyntaxKind.BoltCallExpression; }
|
||
|
|
||
|
export function isBoltYieldExpression(value: any): value is BoltYieldExpression { return value.kind === SyntaxKind.BoltYieldExpression; }
|
||
|
|
||
|
export function isBoltMatchArm(value: any): value is BoltMatchArm { return value.kind === SyntaxKind.BoltMatchArm; }
|
||
|
|
||
|
export function isBoltMatchExpression(value: any): value is BoltMatchExpression { return value.kind === SyntaxKind.BoltMatchExpression; }
|
||
|
|
||
|
export function isBoltCase(value: any): value is BoltCase { return value.kind === SyntaxKind.BoltCase; }
|
||
|
|
||
|
export function isBoltCaseExpression(value: any): value is BoltCaseExpression { return value.kind === SyntaxKind.BoltCaseExpression; }
|
||
|
|
||
|
export function isBoltBlockExpression(value: any): value is BoltBlockExpression { return value.kind === SyntaxKind.BoltBlockExpression; }
|
||
|
|
||
|
export function isBoltConstantExpression(value: any): value is BoltConstantExpression { return value.kind === SyntaxKind.BoltConstantExpression; }
|
||
|
|
||
|
export function isBoltStatement(value: any): value is BoltStatement { return value.kind === SyntaxKind.BoltLoopStatement || value.kind === SyntaxKind.BoltExpressionStatement || value.kind === SyntaxKind.BoltResumeStatement || value.kind === SyntaxKind.BoltConditionalStatement || value.kind === SyntaxKind.BoltReturnStatement; }
|
||
|
|
||
|
export function isBoltReturnStatement(value: any): value is BoltReturnStatement { return value.kind === SyntaxKind.BoltReturnStatement; }
|
||
|
|
||
|
export function isBoltConditionalCase(value: any): value is BoltConditionalCase { return value.kind === SyntaxKind.BoltConditionalCase; }
|
||
|
|
||
|
export function isBoltConditionalStatement(value: any): value is BoltConditionalStatement { return value.kind === SyntaxKind.BoltConditionalStatement; }
|
||
|
|
||
|
export function isBoltResumeStatement(value: any): value is BoltResumeStatement { return value.kind === SyntaxKind.BoltResumeStatement; }
|
||
|
|
||
|
export function isBoltExpressionStatement(value: any): value is BoltExpressionStatement { return value.kind === SyntaxKind.BoltExpressionStatement; }
|
||
|
|
||
|
export function isBoltLoopStatement(value: any): value is BoltLoopStatement { return value.kind === SyntaxKind.BoltLoopStatement; }
|
||
|
|
||
|
export function isBoltParameter(value: any): value is BoltParameter { return value.kind === SyntaxKind.BoltParameter; }
|
||
|
|
||
|
export function isBoltDeclaration(value: any): value is BoltDeclaration { return value.kind === SyntaxKind.BoltRecordDeclaration || value.kind === SyntaxKind.BoltVariableDeclaration || value.kind === SyntaxKind.BoltFunctionDeclaration; }
|
||
|
|
||
|
export function isBoltTypeDeclaration(value: any): value is BoltTypeDeclaration { return value.kind === SyntaxKind.BoltRecordDeclaration || value.kind === SyntaxKind.BoltTypeAliasDeclaration || value.kind === SyntaxKind.BoltImplDeclaration || value.kind === SyntaxKind.BoltTraitDeclaration; }
|
||
|
|
||
|
export function isBoltModule(value: any): value is BoltModule { return value.kind === SyntaxKind.BoltModule; }
|
||
|
|
||
|
export function isBoltDeclarationLike(value: any): value is BoltDeclarationLike { return value.kind === SyntaxKind.BoltRecordDeclaration || value.kind === SyntaxKind.BoltTypeAliasDeclaration || value.kind === SyntaxKind.BoltImplDeclaration || value.kind === SyntaxKind.BoltTraitDeclaration || value.kind === SyntaxKind.BoltVariableDeclaration || value.kind === SyntaxKind.BoltFunctionDeclaration; }
|
||
|
|
||
|
export function isBoltFunctionBodyElement(value: any): value is BoltFunctionBodyElement { return value.kind === SyntaxKind.BoltMacroCall || value.kind === SyntaxKind.BoltVariableDeclaration || value.kind === SyntaxKind.BoltFunctionDeclaration || value.kind === SyntaxKind.BoltLoopStatement || value.kind === SyntaxKind.BoltExpressionStatement || value.kind === SyntaxKind.BoltResumeStatement || value.kind === SyntaxKind.BoltConditionalStatement || value.kind === SyntaxKind.BoltReturnStatement; }
|
||
|
|
||
|
export function isBoltFunctionDeclaration(value: any): value is BoltFunctionDeclaration { return value.kind === SyntaxKind.BoltFunctionDeclaration; }
|
||
|
|
||
|
export function isBoltVariableDeclaration(value: any): value is BoltVariableDeclaration { return value.kind === SyntaxKind.BoltVariableDeclaration; }
|
||
|
|
||
|
export function isBoltImportSymbol(value: any): value is BoltImportSymbol { return value.kind === SyntaxKind.BoltPlainImportSymbol; }
|
||
|
|
||
|
export function isBoltPlainImportSymbol(value: any): value is BoltPlainImportSymbol { return value.kind === SyntaxKind.BoltPlainImportSymbol; }
|
||
|
|
||
|
export function isBoltImportDirective(value: any): value is BoltImportDirective { return value.kind === SyntaxKind.BoltImportDirective; }
|
||
|
|
||
|
export function isBoltExportSymbol(value: any): value is BoltExportSymbol { return value.kind === SyntaxKind.BoltPlainExportSymbol; }
|
||
|
|
||
|
export function isBoltPlainExportSymbol(value: any): value is BoltPlainExportSymbol { return value.kind === SyntaxKind.BoltPlainExportSymbol; }
|
||
|
|
||
|
export function isBoltExportDirective(value: any): value is BoltExportDirective { return value.kind === SyntaxKind.BoltExportDirective; }
|
||
|
|
||
|
export function isBoltTraitOrImplElement(value: any): value is BoltTraitOrImplElement { return value.kind === SyntaxKind.BoltMacroCall || value.kind === SyntaxKind.BoltTypeAliasDeclaration || value.kind === SyntaxKind.BoltFunctionDeclaration; }
|
||
|
|
||
|
export function isBoltTraitDeclaration(value: any): value is BoltTraitDeclaration { return value.kind === SyntaxKind.BoltTraitDeclaration; }
|
||
|
|
||
|
export function isBoltImplDeclaration(value: any): value is BoltImplDeclaration { return value.kind === SyntaxKind.BoltImplDeclaration; }
|
||
|
|
||
|
export function isBoltTypeAliasDeclaration(value: any): value is BoltTypeAliasDeclaration { return value.kind === SyntaxKind.BoltTypeAliasDeclaration; }
|
||
|
|
||
|
export function isBoltRecordMember(value: any): value is BoltRecordMember { return value.kind === SyntaxKind.BoltMacroCall || value.kind === SyntaxKind.BoltRecordField; }
|
||
|
|
||
|
export function isBoltRecordField(value: any): value is BoltRecordField { return value.kind === SyntaxKind.BoltRecordField; }
|
||
|
|
||
|
export function isBoltRecordDeclaration(value: any): value is BoltRecordDeclaration { return value.kind === SyntaxKind.BoltRecordDeclaration; }
|
||
|
|
||
|
export function isBoltSourceElement(value: any): value is BoltSourceElement { return value.kind === SyntaxKind.BoltMacroCall || value.kind === SyntaxKind.BoltExportDirective || value.kind === SyntaxKind.BoltImportDirective || value.kind === SyntaxKind.BoltModule || value.kind === SyntaxKind.BoltRecordDeclaration || value.kind === SyntaxKind.BoltTypeAliasDeclaration || value.kind === SyntaxKind.BoltImplDeclaration || value.kind === SyntaxKind.BoltTraitDeclaration || value.kind === SyntaxKind.BoltVariableDeclaration || value.kind === SyntaxKind.BoltFunctionDeclaration || value.kind === SyntaxKind.BoltLoopStatement || value.kind === SyntaxKind.BoltExpressionStatement || value.kind === SyntaxKind.BoltResumeStatement || value.kind === SyntaxKind.BoltConditionalStatement || value.kind === SyntaxKind.BoltReturnStatement; }
|
||
|
|
||
|
export function isBoltMacroCall(value: any): value is BoltMacroCall { return value.kind === SyntaxKind.BoltMacroCall; }
|
||
|
|
||
|
export function isJSSyntax(value: any): value is JSSyntax { return value.kind === SyntaxKind.JSSourceFile || value.kind === SyntaxKind.JSImportAsBinding || value.kind === SyntaxKind.JSImportStarBinding || value.kind === SyntaxKind.JSLetDeclaration || value.kind === SyntaxKind.JSArrowFunctionDeclaration || value.kind === SyntaxKind.JSFunctionDeclaration || value.kind === SyntaxKind.JSImportDeclaration || value.kind === SyntaxKind.JSParameter || value.kind === SyntaxKind.JSConditionalCase || value.kind === SyntaxKind.JSCatchBlock || value.kind === SyntaxKind.JSReturnStatement || value.kind === SyntaxKind.JSConditionalStatement || value.kind === SyntaxKind.JSExpressionStatement || value.kind === SyntaxKind.JSTryCatchStatement || value.kind === SyntaxKind.JSReferenceExpression || value.kind === SyntaxKind.JSLiteralExpression || value.kind === SyntaxKind.JSConditionalExpression || value.kind === SyntaxKind.JSSequenceExpression || value.kind === SyntaxKind.JSNewExpression || value.kind === SyntaxKind.JSUnaryExpression || value.kind === SyntaxKind.JSBinaryExpression || value.kind === SyntaxKind.JSCallExpression || value.kind === SyntaxKind.JSMemberExpression || value.kind === SyntaxKind.JSConstantExpression || value.kind === SyntaxKind.JSBindPattern || value.kind === SyntaxKind.JSNotOp || value.kind === SyntaxKind.JSBNotOp || value.kind === SyntaxKind.JSBAndOp || value.kind === SyntaxKind.JSBXorOp || value.kind === SyntaxKind.JSBOrOp || value.kind === SyntaxKind.JSGtOp || value.kind === SyntaxKind.JSLtOp || value.kind === SyntaxKind.JSSubOp || value.kind === SyntaxKind.JSDivOp || value.kind === SyntaxKind.JSAddOp || value.kind === SyntaxKind.JSMulOp || value.kind === SyntaxKind.JSDotDotDot || value.kind === SyntaxKind.JSDot || value.kind === SyntaxKind.JSComma || value.kind === SyntaxKind.JSSemi || value.kind === SyntaxKind.JSOpenParen || value.kind === SyntaxKind.JSOpenBracket || value.kind === SyntaxKind.JSOpenBrace || value.kind === SyntaxKind.JSCloseParen || value.kind === SyntaxKind.JSCloseBracket || value.kind === SyntaxKind.JSCloseBrace || value.kind === SyntaxKind.JSOperator || value.kind === SyntaxKind.JSForKeyword || value.kind === SyntaxKind.JSWhileKeyword || value.kind === SyntaxKind.JSFunctionKeyword || value.kind === SyntaxKind.JSExportKeyword || value.kind === SyntaxKind.JSLetKeyword || value.kind === SyntaxKind.JSConstKeyword || value.kind === SyntaxKind.JSAsKeyword || value.kind === SyntaxKind.JSImportKeyword || value.kind === SyntaxKind.JSCatchKeyword || value.kind === SyntaxKind.JSFinallyKeyword || value.kind === SyntaxKind.JSTryKeyword || value.kind === SyntaxKind.JSReturnKeyword || value.kind === SyntaxKind.JSFromKeyword || value.kind === SyntaxKind.JSInteger || value.kind === SyntaxKind.JSString || value.kind === SyntaxKind.JSIdentifier || value.kind === SyntaxKind.EndOfFile; }
|
||
|
|
||
|
export function isJSToken(value: any): value is JSToken { return value.kind === SyntaxKind.JSNotOp || value.kind === SyntaxKind.JSBNotOp || value.kind === SyntaxKind.JSBAndOp || value.kind === SyntaxKind.JSBXorOp || value.kind === SyntaxKind.JSBOrOp || value.kind === SyntaxKind.JSGtOp || value.kind === SyntaxKind.JSLtOp || value.kind === SyntaxKind.JSSubOp || value.kind === SyntaxKind.JSDivOp || value.kind === SyntaxKind.JSAddOp || value.kind === SyntaxKind.JSMulOp || value.kind === SyntaxKind.JSDotDotDot || value.kind === SyntaxKind.JSDot || value.kind === SyntaxKind.JSComma || value.kind === SyntaxKind.JSSemi || value.kind === SyntaxKind.JSOpenParen || value.kind === SyntaxKind.JSOpenBracket || value.kind === SyntaxKind.JSOpenBrace || value.kind === SyntaxKind.JSCloseParen || value.kind === SyntaxKind.JSCloseBracket || value.kind === SyntaxKind.JSCloseBrace || value.kind === SyntaxKind.JSOperator || value.kind === SyntaxKind.JSForKeyword || value.kind === SyntaxKind.JSWhileKeyword || value.kind === SyntaxKind.JSFunctionKeyword || value.kind === SyntaxKind.JSExportKeyword || value.kind === SyntaxKind.JSLetKeyword || value.kind === SyntaxKind.JSConstKeyword || value.kind === SyntaxKind.JSAsKeyword || value.kind === SyntaxKind.JSImportKeyword || value.kind === SyntaxKind.JSCatchKeyword || value.kind === SyntaxKind.JSFinallyKeyword || value.kind === SyntaxKind.JSTryKeyword || value.kind === SyntaxKind.JSReturnKeyword || value.kind === SyntaxKind.JSFromKeyword || value.kind === SyntaxKind.JSInteger || value.kind === SyntaxKind.JSString || value.kind === SyntaxKind.JSIdentifier || value.kind === SyntaxKind.EndOfFile; }
|
||
|
|
||
|
export function isJSIdentifier(value: any): value is JSIdentifier { return value.kind === SyntaxKind.JSIdentifier; }
|
||
|
|
||
|
export function isJSString(value: any): value is JSString { return value.kind === SyntaxKind.JSString; }
|
||
|
|
||
|
export function isJSInteger(value: any): value is JSInteger { return value.kind === SyntaxKind.JSInteger; }
|
||
|
|
||
|
export function isJSFromKeyword(value: any): value is JSFromKeyword { return value.kind === SyntaxKind.JSFromKeyword; }
|
||
|
|
||
|
export function isJSReturnKeyword(value: any): value is JSReturnKeyword { return value.kind === SyntaxKind.JSReturnKeyword; }
|
||
|
|
||
|
export function isJSTryKeyword(value: any): value is JSTryKeyword { return value.kind === SyntaxKind.JSTryKeyword; }
|
||
|
|
||
|
export function isJSFinallyKeyword(value: any): value is JSFinallyKeyword { return value.kind === SyntaxKind.JSFinallyKeyword; }
|
||
|
|
||
|
export function isJSCatchKeyword(value: any): value is JSCatchKeyword { return value.kind === SyntaxKind.JSCatchKeyword; }
|
||
|
|
||
|
export function isJSImportKeyword(value: any): value is JSImportKeyword { return value.kind === SyntaxKind.JSImportKeyword; }
|
||
|
|
||
|
export function isJSAsKeyword(value: any): value is JSAsKeyword { return value.kind === SyntaxKind.JSAsKeyword; }
|
||
|
|
||
|
export function isJSConstKeyword(value: any): value is JSConstKeyword { return value.kind === SyntaxKind.JSConstKeyword; }
|
||
|
|
||
|
export function isJSLetKeyword(value: any): value is JSLetKeyword { return value.kind === SyntaxKind.JSLetKeyword; }
|
||
|
|
||
|
export function isJSExportKeyword(value: any): value is JSExportKeyword { return value.kind === SyntaxKind.JSExportKeyword; }
|
||
|
|
||
|
export function isJSFunctionKeyword(value: any): value is JSFunctionKeyword { return value.kind === SyntaxKind.JSFunctionKeyword; }
|
||
|
|
||
|
export function isJSWhileKeyword(value: any): value is JSWhileKeyword { return value.kind === SyntaxKind.JSWhileKeyword; }
|
||
|
|
||
|
export function isJSForKeyword(value: any): value is JSForKeyword { return value.kind === SyntaxKind.JSForKeyword; }
|
||
|
|
||
|
export function isJSOperatorLike(value: any): value is JSOperatorLike { return value.kind === SyntaxKind.JSNotOp || value.kind === SyntaxKind.JSBNotOp || value.kind === SyntaxKind.JSBAndOp || value.kind === SyntaxKind.JSBXorOp || value.kind === SyntaxKind.JSBOrOp || value.kind === SyntaxKind.JSGtOp || value.kind === SyntaxKind.JSLtOp || value.kind === SyntaxKind.JSSubOp || value.kind === SyntaxKind.JSDivOp || value.kind === SyntaxKind.JSAddOp || value.kind === SyntaxKind.JSMulOp; }
|
||
|
|
||
|
export function isJSOperator(value: any): value is JSOperator { return value.kind === SyntaxKind.JSOperator; }
|
||
|
|
||
|
export function isJSCloseBrace(value: any): value is JSCloseBrace { return value.kind === SyntaxKind.JSCloseBrace; }
|
||
|
|
||
|
export function isJSCloseBracket(value: any): value is JSCloseBracket { return value.kind === SyntaxKind.JSCloseBracket; }
|
||
|
|
||
|
export function isJSCloseParen(value: any): value is JSCloseParen { return value.kind === SyntaxKind.JSCloseParen; }
|
||
|
|
||
|
export function isJSOpenBrace(value: any): value is JSOpenBrace { return value.kind === SyntaxKind.JSOpenBrace; }
|
||
|
|
||
|
export function isJSOpenBracket(value: any): value is JSOpenBracket { return value.kind === SyntaxKind.JSOpenBracket; }
|
||
|
|
||
|
export function isJSOpenParen(value: any): value is JSOpenParen { return value.kind === SyntaxKind.JSOpenParen; }
|
||
|
|
||
|
export function isJSSemi(value: any): value is JSSemi { return value.kind === SyntaxKind.JSSemi; }
|
||
|
|
||
|
export function isJSComma(value: any): value is JSComma { return value.kind === SyntaxKind.JSComma; }
|
||
|
|
||
|
export function isJSDot(value: any): value is JSDot { return value.kind === SyntaxKind.JSDot; }
|
||
|
|
||
|
export function isJSDotDotDot(value: any): value is JSDotDotDot { return value.kind === SyntaxKind.JSDotDotDot; }
|
||
|
|
||
|
export function isJSMulOp(value: any): value is JSMulOp { return value.kind === SyntaxKind.JSMulOp; }
|
||
|
|
||
|
export function isJSAddOp(value: any): value is JSAddOp { return value.kind === SyntaxKind.JSAddOp; }
|
||
|
|
||
|
export function isJSDivOp(value: any): value is JSDivOp { return value.kind === SyntaxKind.JSDivOp; }
|
||
|
|
||
|
export function isJSSubOp(value: any): value is JSSubOp { return value.kind === SyntaxKind.JSSubOp; }
|
||
|
|
||
|
export function isJSLtOp(value: any): value is JSLtOp { return value.kind === SyntaxKind.JSLtOp; }
|
||
|
|
||
|
export function isJSGtOp(value: any): value is JSGtOp { return value.kind === SyntaxKind.JSGtOp; }
|
||
|
|
||
|
export function isJSBOrOp(value: any): value is JSBOrOp { return value.kind === SyntaxKind.JSBOrOp; }
|
||
|
|
||
|
export function isJSBXorOp(value: any): value is JSBXorOp { return value.kind === SyntaxKind.JSBXorOp; }
|
||
|
|
||
|
export function isJSBAndOp(value: any): value is JSBAndOp { return value.kind === SyntaxKind.JSBAndOp; }
|
||
|
|
||
|
export function isJSBNotOp(value: any): value is JSBNotOp { return value.kind === SyntaxKind.JSBNotOp; }
|
||
|
|
||
|
export function isJSNotOp(value: any): value is JSNotOp { return value.kind === SyntaxKind.JSNotOp; }
|
||
|
|
||
|
export function isJSPattern(value: any): value is JSPattern { return value.kind === SyntaxKind.JSBindPattern; }
|
||
|
|
||
|
export function isJSBindPattern(value: any): value is JSBindPattern { return value.kind === SyntaxKind.JSBindPattern; }
|
||
|
|
||
|
export function isJSExpression(value: any): value is JSExpression { return value.kind === SyntaxKind.JSReferenceExpression || value.kind === SyntaxKind.JSLiteralExpression || value.kind === SyntaxKind.JSConditionalExpression || value.kind === SyntaxKind.JSSequenceExpression || value.kind === SyntaxKind.JSNewExpression || value.kind === SyntaxKind.JSUnaryExpression || value.kind === SyntaxKind.JSBinaryExpression || value.kind === SyntaxKind.JSCallExpression || value.kind === SyntaxKind.JSMemberExpression || value.kind === SyntaxKind.JSConstantExpression; }
|
||
|
|
||
|
export function isJSConstantExpression(value: any): value is JSConstantExpression { return value.kind === SyntaxKind.JSConstantExpression; }
|
||
|
|
||
|
export function isJSMemberExpression(value: any): value is JSMemberExpression { return value.kind === SyntaxKind.JSMemberExpression; }
|
||
|
|
||
|
export function isJSCallExpression(value: any): value is JSCallExpression { return value.kind === SyntaxKind.JSCallExpression; }
|
||
|
|
||
|
export function isJSBinaryExpression(value: any): value is JSBinaryExpression { return value.kind === SyntaxKind.JSBinaryExpression; }
|
||
|
|
||
|
export function isJSUnaryExpression(value: any): value is JSUnaryExpression { return value.kind === SyntaxKind.JSUnaryExpression; }
|
||
|
|
||
|
export function isJSNewExpression(value: any): value is JSNewExpression { return value.kind === SyntaxKind.JSNewExpression; }
|
||
|
|
||
|
export function isJSSequenceExpression(value: any): value is JSSequenceExpression { return value.kind === SyntaxKind.JSSequenceExpression; }
|
||
|
|
||
|
export function isJSConditionalExpression(value: any): value is JSConditionalExpression { return value.kind === SyntaxKind.JSConditionalExpression; }
|
||
|
|
||
|
export function isJSLiteralExpression(value: any): value is JSLiteralExpression { return value.kind === SyntaxKind.JSLiteralExpression; }
|
||
|
|
||
|
export function isJSReferenceExpression(value: any): value is JSReferenceExpression { return value.kind === SyntaxKind.JSReferenceExpression; }
|
||
|
|
||
|
export function isJSSourceElement(value: any): value is JSSourceElement { return value.kind === SyntaxKind.JSLetDeclaration || value.kind === SyntaxKind.JSArrowFunctionDeclaration || value.kind === SyntaxKind.JSFunctionDeclaration || value.kind === SyntaxKind.JSImportDeclaration || value.kind === SyntaxKind.JSReturnStatement || value.kind === SyntaxKind.JSConditionalStatement || value.kind === SyntaxKind.JSExpressionStatement || value.kind === SyntaxKind.JSTryCatchStatement; }
|
||
|
|
||
|
export function isJSFunctionBodyElement(value: any): value is JSFunctionBodyElement { return value.kind === SyntaxKind.JSLetDeclaration || value.kind === SyntaxKind.JSArrowFunctionDeclaration || value.kind === SyntaxKind.JSFunctionDeclaration || value.kind === SyntaxKind.JSImportDeclaration || value.kind === SyntaxKind.JSReturnStatement || value.kind === SyntaxKind.JSConditionalStatement || value.kind === SyntaxKind.JSExpressionStatement || value.kind === SyntaxKind.JSTryCatchStatement; }
|
||
|
|
||
|
export function isJSStatement(value: any): value is JSStatement { return value.kind === SyntaxKind.JSReturnStatement || value.kind === SyntaxKind.JSConditionalStatement || value.kind === SyntaxKind.JSExpressionStatement || value.kind === SyntaxKind.JSTryCatchStatement; }
|
||
|
|
||
|
export function isJSCatchBlock(value: any): value is JSCatchBlock { return value.kind === SyntaxKind.JSCatchBlock; }
|
||
|
|
||
|
export function isJSTryCatchStatement(value: any): value is JSTryCatchStatement { return value.kind === SyntaxKind.JSTryCatchStatement; }
|
||
|
|
||
|
export function isJSExpressionStatement(value: any): value is JSExpressionStatement { return value.kind === SyntaxKind.JSExpressionStatement; }
|
||
|
|
||
|
export function isJSConditionalCase(value: any): value is JSConditionalCase { return value.kind === SyntaxKind.JSConditionalCase; }
|
||
|
|
||
|
export function isJSConditionalStatement(value: any): value is JSConditionalStatement { return value.kind === SyntaxKind.JSConditionalStatement; }
|
||
|
|
||
|
export function isJSReturnStatement(value: any): value is JSReturnStatement { return value.kind === SyntaxKind.JSReturnStatement; }
|
||
|
|
||
|
export function isJSParameter(value: any): value is JSParameter { return value.kind === SyntaxKind.JSParameter; }
|
||
|
|
||
|
export function isJSDeclaration(value: any): value is JSDeclaration { return value.kind === SyntaxKind.JSLetDeclaration || value.kind === SyntaxKind.JSArrowFunctionDeclaration || value.kind === SyntaxKind.JSFunctionDeclaration || value.kind === SyntaxKind.JSImportDeclaration; }
|
||
|
|
||
|
export function isJSImportBinding(value: any): value is JSImportBinding { return value.kind === SyntaxKind.JSImportAsBinding || value.kind === SyntaxKind.JSImportStarBinding; }
|
||
|
|
||
|
export function isJSImportStarBinding(value: any): value is JSImportStarBinding { return value.kind === SyntaxKind.JSImportStarBinding; }
|
||
|
|
||
|
export function isJSImportAsBinding(value: any): value is JSImportAsBinding { return value.kind === SyntaxKind.JSImportAsBinding; }
|
||
|
|
||
|
export function isJSImportDeclaration(value: any): value is JSImportDeclaration { return value.kind === SyntaxKind.JSImportDeclaration; }
|
||
|
|
||
|
export function isJSFunctionDeclaration(value: any): value is JSFunctionDeclaration { return value.kind === SyntaxKind.JSFunctionDeclaration; }
|
||
|
|
||
|
export function isJSArrowFunctionDeclaration(value: any): value is JSArrowFunctionDeclaration { return value.kind === SyntaxKind.JSArrowFunctionDeclaration; }
|
||
|
|
||
|
export function isJSLetDeclaration(value: any): value is JSLetDeclaration { return value.kind === SyntaxKind.JSLetDeclaration; }
|
||
|
|
||
|
export function isJSSourceFile(value: any): value is JSSourceFile { return value.kind === SyntaxKind.JSSourceFile; }
|
||
|
|
||
|
export function isSyntax(value: any): value is Syntax { return typeof value === "object" && value !== null && value instanceof SyntaxBase; }
|
||
|
|
||
|
export class Visitor {
|
||
|
protected visitEndOfFile(node: EndOfFile): void { this.visitBoltToken(node); this.visitJSToken(node); }
|
||
|
protected visitToken(node: Token): void { }
|
||
|
protected visitSourceFile(node: SourceFile): void { }
|
||
|
protected visitFunctionBodyElement(node: FunctionBodyElement): void { }
|
||
|
protected visitReturnStatement(node: ReturnStatement): void { }
|
||
|
protected visitBoltSyntax(node: BoltSyntax): void { }
|
||
|
protected visitBoltToken(node: BoltToken): void { this.visitToken(node); this.visitBoltSyntax(node); }
|
||
|
protected visitBoltStringLiteral(node: BoltStringLiteral): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltIntegerLiteral(node: BoltIntegerLiteral): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltSymbol(node: BoltSymbol): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltIdentifier(node: BoltIdentifier): void { this.visitBoltSymbol(node); }
|
||
|
protected visitBoltOperatorLike(node: BoltOperatorLike): void { this.visitBoltSymbol(node); }
|
||
|
protected visitBoltOperator(node: BoltOperator): void { this.visitBoltSymbol(node); }
|
||
|
protected visitBoltAssignment(node: BoltAssignment): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltComma(node: BoltComma): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltSemi(node: BoltSemi): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltColon(node: BoltColon): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltColonColon(node: BoltColonColon): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltDot(node: BoltDot): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltDotDot(node: BoltDotDot): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltRArrow(node: BoltRArrow): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltRArrowAlt(node: BoltRArrowAlt): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltLArrow(node: BoltLArrow): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltEqSign(node: BoltEqSign): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltGtSign(node: BoltGtSign): void { this.visitBoltToken(node); this.visitBoltOperatorLike(node); }
|
||
|
protected visitBoltExMark(node: BoltExMark): void { this.visitBoltToken(node); this.visitBoltOperatorLike(node); }
|
||
|
protected visitBoltLtSign(node: BoltLtSign): void { this.visitBoltToken(node); this.visitBoltOperatorLike(node); }
|
||
|
protected visitBoltVBar(node: BoltVBar): void { this.visitBoltToken(node); this.visitBoltOperatorLike(node); }
|
||
|
protected visitBoltKeyword(node: BoltKeyword): void { }
|
||
|
protected visitBoltWhereKeyword(node: BoltWhereKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltQuoteKeyword(node: BoltQuoteKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltFnKeyword(node: BoltFnKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltForeignKeyword(node: BoltForeignKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltForKeyword(node: BoltForKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltLetKeyword(node: BoltLetKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltReturnKeyword(node: BoltReturnKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltLoopKeyword(node: BoltLoopKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltYieldKeyword(node: BoltYieldKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltMatchKeyword(node: BoltMatchKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltImportKeyword(node: BoltImportKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltExportKeyword(node: BoltExportKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltPubKeyword(node: BoltPubKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltModKeyword(node: BoltModKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltMutKeyword(node: BoltMutKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltEnumKeyword(node: BoltEnumKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltStructKeyword(node: BoltStructKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltTypeKeyword(node: BoltTypeKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltTraitKeyword(node: BoltTraitKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltImplKeyword(node: BoltImplKeyword): void { this.visitBoltToken(node); this.visitBoltKeyword(node); }
|
||
|
protected visitBoltPunctuated(node: BoltPunctuated): void { this.visitBoltToken(node); }
|
||
|
protected visitBoltParenthesized(node: BoltParenthesized): void { this.visitBoltPunctuated(node); }
|
||
|
protected visitBoltBraced(node: BoltBraced): void { this.visitBoltPunctuated(node); }
|
||
|
protected visitBoltBracketed(node: BoltBracketed): void { this.visitBoltPunctuated(node); }
|
||
|
protected visitBoltSourceFile(node: BoltSourceFile): void { this.visitBoltSyntax(node); this.visitSourceFile(node); }
|
||
|
protected visitBoltQualName(node: BoltQualName): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltTypeExpression(node: BoltTypeExpression): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltTypeOfExpression(node: BoltTypeOfExpression): void { this.visitBoltTypeExpression(node); }
|
||
|
protected visitBoltReferenceTypeExpression(node: BoltReferenceTypeExpression): void { this.visitBoltTypeExpression(node); }
|
||
|
protected visitBoltFunctionTypeExpression(node: BoltFunctionTypeExpression): void { this.visitBoltTypeExpression(node); }
|
||
|
protected visitBoltLiftedTypeExpression(node: BoltLiftedTypeExpression): void { this.visitBoltTypeExpression(node); }
|
||
|
protected visitBoltTypeParameter(node: BoltTypeParameter): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltPattern(node: BoltPattern): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltBindPattern(node: BoltBindPattern): void { this.visitBoltPattern(node); }
|
||
|
protected visitBoltTypePattern(node: BoltTypePattern): void { this.visitBoltPattern(node); }
|
||
|
protected visitBoltExpressionPattern(node: BoltExpressionPattern): void { this.visitBoltPattern(node); }
|
||
|
protected visitBoltTuplePatternElement(node: BoltTuplePatternElement): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltTuplePattern(node: BoltTuplePattern): void { this.visitBoltPattern(node); }
|
||
|
protected visitBoltRecordFieldPattern(node: BoltRecordFieldPattern): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltRecordPattern(node: BoltRecordPattern): void { this.visitBoltPattern(node); }
|
||
|
protected visitBoltExpression(node: BoltExpression): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltQuoteExpression(node: BoltQuoteExpression): void { this.visitBoltExpression(node); }
|
||
|
protected visitBoltTupleExpression(node: BoltTupleExpression): void { this.visitBoltExpression(node); }
|
||
|
protected visitBoltReferenceExpression(node: BoltReferenceExpression): void { this.visitBoltExpression(node); }
|
||
|
protected visitBoltMemberExpression(node: BoltMemberExpression): void { this.visitBoltExpression(node); }
|
||
|
protected visitBoltFunctionExpression(node: BoltFunctionExpression): void { this.visitBoltExpression(node); }
|
||
|
protected visitBoltCallExpression(node: BoltCallExpression): void { this.visitBoltExpression(node); }
|
||
|
protected visitBoltYieldExpression(node: BoltYieldExpression): void { this.visitBoltExpression(node); }
|
||
|
protected visitBoltMatchArm(node: BoltMatchArm): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltMatchExpression(node: BoltMatchExpression): void { this.visitBoltExpression(node); }
|
||
|
protected visitBoltCase(node: BoltCase): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltCaseExpression(node: BoltCaseExpression): void { this.visitBoltExpression(node); }
|
||
|
protected visitBoltBlockExpression(node: BoltBlockExpression): void { this.visitBoltExpression(node); }
|
||
|
protected visitBoltConstantExpression(node: BoltConstantExpression): void { this.visitBoltExpression(node); }
|
||
|
protected visitBoltStatement(node: BoltStatement): void { this.visitBoltSyntax(node); this.visitBoltFunctionBodyElement(node); this.visitBoltSourceElement(node); }
|
||
|
protected visitBoltReturnStatement(node: BoltReturnStatement): void { this.visitReturnStatement(node); this.visitBoltStatement(node); }
|
||
|
protected visitBoltConditionalCase(node: BoltConditionalCase): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltConditionalStatement(node: BoltConditionalStatement): void { this.visitBoltStatement(node); }
|
||
|
protected visitBoltResumeStatement(node: BoltResumeStatement): void { this.visitBoltStatement(node); }
|
||
|
protected visitBoltExpressionStatement(node: BoltExpressionStatement): void { this.visitBoltStatement(node); }
|
||
|
protected visitBoltLoopStatement(node: BoltLoopStatement): void { this.visitBoltStatement(node); }
|
||
|
protected visitBoltParameter(node: BoltParameter): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltDeclaration(node: BoltDeclaration): void { this.visitBoltSyntax(node); this.visitBoltSourceElement(node); }
|
||
|
protected visitBoltTypeDeclaration(node: BoltTypeDeclaration): void { this.visitBoltSyntax(node); this.visitBoltSourceElement(node); }
|
||
|
protected visitBoltModule(node: BoltModule): void { this.visitBoltSyntax(node); this.visitBoltSourceElement(node); }
|
||
|
protected visitBoltDeclarationLike(node: BoltDeclarationLike): void { }
|
||
|
protected visitBoltFunctionBodyElement(node: BoltFunctionBodyElement): void { this.visitFunctionBodyElement(node); }
|
||
|
protected visitBoltFunctionDeclaration(node: BoltFunctionDeclaration): void { this.visitBoltFunctionBodyElement(node); this.visitBoltDeclaration(node); this.visitBoltDeclarationLike(node); this.visitBoltTraitOrImplElement(node); }
|
||
|
protected visitBoltVariableDeclaration(node: BoltVariableDeclaration): void { this.visitBoltFunctionBodyElement(node); this.visitBoltDeclaration(node); this.visitBoltDeclarationLike(node); }
|
||
|
protected visitBoltImportSymbol(node: BoltImportSymbol): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltPlainImportSymbol(node: BoltPlainImportSymbol): void { this.visitBoltImportSymbol(node); }
|
||
|
protected visitBoltImportDirective(node: BoltImportDirective): void { this.visitBoltSyntax(node); this.visitBoltSourceElement(node); }
|
||
|
protected visitBoltExportSymbol(node: BoltExportSymbol): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltPlainExportSymbol(node: BoltPlainExportSymbol): void { this.visitBoltExportSymbol(node); }
|
||
|
protected visitBoltExportDirective(node: BoltExportDirective): void { this.visitBoltSourceElement(node); }
|
||
|
protected visitBoltTraitOrImplElement(node: BoltTraitOrImplElement): void { }
|
||
|
protected visitBoltTraitDeclaration(node: BoltTraitDeclaration): void { this.visitBoltDeclarationLike(node); this.visitBoltTypeDeclaration(node); }
|
||
|
protected visitBoltImplDeclaration(node: BoltImplDeclaration): void { this.visitBoltTypeDeclaration(node); this.visitBoltDeclarationLike(node); }
|
||
|
protected visitBoltTypeAliasDeclaration(node: BoltTypeAliasDeclaration): void { this.visitBoltDeclarationLike(node); this.visitBoltTypeDeclaration(node); this.visitBoltTraitOrImplElement(node); }
|
||
|
protected visitBoltRecordMember(node: BoltRecordMember): void { this.visitBoltSyntax(node); }
|
||
|
protected visitBoltRecordField(node: BoltRecordField): void { this.visitBoltRecordMember(node); }
|
||
|
protected visitBoltRecordDeclaration(node: BoltRecordDeclaration): void { this.visitBoltDeclaration(node); this.visitBoltTypeDeclaration(node); this.visitBoltDeclarationLike(node); }
|
||
|
protected visitBoltSourceElement(node: BoltSourceElement): void { }
|
||
|
protected visitBoltMacroCall(node: BoltMacroCall): void { this.visitBoltRecordMember(node); this.visitBoltSourceElement(node); this.visitBoltTraitOrImplElement(node); this.visitBoltFunctionBodyElement(node); }
|
||
|
protected visitJSSyntax(node: JSSyntax): void { }
|
||
|
protected visitJSToken(node: JSToken): void { this.visitJSSyntax(node); this.visitToken(node); }
|
||
|
protected visitJSIdentifier(node: JSIdentifier): void { this.visitJSToken(node); }
|
||
|
protected visitJSString(node: JSString): void { this.visitJSToken(node); }
|
||
|
protected visitJSInteger(node: JSInteger): void { this.visitJSToken(node); }
|
||
|
protected visitJSFromKeyword(node: JSFromKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSReturnKeyword(node: JSReturnKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSTryKeyword(node: JSTryKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSFinallyKeyword(node: JSFinallyKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSCatchKeyword(node: JSCatchKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSImportKeyword(node: JSImportKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSAsKeyword(node: JSAsKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSConstKeyword(node: JSConstKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSLetKeyword(node: JSLetKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSExportKeyword(node: JSExportKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSFunctionKeyword(node: JSFunctionKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSWhileKeyword(node: JSWhileKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSForKeyword(node: JSForKeyword): void { this.visitJSToken(node); }
|
||
|
protected visitJSOperatorLike(node: JSOperatorLike): void { }
|
||
|
protected visitJSOperator(node: JSOperator): void { this.visitJSToken(node); }
|
||
|
protected visitJSCloseBrace(node: JSCloseBrace): void { this.visitJSToken(node); }
|
||
|
protected visitJSCloseBracket(node: JSCloseBracket): void { this.visitJSToken(node); }
|
||
|
protected visitJSCloseParen(node: JSCloseParen): void { this.visitJSToken(node); }
|
||
|
protected visitJSOpenBrace(node: JSOpenBrace): void { this.visitJSToken(node); }
|
||
|
protected visitJSOpenBracket(node: JSOpenBracket): void { this.visitJSToken(node); }
|
||
|
protected visitJSOpenParen(node: JSOpenParen): void { this.visitJSToken(node); }
|
||
|
protected visitJSSemi(node: JSSemi): void { this.visitJSToken(node); }
|
||
|
protected visitJSComma(node: JSComma): void { this.visitJSToken(node); }
|
||
|
protected visitJSDot(node: JSDot): void { this.visitJSToken(node); }
|
||
|
protected visitJSDotDotDot(node: JSDotDotDot): void { this.visitJSToken(node); }
|
||
|
protected visitJSMulOp(node: JSMulOp): void { this.visitJSToken(node); this.visitJSOperatorLike(node); }
|
||
|
protected visitJSAddOp(node: JSAddOp): void { this.visitJSToken(node); this.visitJSOperatorLike(node); }
|
||
|
protected visitJSDivOp(node: JSDivOp): void { this.visitJSToken(node); this.visitJSOperatorLike(node); }
|
||
|
protected visitJSSubOp(node: JSSubOp): void { this.visitJSToken(node); this.visitJSOperatorLike(node); }
|
||
|
protected visitJSLtOp(node: JSLtOp): void { this.visitJSToken(node); this.visitJSOperatorLike(node); }
|
||
|
protected visitJSGtOp(node: JSGtOp): void { this.visitJSToken(node); this.visitJSOperatorLike(node); }
|
||
|
protected visitJSBOrOp(node: JSBOrOp): void { this.visitJSToken(node); this.visitJSOperatorLike(node); }
|
||
|
protected visitJSBXorOp(node: JSBXorOp): void { this.visitJSToken(node); this.visitJSOperatorLike(node); }
|
||
|
protected visitJSBAndOp(node: JSBAndOp): void { this.visitJSToken(node); this.visitJSOperatorLike(node); }
|
||
|
protected visitJSBNotOp(node: JSBNotOp): void { this.visitJSToken(node); this.visitJSOperatorLike(node); }
|
||
|
protected visitJSNotOp(node: JSNotOp): void { this.visitJSToken(node); this.visitJSOperatorLike(node); }
|
||
|
protected visitJSPattern(node: JSPattern): void { this.visitJSSyntax(node); }
|
||
|
protected visitJSBindPattern(node: JSBindPattern): void { this.visitJSPattern(node); }
|
||
|
protected visitJSExpression(node: JSExpression): void { this.visitJSSyntax(node); }
|
||
|
protected visitJSConstantExpression(node: JSConstantExpression): void { this.visitJSExpression(node); }
|
||
|
protected visitJSMemberExpression(node: JSMemberExpression): void { this.visitJSExpression(node); }
|
||
|
protected visitJSCallExpression(node: JSCallExpression): void { this.visitJSExpression(node); }
|
||
|
protected visitJSBinaryExpression(node: JSBinaryExpression): void { this.visitJSExpression(node); }
|
||
|
protected visitJSUnaryExpression(node: JSUnaryExpression): void { this.visitJSExpression(node); }
|
||
|
protected visitJSNewExpression(node: JSNewExpression): void { this.visitJSExpression(node); }
|
||
|
protected visitJSSequenceExpression(node: JSSequenceExpression): void { this.visitJSExpression(node); }
|
||
|
protected visitJSConditionalExpression(node: JSConditionalExpression): void { this.visitJSExpression(node); }
|
||
|
protected visitJSLiteralExpression(node: JSLiteralExpression): void { this.visitJSExpression(node); }
|
||
|
protected visitJSReferenceExpression(node: JSReferenceExpression): void { this.visitJSExpression(node); }
|
||
|
protected visitJSSourceElement(node: JSSourceElement): void { }
|
||
|
protected visitJSFunctionBodyElement(node: JSFunctionBodyElement): void { this.visitFunctionBodyElement(node); }
|
||
|
protected visitJSStatement(node: JSStatement): void { this.visitJSSyntax(node); this.visitJSSourceElement(node); this.visitJSFunctionBodyElement(node); }
|
||
|
protected visitJSCatchBlock(node: JSCatchBlock): void { this.visitJSSyntax(node); }
|
||
|
protected visitJSTryCatchStatement(node: JSTryCatchStatement): void { this.visitJSStatement(node); }
|
||
|
protected visitJSExpressionStatement(node: JSExpressionStatement): void { this.visitJSStatement(node); }
|
||
|
protected visitJSConditionalCase(node: JSConditionalCase): void { this.visitJSSyntax(node); }
|
||
|
protected visitJSConditionalStatement(node: JSConditionalStatement): void { this.visitJSStatement(node); }
|
||
|
protected visitJSReturnStatement(node: JSReturnStatement): void { this.visitReturnStatement(node); this.visitJSStatement(node); }
|
||
|
protected visitJSParameter(node: JSParameter): void { this.visitJSSyntax(node); }
|
||
|
protected visitJSDeclaration(node: JSDeclaration): void { this.visitJSSyntax(node); this.visitJSSourceElement(node); }
|
||
|
protected visitJSImportBinding(node: JSImportBinding): void { this.visitJSSyntax(node); }
|
||
|
protected visitJSImportStarBinding(node: JSImportStarBinding): void { this.visitJSImportBinding(node); }
|
||
|
protected visitJSImportAsBinding(node: JSImportAsBinding): void { this.visitJSImportBinding(node); }
|
||
|
protected visitJSImportDeclaration(node: JSImportDeclaration): void { this.visitJSDeclaration(node); this.visitJSFunctionBodyElement(node); }
|
||
|
protected visitJSFunctionDeclaration(node: JSFunctionDeclaration): void { this.visitJSDeclaration(node); this.visitJSFunctionBodyElement(node); }
|
||
|
protected visitJSArrowFunctionDeclaration(node: JSArrowFunctionDeclaration): void { this.visitJSDeclaration(node); this.visitJSFunctionBodyElement(node); }
|
||
|
protected visitJSLetDeclaration(node: JSLetDeclaration): void { this.visitJSDeclaration(node); this.visitJSFunctionBodyElement(node); }
|
||
|
protected visitJSSourceFile(node: JSSourceFile): void { this.visitJSSyntax(node); this.visitSourceFile(node); }
|
||
|
}
|
||
|
|
||
|
export function kindToString(kind: SyntaxKind): string { if (SyntaxKind[kind] === undefined)
|
||
|
throw new Error("The SyntaxKind value that was passed in was not found."); return SyntaxKind[kind]; }
|
||
|
|
||
|
export type Syntax = EndOfFile | BoltStringLiteral | BoltIntegerLiteral | BoltIdentifier | BoltOperator | BoltAssignment | BoltComma | BoltSemi | BoltColon | BoltColonColon | BoltDot | BoltDotDot | BoltRArrow | BoltRArrowAlt | BoltLArrow | BoltEqSign | BoltGtSign | BoltExMark | BoltLtSign | BoltVBar | BoltWhereKeyword | BoltQuoteKeyword | BoltFnKeyword | BoltForeignKeyword | BoltForKeyword | BoltLetKeyword | BoltReturnKeyword | BoltLoopKeyword | BoltYieldKeyword | BoltMatchKeyword | BoltImportKeyword | BoltExportKeyword | BoltPubKeyword | BoltModKeyword | BoltMutKeyword | BoltEnumKeyword | BoltStructKeyword | BoltTypeKeyword | BoltTraitKeyword | BoltImplKeyword | BoltParenthesized | BoltBraced | BoltBracketed | BoltSourceFile | BoltQualName | BoltTypeOfExpression | BoltReferenceTypeExpression | BoltFunctionTypeExpression | BoltLiftedTypeExpression | BoltTypeParameter | BoltBindPattern | BoltTypePattern | BoltExpressionPattern | BoltTuplePatternElement | BoltTuplePattern | BoltRecordFieldPattern | BoltRecordPattern | BoltQuoteExpression | BoltTupleExpression | BoltReferenceExpression | BoltMemberExpression | BoltFunctionExpression | BoltCallExpression | BoltYieldExpression | BoltMatchArm | BoltMatchExpression | BoltCase | BoltCaseExpression | BoltBlockExpression | BoltConstantExpression | BoltReturnStatement | BoltConditionalCase | BoltConditionalStatement | BoltResumeStatement | BoltExpressionStatement | BoltLoopStatement | BoltParameter | BoltModule | BoltFunctionDeclaration | BoltVariableDeclaration | BoltPlainImportSymbol | BoltImportDirective | BoltPlainExportSymbol | BoltExportDirective | BoltTraitDeclaration | BoltImplDeclaration | BoltTypeAliasDeclaration | BoltRecordField | BoltRecordDeclaration | BoltMacroCall | JSIdentifier | JSString | JSInteger | JSFromKeyword | JSReturnKeyword | JSTryKeyword | JSFinallyKeyword | JSCatchKeyword | JSImportKeyword | JSAsKeyword | JSConstKeyword | JSLetKeyword | JSExportKeyword | JSFunctionKeyword | JSWhileKeyword | JSForKeyword | JSOperator | JSCloseBrace | JSCloseBracket | JSCloseParen | JSOpenBrace | JSOpenBracket | JSOpenParen | JSSemi | JSComma | JSDot | JSDotDotDot | JSMulOp | JSAddOp | JSDivOp | JSSubOp | JSLtOp | JSGtOp | JSBOrOp | JSBXorOp | JSBAndOp | JSBNotOp | JSNotOp | JSBindPattern | JSConstantExpression | JSMemberExpression | JSCallExpression | JSBinaryExpression | JSUnaryExpression | JSNewExpression | JSSequenceExpression | JSConditionalExpression | JSLiteralExpression | JSReferenceExpression | JSCatchBlock | JSTryCatchStatement | JSExpressionStatement | JSConditionalCase | JSConditionalStatement | JSReturnStatement | JSParameter | JSImportStarBinding | JSImportAsBinding | JSImportDeclaration | JSFunctionDeclaration | JSArrowFunctionDeclaration | JSLetDeclaration | JSSourceFile;
|
||
|
|
||
|
export enum SyntaxKind {
|
||
|
EndOfFile,
|
||
|
BoltStringLiteral,
|
||
|
BoltIntegerLiteral,
|
||
|
BoltIdentifier,
|
||
|
BoltOperator,
|
||
|
BoltAssignment,
|
||
|
BoltComma,
|
||
|
BoltSemi,
|
||
|
BoltColon,
|
||
|
BoltColonColon,
|
||
|
BoltDot,
|
||
|
BoltDotDot,
|
||
|
BoltRArrow,
|
||
|
BoltRArrowAlt,
|
||
|
BoltLArrow,
|
||
|
BoltEqSign,
|
||
|
BoltGtSign,
|
||
|
BoltExMark,
|
||
|
BoltLtSign,
|
||
|
BoltVBar,
|
||
|
BoltWhereKeyword,
|
||
|
BoltQuoteKeyword,
|
||
|
BoltFnKeyword,
|
||
|
BoltForeignKeyword,
|
||
|
BoltForKeyword,
|
||
|
BoltLetKeyword,
|
||
|
BoltReturnKeyword,
|
||
|
BoltLoopKeyword,
|
||
|
BoltYieldKeyword,
|
||
|
BoltMatchKeyword,
|
||
|
BoltImportKeyword,
|
||
|
BoltExportKeyword,
|
||
|
BoltPubKeyword,
|
||
|
BoltModKeyword,
|
||
|
BoltMutKeyword,
|
||
|
BoltEnumKeyword,
|
||
|
BoltStructKeyword,
|
||
|
BoltTypeKeyword,
|
||
|
BoltTraitKeyword,
|
||
|
BoltImplKeyword,
|
||
|
BoltParenthesized,
|
||
|
BoltBraced,
|
||
|
BoltBracketed,
|
||
|
BoltSourceFile,
|
||
|
BoltQualName,
|
||
|
BoltTypeOfExpression,
|
||
|
BoltReferenceTypeExpression,
|
||
|
BoltFunctionTypeExpression,
|
||
|
BoltLiftedTypeExpression,
|
||
|
BoltTypeParameter,
|
||
|
BoltBindPattern,
|
||
|
BoltTypePattern,
|
||
|
BoltExpressionPattern,
|
||
|
BoltTuplePatternElement,
|
||
|
BoltTuplePattern,
|
||
|
BoltRecordFieldPattern,
|
||
|
BoltRecordPattern,
|
||
|
BoltQuoteExpression,
|
||
|
BoltTupleExpression,
|
||
|
BoltReferenceExpression,
|
||
|
BoltMemberExpression,
|
||
|
BoltFunctionExpression,
|
||
|
BoltCallExpression,
|
||
|
BoltYieldExpression,
|
||
|
BoltMatchArm,
|
||
|
BoltMatchExpression,
|
||
|
BoltCase,
|
||
|
BoltCaseExpression,
|
||
|
BoltBlockExpression,
|
||
|
BoltConstantExpression,
|
||
|
BoltReturnStatement,
|
||
|
BoltConditionalCase,
|
||
|
BoltConditionalStatement,
|
||
|
BoltResumeStatement,
|
||
|
BoltExpressionStatement,
|
||
|
BoltLoopStatement,
|
||
|
BoltParameter,
|
||
|
BoltModule,
|
||
|
BoltFunctionDeclaration,
|
||
|
BoltVariableDeclaration,
|
||
|
BoltPlainImportSymbol,
|
||
|
BoltImportDirective,
|
||
|
BoltPlainExportSymbol,
|
||
|
BoltExportDirective,
|
||
|
BoltTraitDeclaration,
|
||
|
BoltImplDeclaration,
|
||
|
BoltTypeAliasDeclaration,
|
||
|
BoltRecordField,
|
||
|
BoltRecordDeclaration,
|
||
|
BoltMacroCall,
|
||
|
JSIdentifier,
|
||
|
JSString,
|
||
|
JSInteger,
|
||
|
JSFromKeyword,
|
||
|
JSReturnKeyword,
|
||
|
JSTryKeyword,
|
||
|
JSFinallyKeyword,
|
||
|
JSCatchKeyword,
|
||
|
JSImportKeyword,
|
||
|
JSAsKeyword,
|
||
|
JSConstKeyword,
|
||
|
JSLetKeyword,
|
||
|
JSExportKeyword,
|
||
|
JSFunctionKeyword,
|
||
|
JSWhileKeyword,
|
||
|
JSForKeyword,
|
||
|
JSOperator,
|
||
|
JSCloseBrace,
|
||
|
JSCloseBracket,
|
||
|
JSCloseParen,
|
||
|
JSOpenBrace,
|
||
|
JSOpenBracket,
|
||
|
JSOpenParen,
|
||
|
JSSemi,
|
||
|
JSComma,
|
||
|
JSDot,
|
||
|
JSDotDotDot,
|
||
|
JSMulOp,
|
||
|
JSAddOp,
|
||
|
JSDivOp,
|
||
|
JSSubOp,
|
||
|
JSLtOp,
|
||
|
JSGtOp,
|
||
|
JSBOrOp,
|
||
|
JSBXorOp,
|
||
|
JSBAndOp,
|
||
|
JSBNotOp,
|
||
|
JSNotOp,
|
||
|
JSBindPattern,
|
||
|
JSConstantExpression,
|
||
|
JSMemberExpression,
|
||
|
JSCallExpression,
|
||
|
JSBinaryExpression,
|
||
|
JSUnaryExpression,
|
||
|
JSNewExpression,
|
||
|
JSSequenceExpression,
|
||
|
JSConditionalExpression,
|
||
|
JSLiteralExpression,
|
||
|
JSReferenceExpression,
|
||
|
JSCatchBlock,
|
||
|
JSTryCatchStatement,
|
||
|
JSExpressionStatement,
|
||
|
JSConditionalCase,
|
||
|
JSConditionalStatement,
|
||
|
JSReturnStatement,
|
||
|
JSParameter,
|
||
|
JSImportStarBinding,
|
||
|
JSImportAsBinding,
|
||
|
JSImportDeclaration,
|
||
|
JSFunctionDeclaration,
|
||
|
JSArrowFunctionDeclaration,
|
||
|
JSLetDeclaration,
|
||
|
JSSourceFile
|
||
|
}
|
||
|
|