hermes-parser 0.9.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/HermesASTAdapter.js +17 -13
- package/dist/HermesASTAdapter.js.flow +22 -11
- package/dist/HermesParserNodeDeserializers.js +29 -4
- package/dist/HermesParserWASM.js +1 -1
- package/dist/HermesToBabelAdapter.js +34 -11
- package/dist/HermesToBabelAdapter.js.flow +30 -12
- package/dist/HermesToESTreeAdapter.js +7 -21
- package/dist/HermesToESTreeAdapter.js.flow +9 -24
- package/dist/generated/ESTreeVisitorKeys.js +180 -0
- package/dist/generated/ESTreeVisitorKeys.js.flow +15 -0
- package/dist/generated/{visitor-keys.js → ParserVisitorKeys.js} +11 -2
- package/dist/getModuleDocblock.js +2 -1
- package/dist/getModuleDocblock.js.flow +3 -1
- package/dist/index.js +46 -0
- package/dist/index.js.flow +8 -1
- package/dist/transform/SimpleTransform.js +92 -0
- package/dist/transform/SimpleTransform.js.flow +104 -0
- package/dist/transform/astArrayMutationHelpers.js +62 -0
- package/dist/transform/astArrayMutationHelpers.js.flow +71 -0
- package/dist/transform/astNodeMutationHelpers.js +186 -0
- package/dist/transform/astNodeMutationHelpers.js.flow +205 -0
- package/dist/traverse/SimpleTraverser.js +138 -0
- package/dist/traverse/SimpleTraverser.js.flow +132 -0
- package/dist/traverse/getVisitorKeys.js +35 -0
- package/dist/traverse/getVisitorKeys.js.flow +36 -0
- package/package.json +3 -4
- /package/dist/generated/{visitor-keys.js.flow → ParserVisitorKeys.js.flow} +0 -0
package/dist/HermesASTAdapter.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _ParserVisitorKeys = require("./generated/ParserVisitorKeys");
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
@@ -17,15 +17,6 @@ var _visitorKeys = require("./generated/visitor-keys");
|
|
|
17
17
|
* @format
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
/*
|
|
21
|
-
This class does some very "javascripty" things in the name of
|
|
22
|
-
performance which are ultimately impossible to soundly type.
|
|
23
|
-
|
|
24
|
-
So instead of adding strict types and a large number of suppression
|
|
25
|
-
comments, instead it is left untyped and subclasses are strictly
|
|
26
|
-
typed via a separate flow declaration file.
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
20
|
/**
|
|
30
21
|
* The base class for transforming the Hermes AST to the desired output format.
|
|
31
22
|
* Extended by concrete adapters which output an ESTree or Babel AST.
|
|
@@ -79,18 +70,18 @@ class HermesASTAdapter {
|
|
|
79
70
|
}
|
|
80
71
|
|
|
81
72
|
mapNodeDefault(node) {
|
|
82
|
-
const visitorKeys =
|
|
73
|
+
const visitorKeys = _ParserVisitorKeys.HERMES_AST_VISITOR_KEYS[node.type];
|
|
83
74
|
|
|
84
75
|
for (const key in visitorKeys) {
|
|
85
76
|
const childType = visitorKeys[key];
|
|
86
77
|
|
|
87
|
-
if (childType ===
|
|
78
|
+
if (childType === _ParserVisitorKeys.NODE_CHILD) {
|
|
88
79
|
const child = node[key];
|
|
89
80
|
|
|
90
81
|
if (child != null) {
|
|
91
82
|
node[key] = this.mapNode(child);
|
|
92
83
|
}
|
|
93
|
-
} else if (childType ===
|
|
84
|
+
} else if (childType === _ParserVisitorKeys.NODE_LIST_CHILD) {
|
|
94
85
|
const children = node[key];
|
|
95
86
|
|
|
96
87
|
for (let i = 0; i < children.length; i++) {
|
|
@@ -177,6 +168,19 @@ class HermesASTAdapter {
|
|
|
177
168
|
return `${message} (${node.loc.start.line}:${node.loc.start.column})`;
|
|
178
169
|
}
|
|
179
170
|
|
|
171
|
+
getBigIntLiteralValue(bigintString) {
|
|
172
|
+
// TODO - once we update flow we can remove this
|
|
173
|
+
const bigint = bigintString // estree spec is to not have a trailing `n` on this property
|
|
174
|
+
// https://github.com/estree/estree/blob/db962bb417a97effcfe9892f87fbb93c81a68584/es2020.md#bigintliteral
|
|
175
|
+
.replace(/n$/, '') // `BigInt` doesn't accept numeric separator and `bigint` property should not include numeric separator
|
|
176
|
+
.replace(/_/, '');
|
|
177
|
+
return {
|
|
178
|
+
bigint,
|
|
179
|
+
// coerce the string to a bigint value if supported by the environment
|
|
180
|
+
value: typeof BigInt === 'function' ? BigInt(bigint) : null
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
|
|
180
184
|
}
|
|
181
185
|
|
|
182
186
|
exports.default = HermesASTAdapter;
|
|
@@ -4,19 +4,10 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @flow
|
|
7
|
+
* @flow strict
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
/*
|
|
12
|
-
This class does some very "javascripty" things in the name of
|
|
13
|
-
performance which are ultimately impossible to soundly type.
|
|
14
|
-
|
|
15
|
-
So instead of adding strict types and a large number of suppression
|
|
16
|
-
comments, instead it is left untyped and subclasses are strictly
|
|
17
|
-
typed via a separate flow declaration file.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
11
|
import type {HermesNode} from './HermesAST';
|
|
21
12
|
import type {ParserOptions} from './ParserOptions';
|
|
22
13
|
|
|
@@ -24,7 +15,7 @@ import {
|
|
|
24
15
|
HERMES_AST_VISITOR_KEYS,
|
|
25
16
|
NODE_CHILD,
|
|
26
17
|
NODE_LIST_CHILD,
|
|
27
|
-
} from './generated/
|
|
18
|
+
} from './generated/ParserVisitorKeys';
|
|
28
19
|
|
|
29
20
|
/**
|
|
30
21
|
* The base class for transforming the Hermes AST to the desired output format.
|
|
@@ -169,4 +160,24 @@ export default class HermesASTAdapter {
|
|
|
169
160
|
formatError(node: HermesNode, message: string): string {
|
|
170
161
|
return `${message} (${node.loc.start.line}:${node.loc.start.column})`;
|
|
171
162
|
}
|
|
163
|
+
|
|
164
|
+
getBigIntLiteralValue(bigintString: string): {
|
|
165
|
+
bigint: string,
|
|
166
|
+
value: $FlowFixMe /* bigint */,
|
|
167
|
+
} {
|
|
168
|
+
// TODO - once we update flow we can remove this
|
|
169
|
+
declare var BigInt: ?(value: $FlowFixMe) => mixed;
|
|
170
|
+
|
|
171
|
+
const bigint = bigintString
|
|
172
|
+
// estree spec is to not have a trailing `n` on this property
|
|
173
|
+
// https://github.com/estree/estree/blob/db962bb417a97effcfe9892f87fbb93c81a68584/es2020.md#bigintliteral
|
|
174
|
+
.replace(/n$/, '')
|
|
175
|
+
// `BigInt` doesn't accept numeric separator and `bigint` property should not include numeric separator
|
|
176
|
+
.replace(/_/, '');
|
|
177
|
+
return {
|
|
178
|
+
bigint,
|
|
179
|
+
// coerce the string to a bigint value if supported by the environment
|
|
180
|
+
value: typeof BigInt === 'function' ? BigInt(bigint) : null,
|
|
181
|
+
};
|
|
182
|
+
}
|
|
172
183
|
}
|
|
@@ -6,12 +6,19 @@
|
|
|
6
6
|
*
|
|
7
7
|
*
|
|
8
8
|
* @format
|
|
9
|
+
* @generated
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* !!! GENERATED FILE !!!
|
|
14
|
+
*
|
|
15
|
+
* Any manual changes to this file will be overwritten. To regenerate run `yarn build`.
|
|
9
16
|
*/
|
|
10
17
|
// lint directives to let us do some basic validation of generated files
|
|
11
18
|
|
|
12
19
|
/* eslint no-undef: 'error', no-unused-vars: ['error', {vars: "local"}], no-redeclare: 'error' */
|
|
13
20
|
|
|
14
|
-
/* global $NonMaybeType,
|
|
21
|
+
/* global $NonMaybeType, Partial, $ReadOnly, $ReadOnlyArray */
|
|
15
22
|
'use strict';
|
|
16
23
|
|
|
17
24
|
function deserializeEmpty() {
|
|
@@ -681,7 +688,8 @@ function deserializeClassProperty() {
|
|
|
681
688
|
declare: this.deserializeBoolean(),
|
|
682
689
|
optional: this.deserializeBoolean(),
|
|
683
690
|
variance: this.deserializeNode(),
|
|
684
|
-
typeAnnotation: this.deserializeNode()
|
|
691
|
+
typeAnnotation: this.deserializeNode(),
|
|
692
|
+
tsModifiers: this.deserializeNode()
|
|
685
693
|
};
|
|
686
694
|
}
|
|
687
695
|
|
|
@@ -695,7 +703,8 @@ function deserializeClassPrivateProperty() {
|
|
|
695
703
|
declare: this.deserializeBoolean(),
|
|
696
704
|
optional: this.deserializeBoolean(),
|
|
697
705
|
variance: this.deserializeNode(),
|
|
698
|
-
typeAnnotation: this.deserializeNode()
|
|
706
|
+
typeAnnotation: this.deserializeNode(),
|
|
707
|
+
tsModifiers: this.deserializeNode()
|
|
699
708
|
};
|
|
700
709
|
}
|
|
701
710
|
|
|
@@ -1079,6 +1088,13 @@ function deserializeMixedTypeAnnotation() {
|
|
|
1079
1088
|
};
|
|
1080
1089
|
}
|
|
1081
1090
|
|
|
1091
|
+
function deserializeBigIntTypeAnnotation() {
|
|
1092
|
+
return {
|
|
1093
|
+
type: 'BigIntTypeAnnotation',
|
|
1094
|
+
loc: this.addEmptyLoc()
|
|
1095
|
+
};
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1082
1098
|
function deserializeVoidTypeAnnotation() {
|
|
1083
1099
|
return {
|
|
1084
1100
|
type: 'VoidTypeAnnotation',
|
|
@@ -1932,6 +1948,15 @@ function deserializeTSCallSignatureDeclaration() {
|
|
|
1932
1948
|
};
|
|
1933
1949
|
}
|
|
1934
1950
|
|
|
1951
|
+
function deserializeTSModifiers() {
|
|
1952
|
+
return {
|
|
1953
|
+
type: 'TSModifiers',
|
|
1954
|
+
loc: this.addEmptyLoc(),
|
|
1955
|
+
accessibility: this.deserializeString(),
|
|
1956
|
+
readonly: this.deserializeBoolean()
|
|
1957
|
+
};
|
|
1958
|
+
}
|
|
1959
|
+
|
|
1935
1960
|
function deserializeCoverFirst() {
|
|
1936
1961
|
throw new Error('Cover' + ' should not appear in program buffer');
|
|
1937
1962
|
}
|
|
@@ -1980,4 +2005,4 @@ function deserializeCoverLast() {
|
|
|
1980
2005
|
throw new Error('Cover' + ' should not appear in program buffer');
|
|
1981
2006
|
}
|
|
1982
2007
|
|
|
1983
|
-
module.exports = [deserializeEmpty, deserializeMetadata, deserializeFunctionLikeFirst, deserializeProgram, deserializeFunctionExpression, deserializeArrowFunctionExpression, deserializeFunctionDeclaration, 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, deserializeVoidTypeAnnotation, deserializeFunctionTypeAnnotation, deserializeFunctionTypeParam, deserializeNullableTypeAnnotation, deserializeQualifiedTypeIdentifier, deserializeTypeofTypeAnnotation, deserializeTupleTypeAnnotation, deserializeArrayTypeAnnotation, deserializeUnionTypeAnnotation, deserializeIntersectionTypeAnnotation, deserializeGenericTypeAnnotation, deserializeIndexedAccessType, deserializeOptionalIndexedAccessType, deserializeInterfaceTypeAnnotation, deserializeTypeAlias, deserializeOpaqueType, deserializeInterfaceDeclaration, deserializeDeclareTypeAlias, deserializeDeclareOpaqueType, deserializeDeclareInterface, deserializeDeclareClass, deserializeDeclareFunction, deserializeDeclareVariable, deserializeDeclareExportDeclaration, deserializeDeclareExportAllDeclaration, deserializeDeclareModule, deserializeDeclareModuleExports, deserializeInterfaceExtends, deserializeClassImplements, deserializeTypeAnnotation, deserializeObjectTypeAnnotation, deserializeObjectTypeProperty, deserializeObjectTypeSpreadProperty, deserializeObjectTypeInternalSlot, deserializeObjectTypeCallProperty, deserializeObjectTypeIndexer, deserializeVariance, deserializeTypeParameterDeclaration, deserializeTypeParameter, deserializeTypeParameterInstantiation, deserializeTypeCastExpression, deserializeInferredPredicate, deserializeDeclaredPredicate, deserializeEnumDeclaration, deserializeEnumStringBody, deserializeEnumNumberBody, deserializeEnumBooleanBody, deserializeEnumSymbolBody, deserializeEnumDefaultedMember, deserializeEnumStringMember, deserializeEnumNumberMember, deserializeEnumBooleanMember, 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, deserializeCoverFirst, deserializeCoverEmptyArgs, deserializeCoverTrailingComma, deserializeCoverInitializer, deserializeCoverRestElement, deserializeCoverTypedIdentifier, deserializeCoverLast];
|
|
2008
|
+
module.exports = [deserializeEmpty, deserializeMetadata, deserializeFunctionLikeFirst, deserializeProgram, deserializeFunctionExpression, deserializeArrowFunctionExpression, deserializeFunctionDeclaration, 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, deserializeNullableTypeAnnotation, deserializeQualifiedTypeIdentifier, deserializeTypeofTypeAnnotation, deserializeTupleTypeAnnotation, deserializeArrayTypeAnnotation, deserializeUnionTypeAnnotation, deserializeIntersectionTypeAnnotation, deserializeGenericTypeAnnotation, deserializeIndexedAccessType, deserializeOptionalIndexedAccessType, deserializeInterfaceTypeAnnotation, deserializeTypeAlias, deserializeOpaqueType, deserializeInterfaceDeclaration, deserializeDeclareTypeAlias, deserializeDeclareOpaqueType, deserializeDeclareInterface, deserializeDeclareClass, deserializeDeclareFunction, deserializeDeclareVariable, deserializeDeclareExportDeclaration, deserializeDeclareExportAllDeclaration, deserializeDeclareModule, deserializeDeclareModuleExports, deserializeInterfaceExtends, deserializeClassImplements, deserializeTypeAnnotation, deserializeObjectTypeAnnotation, deserializeObjectTypeProperty, deserializeObjectTypeSpreadProperty, deserializeObjectTypeInternalSlot, deserializeObjectTypeCallProperty, deserializeObjectTypeIndexer, deserializeVariance, deserializeTypeParameterDeclaration, deserializeTypeParameter, deserializeTypeParameterInstantiation, deserializeTypeCastExpression, deserializeInferredPredicate, deserializeDeclaredPredicate, deserializeEnumDeclaration, deserializeEnumStringBody, deserializeEnumNumberBody, deserializeEnumBooleanBody, deserializeEnumSymbolBody, deserializeEnumDefaultedMember, deserializeEnumStringMember, deserializeEnumNumberMember, deserializeEnumBooleanMember, 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];
|