hermes-parser 0.11.1 → 0.12.0
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/HermesParser.js +44 -19
- package/dist/HermesParser.js.flow +86 -52
- package/dist/HermesParserDeserializer.js.flow +1 -1
- package/dist/HermesParserNodeDeserializers.js +17 -16
- package/dist/HermesParserWASM.js +1 -1
- package/dist/HermesParserWASM.js.flow +6 -2
- package/dist/HermesToBabelAdapter.js +201 -0
- package/dist/HermesToBabelAdapter.js.flow +209 -0
- package/dist/generated/ESTreeVisitorKeys.js +3 -3
- package/dist/generated/ParserVisitorKeys.js +3 -3
- package/dist/index.js +6 -1
- package/dist/index.js.flow +1 -0
- package/dist/transform/SimpleTransform.js +2 -1
- package/dist/transform/SimpleTransform.js.flow +1 -0
- package/dist/utils/mutateESTreeASTForPrettier.js +116 -0
- package/dist/utils/mutateESTreeASTForPrettier.js.flow +119 -0
- package/package.json +2 -2
package/dist/HermesParser.js
CHANGED
|
@@ -20,34 +20,59 @@ var _HermesParserWASM = _interopRequireDefault(require("./HermesParserWASM"));
|
|
|
20
20
|
|
|
21
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
let HermesParserWASM;
|
|
24
|
+
let hermesParse;
|
|
25
|
+
let hermesParseResult_free;
|
|
26
|
+
let hermesParseResult_getError;
|
|
27
|
+
let hermesParseResult_getErrorLine;
|
|
28
|
+
let hermesParseResult_getErrorColumn;
|
|
29
|
+
let hermesParseResult_getProgramBuffer;
|
|
30
|
+
let hermesParseResult_getPositionBuffer;
|
|
31
|
+
let hermesParseResult_getPositionBufferSize;
|
|
32
|
+
/**
|
|
33
|
+
* Init the WASM wrapper code generated by `emscripten` to preparse the
|
|
34
|
+
* HermesParser WASM code.
|
|
35
|
+
*/
|
|
32
36
|
|
|
33
|
-
|
|
37
|
+
function initHermesParserWASM() {
|
|
38
|
+
if (HermesParserWASM != null) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
34
41
|
|
|
35
|
-
|
|
42
|
+
HermesParserWASM = (0, _HermesParserWASM.default)({
|
|
43
|
+
/**
|
|
44
|
+
* The emscripten version of `quit` unconditionally assigns the `status` to
|
|
45
|
+
* `process.exitCode` which overrides any pre-existing code that has been
|
|
46
|
+
* set, even if it is non zero. For our use case we never want an
|
|
47
|
+
* `exitCode` to be set so this override removes that functionality.
|
|
48
|
+
*/
|
|
49
|
+
quit(_status, toThrow) {
|
|
50
|
+
throw toThrow;
|
|
51
|
+
}
|
|
36
52
|
|
|
37
|
-
|
|
53
|
+
});
|
|
54
|
+
hermesParse = HermesParserWASM.cwrap('hermesParse', 'number', ['number', 'number', 'number', 'number', 'number', 'number']);
|
|
55
|
+
hermesParseResult_free = HermesParserWASM.cwrap('hermesParseResult_free', 'void', ['number']);
|
|
56
|
+
hermesParseResult_getError = HermesParserWASM.cwrap('hermesParseResult_getError', 'string', ['number']);
|
|
57
|
+
hermesParseResult_getErrorLine = HermesParserWASM.cwrap('hermesParseResult_getErrorLine', 'number', ['number']);
|
|
58
|
+
hermesParseResult_getErrorColumn = HermesParserWASM.cwrap('hermesParseResult_getErrorColumn', 'number', ['number']);
|
|
59
|
+
hermesParseResult_getProgramBuffer = HermesParserWASM.cwrap('hermesParseResult_getProgramBuffer', 'number', ['number']);
|
|
60
|
+
hermesParseResult_getPositionBuffer = HermesParserWASM.cwrap('hermesParseResult_getPositionBuffer', 'number', ['number']);
|
|
61
|
+
hermesParseResult_getPositionBufferSize = HermesParserWASM.cwrap('hermesParseResult_getPositionBufferSize', 'number', ['number']);
|
|
62
|
+
} // Copy a string into the WASM heap and null-terminate
|
|
38
63
|
|
|
39
64
|
|
|
40
65
|
function copyToHeap(buffer, addr) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
_HermesParserWASM.default.HEAP8[addr + buffer.length] = 0;
|
|
66
|
+
HermesParserWASM.HEAP8.set(buffer, addr);
|
|
67
|
+
HermesParserWASM.HEAP8[addr + buffer.length] = 0;
|
|
44
68
|
}
|
|
45
69
|
|
|
46
70
|
function parse(source, options) {
|
|
47
|
-
// Allocate space on heap for source text
|
|
71
|
+
initHermesParserWASM(); // Allocate space on heap for source text
|
|
72
|
+
|
|
48
73
|
const sourceBuffer = Buffer.from(source, 'utf8');
|
|
49
74
|
|
|
50
|
-
const sourceAddr =
|
|
75
|
+
const sourceAddr = HermesParserWASM._malloc(sourceBuffer.length + 1);
|
|
51
76
|
|
|
52
77
|
if (!sourceAddr) {
|
|
53
78
|
throw new Error('Parser out of memory');
|
|
@@ -72,12 +97,12 @@ function parse(source, options) {
|
|
|
72
97
|
throw syntaxError;
|
|
73
98
|
}
|
|
74
99
|
|
|
75
|
-
const deserializer = new _HermesParserDeserializer.default(hermesParseResult_getProgramBuffer(parseResult), hermesParseResult_getPositionBuffer(parseResult), hermesParseResult_getPositionBufferSize(parseResult),
|
|
100
|
+
const deserializer = new _HermesParserDeserializer.default(hermesParseResult_getProgramBuffer(parseResult), hermesParseResult_getPositionBuffer(parseResult), hermesParseResult_getPositionBufferSize(parseResult), HermesParserWASM, options);
|
|
76
101
|
return deserializer.deserialize();
|
|
77
102
|
} finally {
|
|
78
103
|
hermesParseResult_free(parseResult);
|
|
79
104
|
}
|
|
80
105
|
} finally {
|
|
81
|
-
|
|
106
|
+
HermesParserWASM._free(sourceAddr);
|
|
82
107
|
}
|
|
83
108
|
}
|
|
@@ -14,58 +14,90 @@ import type {HermesNode} from './HermesAST';
|
|
|
14
14
|
import type {ParserOptions} from './ParserOptions';
|
|
15
15
|
|
|
16
16
|
import HermesParserDeserializer from './HermesParserDeserializer';
|
|
17
|
-
import
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
17
|
+
import HermesParserWASMModule from './HermesParserWASM';
|
|
18
|
+
|
|
19
|
+
let HermesParserWASM;
|
|
20
|
+
let hermesParse;
|
|
21
|
+
let hermesParseResult_free;
|
|
22
|
+
let hermesParseResult_getError;
|
|
23
|
+
let hermesParseResult_getErrorLine;
|
|
24
|
+
let hermesParseResult_getErrorColumn;
|
|
25
|
+
let hermesParseResult_getProgramBuffer;
|
|
26
|
+
let hermesParseResult_getPositionBuffer;
|
|
27
|
+
let hermesParseResult_getPositionBufferSize;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Init the WASM wrapper code generated by `emscripten` to preparse the
|
|
31
|
+
* HermesParser WASM code.
|
|
32
|
+
*/
|
|
33
|
+
function initHermesParserWASM() {
|
|
34
|
+
if (HermesParserWASM != null) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
HermesParserWASM = HermesParserWASMModule({
|
|
39
|
+
/**
|
|
40
|
+
* The emscripten version of `quit` unconditionally assigns the `status` to
|
|
41
|
+
* `process.exitCode` which overrides any pre-existing code that has been
|
|
42
|
+
* set, even if it is non zero. For our use case we never want an
|
|
43
|
+
* `exitCode` to be set so this override removes that functionality.
|
|
44
|
+
*/
|
|
45
|
+
quit(_status: number, toThrow: Error) {
|
|
46
|
+
throw toThrow;
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
hermesParse = HermesParserWASM.cwrap('hermesParse', 'number', [
|
|
51
|
+
'number',
|
|
52
|
+
'number',
|
|
53
|
+
'number',
|
|
54
|
+
'number',
|
|
55
|
+
'number',
|
|
56
|
+
'number',
|
|
57
|
+
]);
|
|
58
|
+
|
|
59
|
+
hermesParseResult_free = HermesParserWASM.cwrap(
|
|
60
|
+
'hermesParseResult_free',
|
|
61
|
+
'void',
|
|
62
|
+
['number'],
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
hermesParseResult_getError = HermesParserWASM.cwrap(
|
|
66
|
+
'hermesParseResult_getError',
|
|
67
|
+
'string',
|
|
68
|
+
['number'],
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
hermesParseResult_getErrorLine = HermesParserWASM.cwrap(
|
|
72
|
+
'hermesParseResult_getErrorLine',
|
|
73
|
+
'number',
|
|
74
|
+
['number'],
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
hermesParseResult_getErrorColumn = HermesParserWASM.cwrap(
|
|
78
|
+
'hermesParseResult_getErrorColumn',
|
|
79
|
+
'number',
|
|
80
|
+
['number'],
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
hermesParseResult_getProgramBuffer = HermesParserWASM.cwrap(
|
|
84
|
+
'hermesParseResult_getProgramBuffer',
|
|
85
|
+
'number',
|
|
86
|
+
['number'],
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
hermesParseResult_getPositionBuffer = HermesParserWASM.cwrap(
|
|
90
|
+
'hermesParseResult_getPositionBuffer',
|
|
91
|
+
'number',
|
|
92
|
+
['number'],
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
hermesParseResult_getPositionBufferSize = HermesParserWASM.cwrap(
|
|
96
|
+
'hermesParseResult_getPositionBufferSize',
|
|
97
|
+
'number',
|
|
98
|
+
['number'],
|
|
99
|
+
);
|
|
100
|
+
}
|
|
69
101
|
|
|
70
102
|
// Copy a string into the WASM heap and null-terminate
|
|
71
103
|
function copyToHeap(buffer: Buffer, addr: number) {
|
|
@@ -74,6 +106,8 @@ function copyToHeap(buffer: Buffer, addr: number) {
|
|
|
74
106
|
}
|
|
75
107
|
|
|
76
108
|
export function parse(source: string, options: ParserOptions): HermesNode {
|
|
109
|
+
initHermesParserWASM();
|
|
110
|
+
|
|
77
111
|
// Allocate space on heap for source text
|
|
78
112
|
const sourceBuffer = Buffer.from(source, 'utf8');
|
|
79
113
|
const sourceAddr = HermesParserWASM._malloc(sourceBuffer.length + 1);
|
|
@@ -16,7 +16,7 @@ import type {
|
|
|
16
16
|
HermesToken,
|
|
17
17
|
HermesComment,
|
|
18
18
|
} from './HermesAST';
|
|
19
|
-
import
|
|
19
|
+
import type {HermesParserWASM} from './HermesParserWASM';
|
|
20
20
|
import type {ParserOptions} from './ParserOptions';
|
|
21
21
|
|
|
22
22
|
import HermesParserDecodeUTF8String from './HermesParserDecodeUTF8String';
|
|
@@ -92,6 +92,18 @@ function deserializeFunctionDeclaration() {
|
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
+
function deserializeComponentDeclaration() {
|
|
96
|
+
return {
|
|
97
|
+
type: 'ComponentDeclaration',
|
|
98
|
+
loc: this.addEmptyLoc(),
|
|
99
|
+
id: this.deserializeNode(),
|
|
100
|
+
params: this.deserializeNodeList(),
|
|
101
|
+
body: this.deserializeNode(),
|
|
102
|
+
typeParameters: this.deserializeNode(),
|
|
103
|
+
rendersType: this.deserializeNode()
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
|
95
107
|
function deserializeFunctionLikeLast() {
|
|
96
108
|
throw new Error('FunctionLike' + ' should not appear in program buffer');
|
|
97
109
|
}
|
|
@@ -1132,7 +1144,7 @@ function deserializeComponentTypeAnnotation() {
|
|
|
1132
1144
|
params: this.deserializeNodeList(),
|
|
1133
1145
|
rest: this.deserializeNode(),
|
|
1134
1146
|
typeParameters: this.deserializeNode(),
|
|
1135
|
-
|
|
1147
|
+
rendersType: this.deserializeNode()
|
|
1136
1148
|
};
|
|
1137
1149
|
}
|
|
1138
1150
|
|
|
@@ -1400,7 +1412,7 @@ function deserializeDeclareComponent() {
|
|
|
1400
1412
|
params: this.deserializeNodeList(),
|
|
1401
1413
|
rest: this.deserializeNode(),
|
|
1402
1414
|
typeParameters: this.deserializeNode(),
|
|
1403
|
-
|
|
1415
|
+
rendersType: this.deserializeNode()
|
|
1404
1416
|
};
|
|
1405
1417
|
}
|
|
1406
1418
|
|
|
@@ -1589,7 +1601,8 @@ function deserializeTypeParameter() {
|
|
|
1589
1601
|
name: this.deserializeString(),
|
|
1590
1602
|
bound: this.deserializeNode(),
|
|
1591
1603
|
variance: this.deserializeNode(),
|
|
1592
|
-
default: this.deserializeNode()
|
|
1604
|
+
default: this.deserializeNode(),
|
|
1605
|
+
usesExtendsBound: this.deserializeBoolean()
|
|
1593
1606
|
};
|
|
1594
1607
|
}
|
|
1595
1608
|
|
|
@@ -1708,18 +1721,6 @@ function deserializeEnumBooleanMember() {
|
|
|
1708
1721
|
};
|
|
1709
1722
|
}
|
|
1710
1723
|
|
|
1711
|
-
function deserializeComponentDeclaration() {
|
|
1712
|
-
return {
|
|
1713
|
-
type: 'ComponentDeclaration',
|
|
1714
|
-
loc: this.addEmptyLoc(),
|
|
1715
|
-
id: this.deserializeNode(),
|
|
1716
|
-
params: this.deserializeNodeList(),
|
|
1717
|
-
body: this.deserializeNode(),
|
|
1718
|
-
typeParameters: this.deserializeNode(),
|
|
1719
|
-
returnType: this.deserializeNode()
|
|
1720
|
-
};
|
|
1721
|
-
}
|
|
1722
|
-
|
|
1723
1724
|
function deserializeComponentParameter() {
|
|
1724
1725
|
return {
|
|
1725
1726
|
type: 'ComponentParameter',
|
|
@@ -2149,4 +2150,4 @@ function deserializeCoverLast() {
|
|
|
2149
2150
|
throw new Error('Cover' + ' should not appear in program buffer');
|
|
2150
2151
|
}
|
|
2151
2152
|
|
|
2152
|
-
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, 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,
|
|
2153
|
+
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];
|