amis-rpc-design/node_modules/hermes-parser/dist/HermesParserNodeDeserializers.js
2023-10-07 19:42:30 +08:00

2153 lines
54 KiB
JavaScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*
* @format
* @generated
*/
/*
* !!! GENERATED FILE !!!
*
* Any manual changes to this file will be overwritten. To regenerate run `yarn build`.
*/
// lint directives to let us do some basic validation of generated files
/* eslint no-undef: 'error', no-unused-vars: ['error', {vars: "local"}], no-redeclare: 'error' */
/* global $NonMaybeType, Partial, $ReadOnly, $ReadOnlyArray */
'use strict';
function deserializeEmpty() {
return {
type: 'Empty',
loc: this.addEmptyLoc()
};
}
function deserializeMetadata() {
return {
type: 'Metadata',
loc: this.addEmptyLoc()
};
}
function deserializeFunctionLikeFirst() {
throw new Error('FunctionLike' + ' should not appear in program buffer');
}
function deserializeProgram() {
return {
type: 'Program',
loc: this.addEmptyLoc(),
body: this.deserializeNodeList()
};
}
function deserializeFunctionExpression() {
return {
type: 'FunctionExpression',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
params: this.deserializeNodeList(),
body: this.deserializeNode(),
typeParameters: this.deserializeNode(),
returnType: this.deserializeNode(),
predicate: this.deserializeNode(),
generator: this.deserializeBoolean(),
async: this.deserializeBoolean()
};
}
function deserializeArrowFunctionExpression() {
return {
type: 'ArrowFunctionExpression',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
params: this.deserializeNodeList(),
body: this.deserializeNode(),
typeParameters: this.deserializeNode(),
returnType: this.deserializeNode(),
predicate: this.deserializeNode(),
expression: this.deserializeBoolean(),
async: this.deserializeBoolean()
};
}
function deserializeFunctionDeclaration() {
return {
type: 'FunctionDeclaration',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
params: this.deserializeNodeList(),
body: this.deserializeNode(),
typeParameters: this.deserializeNode(),
returnType: this.deserializeNode(),
predicate: this.deserializeNode(),
generator: this.deserializeBoolean(),
async: this.deserializeBoolean()
};
}
function deserializeComponentDeclaration() {
return {
type: 'ComponentDeclaration',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
params: this.deserializeNodeList(),
body: this.deserializeNode(),
typeParameters: this.deserializeNode(),
rendersType: this.deserializeNode()
};
}
function deserializeFunctionLikeLast() {
throw new Error('FunctionLike' + ' should not appear in program buffer');
}
function deserializeStatementFirst() {
throw new Error('Statement' + ' should not appear in program buffer');
}
function deserializeLoopStatementFirst() {
throw new Error('LoopStatement' + ' should not appear in program buffer');
}
function deserializeWhileStatement() {
return {
type: 'WhileStatement',
loc: this.addEmptyLoc(),
body: this.deserializeNode(),
test: this.deserializeNode()
};
}
function deserializeDoWhileStatement() {
return {
type: 'DoWhileStatement',
loc: this.addEmptyLoc(),
body: this.deserializeNode(),
test: this.deserializeNode()
};
}
function deserializeForInStatement() {
return {
type: 'ForInStatement',
loc: this.addEmptyLoc(),
left: this.deserializeNode(),
right: this.deserializeNode(),
body: this.deserializeNode()
};
}
function deserializeForOfStatement() {
return {
type: 'ForOfStatement',
loc: this.addEmptyLoc(),
left: this.deserializeNode(),
right: this.deserializeNode(),
body: this.deserializeNode(),
await: this.deserializeBoolean()
};
}
function deserializeForStatement() {
return {
type: 'ForStatement',
loc: this.addEmptyLoc(),
init: this.deserializeNode(),
test: this.deserializeNode(),
update: this.deserializeNode(),
body: this.deserializeNode()
};
}
function deserializeLoopStatementLast() {
throw new Error('LoopStatement' + ' should not appear in program buffer');
}
function deserializeDebuggerStatement() {
return {
type: 'DebuggerStatement',
loc: this.addEmptyLoc()
};
}
function deserializeEmptyStatement() {
return {
type: 'EmptyStatement',
loc: this.addEmptyLoc()
};
}
function deserializeBlockStatement() {
return {
type: 'BlockStatement',
loc: this.addEmptyLoc(),
body: this.deserializeNodeList()
};
}
function deserializeBreakStatement() {
return {
type: 'BreakStatement',
loc: this.addEmptyLoc(),
label: this.deserializeNode()
};
}
function deserializeContinueStatement() {
return {
type: 'ContinueStatement',
loc: this.addEmptyLoc(),
label: this.deserializeNode()
};
}
function deserializeThrowStatement() {
return {
type: 'ThrowStatement',
loc: this.addEmptyLoc(),
argument: this.deserializeNode()
};
}
function deserializeReturnStatement() {
return {
type: 'ReturnStatement',
loc: this.addEmptyLoc(),
argument: this.deserializeNode()
};
}
function deserializeWithStatement() {
return {
type: 'WithStatement',
loc: this.addEmptyLoc(),
object: this.deserializeNode(),
body: this.deserializeNode()
};
}
function deserializeSwitchStatement() {
return {
type: 'SwitchStatement',
loc: this.addEmptyLoc(),
discriminant: this.deserializeNode(),
cases: this.deserializeNodeList()
};
}
function deserializeLabeledStatement() {
return {
type: 'LabeledStatement',
loc: this.addEmptyLoc(),
label: this.deserializeNode(),
body: this.deserializeNode()
};
}
function deserializeExpressionStatement() {
return {
type: 'ExpressionStatement',
loc: this.addEmptyLoc(),
expression: this.deserializeNode(),
directive: this.deserializeString()
};
}
function deserializeTryStatement() {
return {
type: 'TryStatement',
loc: this.addEmptyLoc(),
block: this.deserializeNode(),
handler: this.deserializeNode(),
finalizer: this.deserializeNode()
};
}
function deserializeIfStatement() {
return {
type: 'IfStatement',
loc: this.addEmptyLoc(),
test: this.deserializeNode(),
consequent: this.deserializeNode(),
alternate: this.deserializeNode()
};
}
function deserializeStatementLast() {
throw new Error('Statement' + ' should not appear in program buffer');
}
function deserializeNullLiteral() {
return {
type: 'NullLiteral',
loc: this.addEmptyLoc()
};
}
function deserializeBooleanLiteral() {
return {
type: 'BooleanLiteral',
loc: this.addEmptyLoc(),
value: this.deserializeBoolean()
};
}
function deserializeStringLiteral() {
return {
type: 'StringLiteral',
loc: this.addEmptyLoc(),
value: this.deserializeString()
};
}
function deserializeNumericLiteral() {
return {
type: 'NumericLiteral',
loc: this.addEmptyLoc(),
value: this.deserializeNumber()
};
}
function deserializeRegExpLiteral() {
return {
type: 'RegExpLiteral',
loc: this.addEmptyLoc(),
pattern: this.deserializeString(),
flags: this.deserializeString()
};
}
function deserializeBigIntLiteral() {
return {
type: 'BigIntLiteral',
loc: this.addEmptyLoc(),
bigint: this.deserializeString()
};
}
function deserializeThisExpression() {
return {
type: 'ThisExpression',
loc: this.addEmptyLoc()
};
}
function deserializeSuper() {
return {
type: 'Super',
loc: this.addEmptyLoc()
};
}
function deserializeSequenceExpression() {
return {
type: 'SequenceExpression',
loc: this.addEmptyLoc(),
expressions: this.deserializeNodeList()
};
}
function deserializeObjectExpression() {
return {
type: 'ObjectExpression',
loc: this.addEmptyLoc(),
properties: this.deserializeNodeList()
};
}
function deserializeArrayExpression() {
return {
type: 'ArrayExpression',
loc: this.addEmptyLoc(),
elements: this.deserializeNodeList(),
trailingComma: this.deserializeBoolean()
};
}
function deserializeSpreadElement() {
return {
type: 'SpreadElement',
loc: this.addEmptyLoc(),
argument: this.deserializeNode()
};
}
function deserializeNewExpression() {
return {
type: 'NewExpression',
loc: this.addEmptyLoc(),
callee: this.deserializeNode(),
typeArguments: this.deserializeNode(),
arguments: this.deserializeNodeList()
};
}
function deserializeYieldExpression() {
return {
type: 'YieldExpression',
loc: this.addEmptyLoc(),
argument: this.deserializeNode(),
delegate: this.deserializeBoolean()
};
}
function deserializeAwaitExpression() {
return {
type: 'AwaitExpression',
loc: this.addEmptyLoc(),
argument: this.deserializeNode()
};
}
function deserializeImportExpression() {
return {
type: 'ImportExpression',
loc: this.addEmptyLoc(),
source: this.deserializeNode(),
attributes: this.deserializeNode()
};
}
function deserializeCallExpressionLikeFirst() {
throw new Error('CallExpressionLike' + ' should not appear in program buffer');
}
function deserializeCallExpression() {
return {
type: 'CallExpression',
loc: this.addEmptyLoc(),
callee: this.deserializeNode(),
typeArguments: this.deserializeNode(),
arguments: this.deserializeNodeList()
};
}
function deserializeOptionalCallExpression() {
return {
type: 'OptionalCallExpression',
loc: this.addEmptyLoc(),
callee: this.deserializeNode(),
typeArguments: this.deserializeNode(),
arguments: this.deserializeNodeList(),
optional: this.deserializeBoolean()
};
}
function deserializeCallExpressionLikeLast() {
throw new Error('CallExpressionLike' + ' should not appear in program buffer');
}
function deserializeAssignmentExpression() {
return {
type: 'AssignmentExpression',
loc: this.addEmptyLoc(),
operator: this.deserializeString(),
left: this.deserializeNode(),
right: this.deserializeNode()
};
}
function deserializeUnaryExpression() {
return {
type: 'UnaryExpression',
loc: this.addEmptyLoc(),
operator: this.deserializeString(),
argument: this.deserializeNode(),
prefix: this.deserializeBoolean()
};
}
function deserializeUpdateExpression() {
return {
type: 'UpdateExpression',
loc: this.addEmptyLoc(),
operator: this.deserializeString(),
argument: this.deserializeNode(),
prefix: this.deserializeBoolean()
};
}
function deserializeMemberExpressionLikeFirst() {
throw new Error('MemberExpressionLike' + ' should not appear in program buffer');
}
function deserializeMemberExpression() {
return {
type: 'MemberExpression',
loc: this.addEmptyLoc(),
object: this.deserializeNode(),
property: this.deserializeNode(),
computed: this.deserializeBoolean()
};
}
function deserializeOptionalMemberExpression() {
return {
type: 'OptionalMemberExpression',
loc: this.addEmptyLoc(),
object: this.deserializeNode(),
property: this.deserializeNode(),
computed: this.deserializeBoolean(),
optional: this.deserializeBoolean()
};
}
function deserializeMemberExpressionLikeLast() {
throw new Error('MemberExpressionLike' + ' should not appear in program buffer');
}
function deserializeLogicalExpression() {
return {
type: 'LogicalExpression',
loc: this.addEmptyLoc(),
left: this.deserializeNode(),
right: this.deserializeNode(),
operator: this.deserializeString()
};
}
function deserializeConditionalExpression() {
return {
type: 'ConditionalExpression',
loc: this.addEmptyLoc(),
test: this.deserializeNode(),
alternate: this.deserializeNode(),
consequent: this.deserializeNode()
};
}
function deserializeBinaryExpression() {
return {
type: 'BinaryExpression',
loc: this.addEmptyLoc(),
left: this.deserializeNode(),
right: this.deserializeNode(),
operator: this.deserializeString()
};
}
function deserializeDirective() {
return {
type: 'Directive',
loc: this.addEmptyLoc(),
value: this.deserializeNode()
};
}
function deserializeDirectiveLiteral() {
return {
type: 'DirectiveLiteral',
loc: this.addEmptyLoc(),
value: this.deserializeString()
};
}
function deserializeIdentifier() {
return {
type: 'Identifier',
loc: this.addEmptyLoc(),
name: this.deserializeString(),
typeAnnotation: this.deserializeNode(),
optional: this.deserializeBoolean()
};
}
function deserializePrivateName() {
return {
type: 'PrivateName',
loc: this.addEmptyLoc(),
id: this.deserializeNode()
};
}
function deserializeMetaProperty() {
return {
type: 'MetaProperty',
loc: this.addEmptyLoc(),
meta: this.deserializeNode(),
property: this.deserializeNode()
};
}
function deserializeSwitchCase() {
return {
type: 'SwitchCase',
loc: this.addEmptyLoc(),
test: this.deserializeNode(),
consequent: this.deserializeNodeList()
};
}
function deserializeCatchClause() {
return {
type: 'CatchClause',
loc: this.addEmptyLoc(),
param: this.deserializeNode(),
body: this.deserializeNode()
};
}
function deserializeVariableDeclarator() {
return {
type: 'VariableDeclarator',
loc: this.addEmptyLoc(),
init: this.deserializeNode(),
id: this.deserializeNode()
};
}
function deserializeVariableDeclaration() {
return {
type: 'VariableDeclaration',
loc: this.addEmptyLoc(),
kind: this.deserializeString(),
declarations: this.deserializeNodeList()
};
}
function deserializeTemplateLiteral() {
return {
type: 'TemplateLiteral',
loc: this.addEmptyLoc(),
quasis: this.deserializeNodeList(),
expressions: this.deserializeNodeList()
};
}
function deserializeTaggedTemplateExpression() {
return {
type: 'TaggedTemplateExpression',
loc: this.addEmptyLoc(),
tag: this.deserializeNode(),
quasi: this.deserializeNode()
};
}
function deserializeTemplateElement() {
return {
type: 'TemplateElement',
loc: this.addEmptyLoc(),
tail: this.deserializeBoolean(),
cooked: this.deserializeString(),
raw: this.deserializeString()
};
}
function deserializeProperty() {
return {
type: 'Property',
loc: this.addEmptyLoc(),
key: this.deserializeNode(),
value: this.deserializeNode(),
kind: this.deserializeString(),
computed: this.deserializeBoolean(),
method: this.deserializeBoolean(),
shorthand: this.deserializeBoolean()
};
}
function deserializeClassDeclaration() {
return {
type: 'ClassDeclaration',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode(),
superClass: this.deserializeNode(),
superTypeParameters: this.deserializeNode(),
implements: this.deserializeNodeList(),
decorators: this.deserializeNodeList(),
body: this.deserializeNode()
};
}
function deserializeClassExpression() {
return {
type: 'ClassExpression',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode(),
superClass: this.deserializeNode(),
superTypeParameters: this.deserializeNode(),
implements: this.deserializeNodeList(),
decorators: this.deserializeNodeList(),
body: this.deserializeNode()
};
}
function deserializeClassBody() {
return {
type: 'ClassBody',
loc: this.addEmptyLoc(),
body: this.deserializeNodeList()
};
}
function deserializeClassProperty() {
return {
type: 'ClassProperty',
loc: this.addEmptyLoc(),
key: this.deserializeNode(),
value: this.deserializeNode(),
computed: this.deserializeBoolean(),
static: this.deserializeBoolean(),
declare: this.deserializeBoolean(),
optional: this.deserializeBoolean(),
variance: this.deserializeNode(),
typeAnnotation: this.deserializeNode(),
tsModifiers: this.deserializeNode()
};
}
function deserializeClassPrivateProperty() {
return {
type: 'ClassPrivateProperty',
loc: this.addEmptyLoc(),
key: this.deserializeNode(),
value: this.deserializeNode(),
static: this.deserializeBoolean(),
declare: this.deserializeBoolean(),
optional: this.deserializeBoolean(),
variance: this.deserializeNode(),
typeAnnotation: this.deserializeNode(),
tsModifiers: this.deserializeNode()
};
}
function deserializeMethodDefinition() {
return {
type: 'MethodDefinition',
loc: this.addEmptyLoc(),
key: this.deserializeNode(),
value: this.deserializeNode(),
kind: this.deserializeString(),
computed: this.deserializeBoolean(),
static: this.deserializeBoolean()
};
}
function deserializeImportDeclaration() {
return {
type: 'ImportDeclaration',
loc: this.addEmptyLoc(),
specifiers: this.deserializeNodeList(),
source: this.deserializeNode(),
assertions: this.deserializeNodeList(),
importKind: this.deserializeString()
};
}
function deserializeImportSpecifier() {
return {
type: 'ImportSpecifier',
loc: this.addEmptyLoc(),
imported: this.deserializeNode(),
local: this.deserializeNode(),
importKind: this.deserializeString()
};
}
function deserializeImportDefaultSpecifier() {
return {
type: 'ImportDefaultSpecifier',
loc: this.addEmptyLoc(),
local: this.deserializeNode()
};
}
function deserializeImportNamespaceSpecifier() {
return {
type: 'ImportNamespaceSpecifier',
loc: this.addEmptyLoc(),
local: this.deserializeNode()
};
}
function deserializeImportAttribute() {
return {
type: 'ImportAttribute',
loc: this.addEmptyLoc(),
key: this.deserializeNode(),
value: this.deserializeNode()
};
}
function deserializeExportNamedDeclaration() {
return {
type: 'ExportNamedDeclaration',
loc: this.addEmptyLoc(),
declaration: this.deserializeNode(),
specifiers: this.deserializeNodeList(),
source: this.deserializeNode(),
exportKind: this.deserializeString()
};
}
function deserializeExportSpecifier() {
return {
type: 'ExportSpecifier',
loc: this.addEmptyLoc(),
exported: this.deserializeNode(),
local: this.deserializeNode()
};
}
function deserializeExportNamespaceSpecifier() {
return {
type: 'ExportNamespaceSpecifier',
loc: this.addEmptyLoc(),
exported: this.deserializeNode()
};
}
function deserializeExportDefaultDeclaration() {
return {
type: 'ExportDefaultDeclaration',
loc: this.addEmptyLoc(),
declaration: this.deserializeNode()
};
}
function deserializeExportAllDeclaration() {
return {
type: 'ExportAllDeclaration',
loc: this.addEmptyLoc(),
source: this.deserializeNode(),
exportKind: this.deserializeString()
};
}
function deserializePatternFirst() {
throw new Error('Pattern' + ' should not appear in program buffer');
}
function deserializeObjectPattern() {
return {
type: 'ObjectPattern',
loc: this.addEmptyLoc(),
properties: this.deserializeNodeList(),
typeAnnotation: this.deserializeNode()
};
}
function deserializeArrayPattern() {
return {
type: 'ArrayPattern',
loc: this.addEmptyLoc(),
elements: this.deserializeNodeList(),
typeAnnotation: this.deserializeNode()
};
}
function deserializeRestElement() {
return {
type: 'RestElement',
loc: this.addEmptyLoc(),
argument: this.deserializeNode()
};
}
function deserializeAssignmentPattern() {
return {
type: 'AssignmentPattern',
loc: this.addEmptyLoc(),
left: this.deserializeNode(),
right: this.deserializeNode()
};
}
function deserializePatternLast() {
throw new Error('Pattern' + ' should not appear in program buffer');
}
function deserializeJSXIdentifier() {
return {
type: 'JSXIdentifier',
loc: this.addEmptyLoc(),
name: this.deserializeString()
};
}
function deserializeJSXMemberExpression() {
return {
type: 'JSXMemberExpression',
loc: this.addEmptyLoc(),
object: this.deserializeNode(),
property: this.deserializeNode()
};
}
function deserializeJSXNamespacedName() {
return {
type: 'JSXNamespacedName',
loc: this.addEmptyLoc(),
namespace: this.deserializeNode(),
name: this.deserializeNode()
};
}
function deserializeJSXEmptyExpression() {
return {
type: 'JSXEmptyExpression',
loc: this.addEmptyLoc()
};
}
function deserializeJSXExpressionContainer() {
return {
type: 'JSXExpressionContainer',
loc: this.addEmptyLoc(),
expression: this.deserializeNode()
};
}
function deserializeJSXSpreadChild() {
return {
type: 'JSXSpreadChild',
loc: this.addEmptyLoc(),
expression: this.deserializeNode()
};
}
function deserializeJSXOpeningElement() {
return {
type: 'JSXOpeningElement',
loc: this.addEmptyLoc(),
name: this.deserializeNode(),
attributes: this.deserializeNodeList(),
selfClosing: this.deserializeBoolean(),
typeArguments: this.deserializeNode()
};
}
function deserializeJSXClosingElement() {
return {
type: 'JSXClosingElement',
loc: this.addEmptyLoc(),
name: this.deserializeNode()
};
}
function deserializeJSXAttribute() {
return {
type: 'JSXAttribute',
loc: this.addEmptyLoc(),
name: this.deserializeNode(),
value: this.deserializeNode()
};
}
function deserializeJSXSpreadAttribute() {
return {
type: 'JSXSpreadAttribute',
loc: this.addEmptyLoc(),
argument: this.deserializeNode()
};
}
function deserializeJSXStringLiteral() {
return {
type: 'JSXStringLiteral',
loc: this.addEmptyLoc(),
value: this.deserializeString(),
raw: this.deserializeString()
};
}
function deserializeJSXText() {
return {
type: 'JSXText',
loc: this.addEmptyLoc(),
value: this.deserializeString(),
raw: this.deserializeString()
};
}
function deserializeJSXElement() {
return {
type: 'JSXElement',
loc: this.addEmptyLoc(),
openingElement: this.deserializeNode(),
children: this.deserializeNodeList(),
closingElement: this.deserializeNode()
};
}
function deserializeJSXFragment() {
return {
type: 'JSXFragment',
loc: this.addEmptyLoc(),
openingFragment: this.deserializeNode(),
children: this.deserializeNodeList(),
closingFragment: this.deserializeNode()
};
}
function deserializeJSXOpeningFragment() {
return {
type: 'JSXOpeningFragment',
loc: this.addEmptyLoc()
};
}
function deserializeJSXClosingFragment() {
return {
type: 'JSXClosingFragment',
loc: this.addEmptyLoc()
};
}
function deserializeExistsTypeAnnotation() {
return {
type: 'ExistsTypeAnnotation',
loc: this.addEmptyLoc()
};
}
function deserializeEmptyTypeAnnotation() {
return {
type: 'EmptyTypeAnnotation',
loc: this.addEmptyLoc()
};
}
function deserializeStringTypeAnnotation() {
return {
type: 'StringTypeAnnotation',
loc: this.addEmptyLoc()
};
}
function deserializeNumberTypeAnnotation() {
return {
type: 'NumberTypeAnnotation',
loc: this.addEmptyLoc()
};
}
function deserializeStringLiteralTypeAnnotation() {
return {
type: 'StringLiteralTypeAnnotation',
loc: this.addEmptyLoc(),
value: this.deserializeString(),
raw: this.deserializeString()
};
}
function deserializeNumberLiteralTypeAnnotation() {
return {
type: 'NumberLiteralTypeAnnotation',
loc: this.addEmptyLoc(),
value: this.deserializeNumber(),
raw: this.deserializeString()
};
}
function deserializeBigIntLiteralTypeAnnotation() {
return {
type: 'BigIntLiteralTypeAnnotation',
loc: this.addEmptyLoc(),
raw: this.deserializeString()
};
}
function deserializeBooleanTypeAnnotation() {
return {
type: 'BooleanTypeAnnotation',
loc: this.addEmptyLoc()
};
}
function deserializeBooleanLiteralTypeAnnotation() {
return {
type: 'BooleanLiteralTypeAnnotation',
loc: this.addEmptyLoc(),
value: this.deserializeBoolean(),
raw: this.deserializeString()
};
}
function deserializeNullLiteralTypeAnnotation() {
return {
type: 'NullLiteralTypeAnnotation',
loc: this.addEmptyLoc()
};
}
function deserializeSymbolTypeAnnotation() {
return {
type: 'SymbolTypeAnnotation',
loc: this.addEmptyLoc()
};
}
function deserializeAnyTypeAnnotation() {
return {
type: 'AnyTypeAnnotation',
loc: this.addEmptyLoc()
};
}
function deserializeMixedTypeAnnotation() {
return {
type: 'MixedTypeAnnotation',
loc: this.addEmptyLoc()
};
}
function deserializeBigIntTypeAnnotation() {
return {
type: 'BigIntTypeAnnotation',
loc: this.addEmptyLoc()
};
}
function deserializeVoidTypeAnnotation() {
return {
type: 'VoidTypeAnnotation',
loc: this.addEmptyLoc()
};
}
function deserializeFunctionTypeAnnotation() {
return {
type: 'FunctionTypeAnnotation',
loc: this.addEmptyLoc(),
params: this.deserializeNodeList(),
this: this.deserializeNode(),
returnType: this.deserializeNode(),
rest: this.deserializeNode(),
typeParameters: this.deserializeNode()
};
}
function deserializeFunctionTypeParam() {
return {
type: 'FunctionTypeParam',
loc: this.addEmptyLoc(),
name: this.deserializeNode(),
typeAnnotation: this.deserializeNode(),
optional: this.deserializeBoolean()
};
}
function deserializeComponentTypeAnnotation() {
return {
type: 'ComponentTypeAnnotation',
loc: this.addEmptyLoc(),
params: this.deserializeNodeList(),
rest: this.deserializeNode(),
typeParameters: this.deserializeNode(),
rendersType: this.deserializeNode()
};
}
function deserializeComponentTypeParameter() {
return {
type: 'ComponentTypeParameter',
loc: this.addEmptyLoc(),
name: this.deserializeNode(),
typeAnnotation: this.deserializeNode(),
optional: this.deserializeBoolean()
};
}
function deserializeNullableTypeAnnotation() {
return {
type: 'NullableTypeAnnotation',
loc: this.addEmptyLoc(),
typeAnnotation: this.deserializeNode()
};
}
function deserializeQualifiedTypeIdentifier() {
return {
type: 'QualifiedTypeIdentifier',
loc: this.addEmptyLoc(),
qualification: this.deserializeNode(),
id: this.deserializeNode()
};
}
function deserializeTypeofTypeAnnotation() {
return {
type: 'TypeofTypeAnnotation',
loc: this.addEmptyLoc(),
argument: this.deserializeNode()
};
}
function deserializeKeyofTypeAnnotation() {
return {
type: 'KeyofTypeAnnotation',
loc: this.addEmptyLoc(),
argument: this.deserializeNode()
};
}
function deserializeQualifiedTypeofIdentifier() {
return {
type: 'QualifiedTypeofIdentifier',
loc: this.addEmptyLoc(),
qualification: this.deserializeNode(),
id: this.deserializeNode()
};
}
function deserializeTupleTypeAnnotation() {
return {
type: 'TupleTypeAnnotation',
loc: this.addEmptyLoc(),
types: this.deserializeNodeList()
};
}
function deserializeTupleTypeSpreadElement() {
return {
type: 'TupleTypeSpreadElement',
loc: this.addEmptyLoc(),
label: this.deserializeNode(),
typeAnnotation: this.deserializeNode()
};
}
function deserializeTupleTypeLabeledElement() {
return {
type: 'TupleTypeLabeledElement',
loc: this.addEmptyLoc(),
label: this.deserializeNode(),
elementType: this.deserializeNode(),
optional: this.deserializeBoolean(),
variance: this.deserializeNode()
};
}
function deserializeArrayTypeAnnotation() {
return {
type: 'ArrayTypeAnnotation',
loc: this.addEmptyLoc(),
elementType: this.deserializeNode()
};
}
function deserializeInferTypeAnnotation() {
return {
type: 'InferTypeAnnotation',
loc: this.addEmptyLoc(),
typeParameter: this.deserializeNode()
};
}
function deserializeUnionTypeAnnotation() {
return {
type: 'UnionTypeAnnotation',
loc: this.addEmptyLoc(),
types: this.deserializeNodeList()
};
}
function deserializeIntersectionTypeAnnotation() {
return {
type: 'IntersectionTypeAnnotation',
loc: this.addEmptyLoc(),
types: this.deserializeNodeList()
};
}
function deserializeGenericTypeAnnotation() {
return {
type: 'GenericTypeAnnotation',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode()
};
}
function deserializeIndexedAccessType() {
return {
type: 'IndexedAccessType',
loc: this.addEmptyLoc(),
objectType: this.deserializeNode(),
indexType: this.deserializeNode()
};
}
function deserializeOptionalIndexedAccessType() {
return {
type: 'OptionalIndexedAccessType',
loc: this.addEmptyLoc(),
objectType: this.deserializeNode(),
indexType: this.deserializeNode(),
optional: this.deserializeBoolean()
};
}
function deserializeConditionalTypeAnnotation() {
return {
type: 'ConditionalTypeAnnotation',
loc: this.addEmptyLoc(),
checkType: this.deserializeNode(),
extendsType: this.deserializeNode(),
trueType: this.deserializeNode(),
falseType: this.deserializeNode()
};
}
function deserializeTypePredicate() {
return {
type: 'TypePredicate',
loc: this.addEmptyLoc(),
parameterName: this.deserializeNode(),
typeAnnotation: this.deserializeNode(),
asserts: this.deserializeBoolean()
};
}
function deserializeInterfaceTypeAnnotation() {
return {
type: 'InterfaceTypeAnnotation',
loc: this.addEmptyLoc(),
extends: this.deserializeNodeList(),
body: this.deserializeNode()
};
}
function deserializeTypeAlias() {
return {
type: 'TypeAlias',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode(),
right: this.deserializeNode()
};
}
function deserializeOpaqueType() {
return {
type: 'OpaqueType',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode(),
impltype: this.deserializeNode(),
supertype: this.deserializeNode()
};
}
function deserializeInterfaceDeclaration() {
return {
type: 'InterfaceDeclaration',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode(),
extends: this.deserializeNodeList(),
body: this.deserializeNode()
};
}
function deserializeDeclareTypeAlias() {
return {
type: 'DeclareTypeAlias',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode(),
right: this.deserializeNode()
};
}
function deserializeDeclareOpaqueType() {
return {
type: 'DeclareOpaqueType',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode(),
impltype: this.deserializeNode(),
supertype: this.deserializeNode()
};
}
function deserializeDeclareInterface() {
return {
type: 'DeclareInterface',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode(),
extends: this.deserializeNodeList(),
body: this.deserializeNode()
};
}
function deserializeDeclareClass() {
return {
type: 'DeclareClass',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode(),
extends: this.deserializeNodeList(),
implements: this.deserializeNodeList(),
mixins: this.deserializeNodeList(),
body: this.deserializeNode()
};
}
function deserializeDeclareFunction() {
return {
type: 'DeclareFunction',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
predicate: this.deserializeNode()
};
}
function deserializeDeclareComponent() {
return {
type: 'DeclareComponent',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
params: this.deserializeNodeList(),
rest: this.deserializeNode(),
typeParameters: this.deserializeNode(),
rendersType: this.deserializeNode()
};
}
function deserializeDeclareVariable() {
return {
type: 'DeclareVariable',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
kind: this.deserializeString()
};
}
function deserializeDeclareEnum() {
return {
type: 'DeclareEnum',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
body: this.deserializeNode()
};
}
function deserializeDeclareExportDeclaration() {
return {
type: 'DeclareExportDeclaration',
loc: this.addEmptyLoc(),
declaration: this.deserializeNode(),
specifiers: this.deserializeNodeList(),
source: this.deserializeNode(),
default: this.deserializeBoolean()
};
}
function deserializeDeclareExportAllDeclaration() {
return {
type: 'DeclareExportAllDeclaration',
loc: this.addEmptyLoc(),
source: this.deserializeNode()
};
}
function deserializeDeclareModule() {
return {
type: 'DeclareModule',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
body: this.deserializeNode(),
kind: this.deserializeString()
};
}
function deserializeDeclareModuleExports() {
return {
type: 'DeclareModuleExports',
loc: this.addEmptyLoc(),
typeAnnotation: this.deserializeNode()
};
}
function deserializeInterfaceExtends() {
return {
type: 'InterfaceExtends',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode()
};
}
function deserializeClassImplements() {
return {
type: 'ClassImplements',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode()
};
}
function deserializeTypeAnnotation() {
return {
type: 'TypeAnnotation',
loc: this.addEmptyLoc(),
typeAnnotation: this.deserializeNode()
};
}
function deserializeObjectTypeAnnotation() {
return {
type: 'ObjectTypeAnnotation',
loc: this.addEmptyLoc(),
properties: this.deserializeNodeList(),
indexers: this.deserializeNodeList(),
callProperties: this.deserializeNodeList(),
internalSlots: this.deserializeNodeList(),
inexact: this.deserializeBoolean(),
exact: this.deserializeBoolean()
};
}
function deserializeObjectTypeProperty() {
return {
type: 'ObjectTypeProperty',
loc: this.addEmptyLoc(),
key: this.deserializeNode(),
value: this.deserializeNode(),
method: this.deserializeBoolean(),
optional: this.deserializeBoolean(),
static: this.deserializeBoolean(),
proto: this.deserializeBoolean(),
variance: this.deserializeNode(),
kind: this.deserializeString()
};
}
function deserializeObjectTypeSpreadProperty() {
return {
type: 'ObjectTypeSpreadProperty',
loc: this.addEmptyLoc(),
argument: this.deserializeNode()
};
}
function deserializeObjectTypeInternalSlot() {
return {
type: 'ObjectTypeInternalSlot',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
value: this.deserializeNode(),
optional: this.deserializeBoolean(),
static: this.deserializeBoolean(),
method: this.deserializeBoolean()
};
}
function deserializeObjectTypeCallProperty() {
return {
type: 'ObjectTypeCallProperty',
loc: this.addEmptyLoc(),
value: this.deserializeNode(),
static: this.deserializeBoolean()
};
}
function deserializeObjectTypeIndexer() {
return {
type: 'ObjectTypeIndexer',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
key: this.deserializeNode(),
value: this.deserializeNode(),
static: this.deserializeBoolean(),
variance: this.deserializeNode()
};
}
function deserializeObjectTypeMappedTypeProperty() {
return {
type: 'ObjectTypeMappedTypeProperty',
loc: this.addEmptyLoc(),
keyTparam: this.deserializeNode(),
propType: this.deserializeNode(),
sourceType: this.deserializeNode(),
variance: this.deserializeNode(),
optional: this.deserializeString()
};
}
function deserializeVariance() {
return {
type: 'Variance',
loc: this.addEmptyLoc(),
kind: this.deserializeString()
};
}
function deserializeTypeParameterDeclaration() {
return {
type: 'TypeParameterDeclaration',
loc: this.addEmptyLoc(),
params: this.deserializeNodeList()
};
}
function deserializeTypeParameter() {
return {
type: 'TypeParameter',
loc: this.addEmptyLoc(),
name: this.deserializeString(),
bound: this.deserializeNode(),
variance: this.deserializeNode(),
default: this.deserializeNode(),
usesExtendsBound: this.deserializeBoolean()
};
}
function deserializeTypeParameterInstantiation() {
return {
type: 'TypeParameterInstantiation',
loc: this.addEmptyLoc(),
params: this.deserializeNodeList()
};
}
function deserializeTypeCastExpression() {
return {
type: 'TypeCastExpression',
loc: this.addEmptyLoc(),
expression: this.deserializeNode(),
typeAnnotation: this.deserializeNode()
};
}
function deserializeInferredPredicate() {
return {
type: 'InferredPredicate',
loc: this.addEmptyLoc()
};
}
function deserializeDeclaredPredicate() {
return {
type: 'DeclaredPredicate',
loc: this.addEmptyLoc(),
value: this.deserializeNode()
};
}
function deserializeEnumDeclaration() {
return {
type: 'EnumDeclaration',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
body: this.deserializeNode()
};
}
function deserializeEnumStringBody() {
return {
type: 'EnumStringBody',
loc: this.addEmptyLoc(),
members: this.deserializeNodeList(),
explicitType: this.deserializeBoolean(),
hasUnknownMembers: this.deserializeBoolean()
};
}
function deserializeEnumNumberBody() {
return {
type: 'EnumNumberBody',
loc: this.addEmptyLoc(),
members: this.deserializeNodeList(),
explicitType: this.deserializeBoolean(),
hasUnknownMembers: this.deserializeBoolean()
};
}
function deserializeEnumBooleanBody() {
return {
type: 'EnumBooleanBody',
loc: this.addEmptyLoc(),
members: this.deserializeNodeList(),
explicitType: this.deserializeBoolean(),
hasUnknownMembers: this.deserializeBoolean()
};
}
function deserializeEnumSymbolBody() {
return {
type: 'EnumSymbolBody',
loc: this.addEmptyLoc(),
members: this.deserializeNodeList(),
hasUnknownMembers: this.deserializeBoolean()
};
}
function deserializeEnumDefaultedMember() {
return {
type: 'EnumDefaultedMember',
loc: this.addEmptyLoc(),
id: this.deserializeNode()
};
}
function deserializeEnumStringMember() {
return {
type: 'EnumStringMember',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
init: this.deserializeNode()
};
}
function deserializeEnumNumberMember() {
return {
type: 'EnumNumberMember',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
init: this.deserializeNode()
};
}
function deserializeEnumBooleanMember() {
return {
type: 'EnumBooleanMember',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
init: this.deserializeNode()
};
}
function deserializeComponentParameter() {
return {
type: 'ComponentParameter',
loc: this.addEmptyLoc(),
name: this.deserializeNode(),
local: this.deserializeNode(),
shorthand: this.deserializeBoolean()
};
}
function deserializeTSTypeAnnotation() {
return {
type: 'TSTypeAnnotation',
loc: this.addEmptyLoc(),
typeAnnotation: this.deserializeNode()
};
}
function deserializeTSAnyKeyword() {
return {
type: 'TSAnyKeyword',
loc: this.addEmptyLoc()
};
}
function deserializeTSNumberKeyword() {
return {
type: 'TSNumberKeyword',
loc: this.addEmptyLoc()
};
}
function deserializeTSBooleanKeyword() {
return {
type: 'TSBooleanKeyword',
loc: this.addEmptyLoc()
};
}
function deserializeTSStringKeyword() {
return {
type: 'TSStringKeyword',
loc: this.addEmptyLoc()
};
}
function deserializeTSSymbolKeyword() {
return {
type: 'TSSymbolKeyword',
loc: this.addEmptyLoc()
};
}
function deserializeTSVoidKeyword() {
return {
type: 'TSVoidKeyword',
loc: this.addEmptyLoc()
};
}
function deserializeTSThisType() {
return {
type: 'TSThisType',
loc: this.addEmptyLoc()
};
}
function deserializeTSLiteralType() {
return {
type: 'TSLiteralType',
loc: this.addEmptyLoc(),
literal: this.deserializeNode()
};
}
function deserializeTSIndexedAccessType() {
return {
type: 'TSIndexedAccessType',
loc: this.addEmptyLoc(),
objectType: this.deserializeNode(),
indexType: this.deserializeNode()
};
}
function deserializeTSArrayType() {
return {
type: 'TSArrayType',
loc: this.addEmptyLoc(),
elementType: this.deserializeNode()
};
}
function deserializeTSTypeReference() {
return {
type: 'TSTypeReference',
loc: this.addEmptyLoc(),
typeName: this.deserializeNode(),
typeParameters: this.deserializeNode()
};
}
function deserializeTSQualifiedName() {
return {
type: 'TSQualifiedName',
loc: this.addEmptyLoc(),
left: this.deserializeNode(),
right: this.deserializeNode()
};
}
function deserializeTSFunctionType() {
return {
type: 'TSFunctionType',
loc: this.addEmptyLoc(),
params: this.deserializeNodeList(),
returnType: this.deserializeNode(),
typeParameters: this.deserializeNode()
};
}
function deserializeTSConstructorType() {
return {
type: 'TSConstructorType',
loc: this.addEmptyLoc(),
params: this.deserializeNodeList(),
returnType: this.deserializeNode(),
typeParameters: this.deserializeNode()
};
}
function deserializeTSTypePredicate() {
return {
type: 'TSTypePredicate',
loc: this.addEmptyLoc(),
parameterName: this.deserializeNode(),
typeAnnotation: this.deserializeNode()
};
}
function deserializeTSTupleType() {
return {
type: 'TSTupleType',
loc: this.addEmptyLoc(),
elementTypes: this.deserializeNodeList()
};
}
function deserializeTSTypeAssertion() {
return {
type: 'TSTypeAssertion',
loc: this.addEmptyLoc(),
typeAnnotation: this.deserializeNode(),
expression: this.deserializeNode()
};
}
function deserializeTSAsExpression() {
return {
type: 'TSAsExpression',
loc: this.addEmptyLoc(),
expression: this.deserializeNode(),
typeAnnotation: this.deserializeNode()
};
}
function deserializeTSParameterProperty() {
return {
type: 'TSParameterProperty',
loc: this.addEmptyLoc(),
parameter: this.deserializeNode(),
accessibility: this.deserializeString(),
readonly: this.deserializeBoolean(),
static: this.deserializeBoolean(),
export: this.deserializeBoolean()
};
}
function deserializeTSTypeAliasDeclaration() {
return {
type: 'TSTypeAliasDeclaration',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
typeParameters: this.deserializeNode(),
typeAnnotation: this.deserializeNode()
};
}
function deserializeTSInterfaceDeclaration() {
return {
type: 'TSInterfaceDeclaration',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
body: this.deserializeNode(),
extends: this.deserializeNodeList(),
typeParameters: this.deserializeNode()
};
}
function deserializeTSInterfaceHeritage() {
return {
type: 'TSInterfaceHeritage',
loc: this.addEmptyLoc(),
expression: this.deserializeNode(),
typeParameters: this.deserializeNode()
};
}
function deserializeTSInterfaceBody() {
return {
type: 'TSInterfaceBody',
loc: this.addEmptyLoc(),
body: this.deserializeNodeList()
};
}
function deserializeTSEnumDeclaration() {
return {
type: 'TSEnumDeclaration',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
members: this.deserializeNodeList()
};
}
function deserializeTSEnumMember() {
return {
type: 'TSEnumMember',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
initializer: this.deserializeNode()
};
}
function deserializeTSModuleDeclaration() {
return {
type: 'TSModuleDeclaration',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
body: this.deserializeNode()
};
}
function deserializeTSModuleBlock() {
return {
type: 'TSModuleBlock',
loc: this.addEmptyLoc(),
body: this.deserializeNodeList()
};
}
function deserializeTSModuleMember() {
return {
type: 'TSModuleMember',
loc: this.addEmptyLoc(),
id: this.deserializeNode(),
initializer: this.deserializeNode()
};
}
function deserializeTSTypeParameterDeclaration() {
return {
type: 'TSTypeParameterDeclaration',
loc: this.addEmptyLoc(),
params: this.deserializeNodeList()
};
}
function deserializeTSTypeParameter() {
return {
type: 'TSTypeParameter',
loc: this.addEmptyLoc(),
name: this.deserializeNode(),
constraint: this.deserializeNode(),
default: this.deserializeNode()
};
}
function deserializeTSTypeParameterInstantiation() {
return {
type: 'TSTypeParameterInstantiation',
loc: this.addEmptyLoc(),
params: this.deserializeNodeList()
};
}
function deserializeTSUnionType() {
return {
type: 'TSUnionType',
loc: this.addEmptyLoc(),
types: this.deserializeNodeList()
};
}
function deserializeTSIntersectionType() {
return {
type: 'TSIntersectionType',
loc: this.addEmptyLoc(),
types: this.deserializeNodeList()
};
}
function deserializeTSTypeQuery() {
return {
type: 'TSTypeQuery',
loc: this.addEmptyLoc(),
exprName: this.deserializeNode()
};
}
function deserializeTSConditionalType() {
return {
type: 'TSConditionalType',
loc: this.addEmptyLoc(),
checkType: this.deserializeNode(),
extendsType: this.deserializeNode(),
trueType: this.deserializeNode(),
falseType: this.deserializeNode()
};
}
function deserializeTSTypeLiteral() {
return {
type: 'TSTypeLiteral',
loc: this.addEmptyLoc(),
members: this.deserializeNodeList()
};
}
function deserializeTSPropertySignature() {
return {
type: 'TSPropertySignature',
loc: this.addEmptyLoc(),
key: this.deserializeNode(),
typeAnnotation: this.deserializeNode(),
initializer: this.deserializeNode(),
optional: this.deserializeBoolean(),
computed: this.deserializeBoolean(),
readonly: this.deserializeBoolean(),
static: this.deserializeBoolean(),
export: this.deserializeBoolean()
};
}
function deserializeTSMethodSignature() {
return {
type: 'TSMethodSignature',
loc: this.addEmptyLoc(),
key: this.deserializeNode(),
params: this.deserializeNodeList(),
returnType: this.deserializeNode(),
computed: this.deserializeBoolean()
};
}
function deserializeTSIndexSignature() {
return {
type: 'TSIndexSignature',
loc: this.addEmptyLoc(),
parameters: this.deserializeNodeList(),
typeAnnotation: this.deserializeNode()
};
}
function deserializeTSCallSignatureDeclaration() {
return {
type: 'TSCallSignatureDeclaration',
loc: this.addEmptyLoc(),
params: this.deserializeNodeList(),
returnType: this.deserializeNode()
};
}
function deserializeTSModifiers() {
return {
type: 'TSModifiers',
loc: this.addEmptyLoc(),
accessibility: this.deserializeString(),
readonly: this.deserializeBoolean()
};
}
function deserializeCoverFirst() {
throw new Error('Cover' + ' should not appear in program buffer');
}
function deserializeCoverEmptyArgs() {
return {
type: 'CoverEmptyArgs',
loc: this.addEmptyLoc()
};
}
function deserializeCoverTrailingComma() {
return {
type: 'CoverTrailingComma',
loc: this.addEmptyLoc()
};
}
function deserializeCoverInitializer() {
return {
type: 'CoverInitializer',
loc: this.addEmptyLoc(),
init: this.deserializeNode()
};
}
function deserializeCoverRestElement() {
return {
type: 'CoverRestElement',
loc: this.addEmptyLoc(),
rest: this.deserializeNode()
};
}
function deserializeCoverTypedIdentifier() {
return {
type: 'CoverTypedIdentifier',
loc: this.addEmptyLoc(),
left: this.deserializeNode(),
right: this.deserializeNode(),
optional: this.deserializeBoolean()
};
}
function deserializeCoverLast() {
throw new Error('Cover' + ' should not appear in program buffer');
}
module.exports = [deserializeEmpty, deserializeMetadata, deserializeFunctionLikeFirst, deserializeProgram, deserializeFunctionExpression, deserializeArrowFunctionExpression, deserializeFunctionDeclaration, deserializeComponentDeclaration, deserializeFunctionLikeLast, deserializeStatementFirst, deserializeLoopStatementFirst, deserializeWhileStatement, deserializeDoWhileStatement, deserializeForInStatement, deserializeForOfStatement, deserializeForStatement, deserializeLoopStatementLast, deserializeDebuggerStatement, deserializeEmptyStatement, deserializeBlockStatement, deserializeBreakStatement, deserializeContinueStatement, deserializeThrowStatement, deserializeReturnStatement, deserializeWithStatement, deserializeSwitchStatement, deserializeLabeledStatement, deserializeExpressionStatement, deserializeTryStatement, deserializeIfStatement, deserializeStatementLast, deserializeNullLiteral, deserializeBooleanLiteral, deserializeStringLiteral, deserializeNumericLiteral, deserializeRegExpLiteral, deserializeBigIntLiteral, deserializeThisExpression, deserializeSuper, deserializeSequenceExpression, deserializeObjectExpression, deserializeArrayExpression, deserializeSpreadElement, deserializeNewExpression, deserializeYieldExpression, deserializeAwaitExpression, deserializeImportExpression, deserializeCallExpressionLikeFirst, deserializeCallExpression, deserializeOptionalCallExpression, deserializeCallExpressionLikeLast, deserializeAssignmentExpression, deserializeUnaryExpression, deserializeUpdateExpression, deserializeMemberExpressionLikeFirst, deserializeMemberExpression, deserializeOptionalMemberExpression, deserializeMemberExpressionLikeLast, deserializeLogicalExpression, deserializeConditionalExpression, deserializeBinaryExpression, deserializeDirective, deserializeDirectiveLiteral, deserializeIdentifier, deserializePrivateName, deserializeMetaProperty, deserializeSwitchCase, deserializeCatchClause, deserializeVariableDeclarator, deserializeVariableDeclaration, deserializeTemplateLiteral, deserializeTaggedTemplateExpression, deserializeTemplateElement, deserializeProperty, deserializeClassDeclaration, deserializeClassExpression, deserializeClassBody, deserializeClassProperty, deserializeClassPrivateProperty, deserializeMethodDefinition, deserializeImportDeclaration, deserializeImportSpecifier, deserializeImportDefaultSpecifier, deserializeImportNamespaceSpecifier, deserializeImportAttribute, deserializeExportNamedDeclaration, deserializeExportSpecifier, deserializeExportNamespaceSpecifier, deserializeExportDefaultDeclaration, deserializeExportAllDeclaration, deserializePatternFirst, deserializeObjectPattern, deserializeArrayPattern, deserializeRestElement, deserializeAssignmentPattern, deserializePatternLast, deserializeJSXIdentifier, deserializeJSXMemberExpression, deserializeJSXNamespacedName, deserializeJSXEmptyExpression, deserializeJSXExpressionContainer, deserializeJSXSpreadChild, deserializeJSXOpeningElement, deserializeJSXClosingElement, deserializeJSXAttribute, deserializeJSXSpreadAttribute, deserializeJSXStringLiteral, deserializeJSXText, deserializeJSXElement, deserializeJSXFragment, deserializeJSXOpeningFragment, deserializeJSXClosingFragment, deserializeExistsTypeAnnotation, deserializeEmptyTypeAnnotation, deserializeStringTypeAnnotation, deserializeNumberTypeAnnotation, deserializeStringLiteralTypeAnnotation, deserializeNumberLiteralTypeAnnotation, deserializeBigIntLiteralTypeAnnotation, deserializeBooleanTypeAnnotation, deserializeBooleanLiteralTypeAnnotation, deserializeNullLiteralTypeAnnotation, deserializeSymbolTypeAnnotation, deserializeAnyTypeAnnotation, deserializeMixedTypeAnnotation, deserializeBigIntTypeAnnotation, deserializeVoidTypeAnnotation, deserializeFunctionTypeAnnotation, deserializeFunctionTypeParam, deserializeComponentTypeAnnotation, deserializeComponentTypeParameter, deserializeNullableTypeAnnotation, deserializeQualifiedTypeIdentifier, deserializeTypeofTypeAnnotation, deserializeKeyofTypeAnnotation, deserializeQualifiedTypeofIdentifier, deserializeTupleTypeAnnotation, deserializeTupleTypeSpreadElement, deserializeTupleTypeLabeledElement, deserializeArrayTypeAnnotation, deserializeInferTypeAnnotation, deserializeUnionTypeAnnotation, deserializeIntersectionTypeAnnotation, deserializeGenericTypeAnnotation, deserializeIndexedAccessType, deserializeOptionalIndexedAccessType, deserializeConditionalTypeAnnotation, deserializeTypePredicate, deserializeInterfaceTypeAnnotation, deserializeTypeAlias, deserializeOpaqueType, deserializeInterfaceDeclaration, deserializeDeclareTypeAlias, deserializeDeclareOpaqueType, deserializeDeclareInterface, deserializeDeclareClass, deserializeDeclareFunction, deserializeDeclareComponent, deserializeDeclareVariable, deserializeDeclareEnum, deserializeDeclareExportDeclaration, deserializeDeclareExportAllDeclaration, deserializeDeclareModule, deserializeDeclareModuleExports, deserializeInterfaceExtends, deserializeClassImplements, deserializeTypeAnnotation, deserializeObjectTypeAnnotation, deserializeObjectTypeProperty, deserializeObjectTypeSpreadProperty, deserializeObjectTypeInternalSlot, deserializeObjectTypeCallProperty, deserializeObjectTypeIndexer, deserializeObjectTypeMappedTypeProperty, deserializeVariance, deserializeTypeParameterDeclaration, deserializeTypeParameter, deserializeTypeParameterInstantiation, deserializeTypeCastExpression, deserializeInferredPredicate, deserializeDeclaredPredicate, deserializeEnumDeclaration, deserializeEnumStringBody, deserializeEnumNumberBody, deserializeEnumBooleanBody, deserializeEnumSymbolBody, deserializeEnumDefaultedMember, deserializeEnumStringMember, deserializeEnumNumberMember, deserializeEnumBooleanMember, deserializeComponentParameter, deserializeTSTypeAnnotation, deserializeTSAnyKeyword, deserializeTSNumberKeyword, deserializeTSBooleanKeyword, deserializeTSStringKeyword, deserializeTSSymbolKeyword, deserializeTSVoidKeyword, deserializeTSThisType, deserializeTSLiteralType, deserializeTSIndexedAccessType, deserializeTSArrayType, deserializeTSTypeReference, deserializeTSQualifiedName, deserializeTSFunctionType, deserializeTSConstructorType, deserializeTSTypePredicate, deserializeTSTupleType, deserializeTSTypeAssertion, deserializeTSAsExpression, deserializeTSParameterProperty, deserializeTSTypeAliasDeclaration, deserializeTSInterfaceDeclaration, deserializeTSInterfaceHeritage, deserializeTSInterfaceBody, deserializeTSEnumDeclaration, deserializeTSEnumMember, deserializeTSModuleDeclaration, deserializeTSModuleBlock, deserializeTSModuleMember, deserializeTSTypeParameterDeclaration, deserializeTSTypeParameter, deserializeTSTypeParameterInstantiation, deserializeTSUnionType, deserializeTSIntersectionType, deserializeTSTypeQuery, deserializeTSConditionalType, deserializeTSTypeLiteral, deserializeTSPropertySignature, deserializeTSMethodSignature, deserializeTSIndexSignature, deserializeTSCallSignatureDeclaration, deserializeTSModifiers, deserializeCoverFirst, deserializeCoverEmptyArgs, deserializeCoverTrailingComma, deserializeCoverInitializer, deserializeCoverRestElement, deserializeCoverTypedIdentifier, deserializeCoverLast];