tsc-ts 0.0.9 → 0.1.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/README.md +2 -2
- package/bin/tsc-ts.js +70 -1
- package/dist/api/compiler/ast-utilities.d.ts +19 -1
- package/dist/api/compiler/ast-utilities.js +180 -95
- package/dist/api/compiler/ast.d.ts +22 -15
- package/dist/api/compiler/ast.js +1026 -995
- package/dist/api/compiler/astnav.js +15 -15
- package/dist/api/compiler/binder-utilities.js +186 -186
- package/dist/api/compiler/binder.js +290 -263
- package/dist/api/compiler/character-codes.js +2 -2
- package/dist/api/compiler/checker-calls.js +178 -124
- package/dist/api/compiler/checker-classes.d.ts +14 -3
- package/dist/api/compiler/checker-classes.js +134 -90
- package/dist/api/compiler/checker-contextual.js +64 -61
- package/dist/api/compiler/checker-declaration-order.js +79 -79
- package/dist/api/compiler/checker-declarations.d.ts +1 -0
- package/dist/api/compiler/checker-declarations.js +160 -136
- package/dist/api/compiler/checker-declared-types.js +67 -65
- package/dist/api/compiler/checker-decorators.js +77 -77
- package/dist/api/compiler/checker-deprecation.d.ts +8 -3
- package/dist/api/compiler/checker-deprecation.js +76 -55
- package/dist/api/compiler/checker-destructuring.js +47 -45
- package/dist/api/compiler/checker-elaboration.js +24 -24
- package/dist/api/compiler/checker-emit-helpers.js +4 -4
- package/dist/api/compiler/checker-emit-resolver.d.ts +4 -2
- package/dist/api/compiler/checker-emit-resolver.js +25 -13
- package/dist/api/compiler/checker-evaluator.js +9 -9
- package/dist/api/compiler/checker-expressions.js +244 -211
- package/dist/api/compiler/checker-functions.js +113 -107
- package/dist/api/compiler/checker-generated-code.d.ts +0 -11
- package/dist/api/compiler/checker-generated-code.js +28 -52
- package/dist/api/compiler/checker-grammar.d.ts +1 -0
- package/dist/api/compiler/checker-grammar.js +472 -440
- package/dist/api/compiler/checker-heritage.js +91 -93
- package/dist/api/compiler/checker-inference.d.ts +77 -5
- package/dist/api/compiler/checker-inference.js +487 -107
- package/dist/api/compiler/checker-iteration.d.ts +0 -10
- package/dist/api/compiler/checker-iteration.js +35 -52
- package/dist/api/compiler/checker-javascript.js +14 -14
- package/dist/api/compiler/checker-jsdoc.d.ts +8 -10
- package/dist/api/compiler/checker-jsdoc.js +67 -58
- package/dist/api/compiler/checker-jsx.js +105 -88
- package/dist/api/compiler/checker-members.d.ts +9 -2
- package/dist/api/compiler/checker-members.js +212 -75
- package/dist/api/compiler/checker-modules.d.ts +15 -6
- package/dist/api/compiler/checker-modules.js +469 -309
- package/dist/api/compiler/checker-narrowing.js +273 -189
- package/dist/api/compiler/checker-object-literals.js +25 -22
- package/dist/api/compiler/checker-operators.js +126 -118
- package/dist/api/compiler/checker-overloads.js +27 -27
- package/dist/api/compiler/checker-property-access.js +59 -55
- package/dist/api/compiler/checker-services.d.ts +1 -0
- package/dist/api/compiler/checker-services.js +222 -210
- package/dist/api/compiler/checker-signatures.js +65 -49
- package/dist/api/compiler/checker-source-file.d.ts +5 -0
- package/dist/api/compiler/checker-source-file.js +154 -130
- package/dist/api/compiler/checker-statements.js +33 -32
- package/dist/api/compiler/checker-super.js +50 -50
- package/dist/api/compiler/checker-symbol-types.js +109 -93
- package/dist/api/compiler/checker-symbols.d.ts +13 -1
- package/dist/api/compiler/checker-symbols.js +264 -149
- package/dist/api/compiler/checker-type-factory.d.ts +5 -0
- package/dist/api/compiler/checker-type-factory.js +145 -36
- package/dist/api/compiler/checker-type-nodes.d.ts +1 -0
- package/dist/api/compiler/checker-type-nodes.js +179 -141
- package/dist/api/compiler/checker-type-operators.d.ts +2 -0
- package/dist/api/compiler/checker-type-operators.js +110 -63
- package/dist/api/compiler/checker-types.d.ts +80 -3
- package/dist/api/compiler/checker-types.js +121 -2
- package/dist/api/compiler/checker-unused.js +114 -118
- package/dist/api/compiler/checker-utilities.js +11 -11
- package/dist/api/compiler/checker.d.ts +104 -31
- package/dist/api/compiler/checker.js +181 -33
- package/dist/api/compiler/command-line.d.ts +1 -3
- package/dist/api/compiler/command-line.js +47 -44
- package/dist/api/compiler/compile-program.d.ts +42 -3
- package/dist/api/compiler/compile-program.js +139 -27
- package/dist/api/compiler/diagnostic-messages.d.ts +1849 -1774
- package/dist/api/compiler/diagnostic-messages.js +128 -122
- package/dist/api/compiler/diagnostics.d.ts +22 -0
- package/dist/api/compiler/diagnostics.js +93 -11
- package/dist/api/compiler/emitter.d.ts +7 -1
- package/dist/api/compiler/emitter.js +53 -11
- package/dist/api/compiler/file-include.d.ts +2 -1
- package/dist/api/compiler/file-include.js +11 -7
- package/dist/api/compiler/file-loader.d.ts +21 -1
- package/dist/api/compiler/file-loader.js +201 -48
- package/dist/api/compiler/instantiation.d.ts +7 -0
- package/dist/api/compiler/instantiation.js +101 -49
- package/dist/api/compiler/jsdoc.js +23 -23
- package/dist/api/compiler/link-tables.d.ts +48 -18
- package/dist/api/compiler/link-tables.js +80 -37
- package/dist/api/compiler/locales/cs-CZ.d.ts +1 -1
- package/dist/api/compiler/locales/cs-CZ.js +1 -1
- package/dist/api/compiler/locales/de-DE.d.ts +1 -1
- package/dist/api/compiler/locales/de-DE.js +1 -1
- package/dist/api/compiler/locales/es-ES.d.ts +1 -1
- package/dist/api/compiler/locales/es-ES.js +1 -1
- package/dist/api/compiler/locales/fr-FR.d.ts +1 -1
- package/dist/api/compiler/locales/fr-FR.js +1 -1
- package/dist/api/compiler/locales/it-IT.d.ts +1 -1
- package/dist/api/compiler/locales/it-IT.js +1 -1
- package/dist/api/compiler/locales/ja-JP.d.ts +1 -1
- package/dist/api/compiler/locales/ja-JP.js +1 -1
- package/dist/api/compiler/locales/ko-KR.d.ts +1 -1
- package/dist/api/compiler/locales/ko-KR.js +1 -1
- package/dist/api/compiler/locales/pl-PL.d.ts +1 -1
- package/dist/api/compiler/locales/pl-PL.js +1 -1
- package/dist/api/compiler/locales/pt-BR.d.ts +1 -1
- package/dist/api/compiler/locales/pt-BR.js +1 -1
- package/dist/api/compiler/locales/ru-RU.d.ts +1 -1
- package/dist/api/compiler/locales/ru-RU.js +1 -1
- package/dist/api/compiler/locales/tr-TR.d.ts +1 -1
- package/dist/api/compiler/locales/tr-TR.js +1 -1
- package/dist/api/compiler/locales/zh-CN.d.ts +1 -1
- package/dist/api/compiler/locales/zh-CN.js +1 -1
- package/dist/api/compiler/locales/zh-TW.d.ts +1 -1
- package/dist/api/compiler/locales/zh-TW.js +1 -1
- package/dist/api/compiler/module-resolution-types.js +6 -6
- package/dist/api/compiler/module-resolution.d.ts +10 -1
- package/dist/api/compiler/module-resolution.js +115 -84
- package/dist/api/compiler/module-specifiers.d.ts +15 -0
- package/dist/api/compiler/module-specifiers.js +24 -18
- package/dist/api/compiler/name-resolver.js +74 -65
- package/dist/api/compiler/node-builder-names.d.ts +11 -3
- package/dist/api/compiler/node-builder-names.js +210 -90
- package/dist/api/compiler/node-builder-pseudo.js +29 -31
- package/dist/api/compiler/node-builder-reuse.js +23 -22
- package/dist/api/compiler/node-builder.d.ts +18 -1
- package/dist/api/compiler/node-builder.js +191 -102
- package/dist/api/compiler/option-declarations.d.ts +2 -6
- package/dist/api/compiler/option-declarations.js +315 -375
- package/dist/api/compiler/options.d.ts +15 -33
- package/dist/api/compiler/options.js +21 -54
- package/dist/api/compiler/output-paths.d.ts +4 -1
- package/dist/api/compiler/output-paths.js +6 -11
- package/dist/api/compiler/package-json.d.ts +3 -3
- package/dist/api/compiler/package-json.js +11 -10
- package/dist/api/compiler/parallel-parse.d.ts +3 -2
- package/dist/api/compiler/parallel-parse.js +17 -5
- package/dist/api/compiler/parser.d.ts +40 -19
- package/dist/api/compiler/parser.js +308 -216
- package/dist/api/compiler/path.d.ts +9 -0
- package/dist/api/compiler/path.js +20 -3
- package/dist/api/compiler/printer/emit-context.d.ts +5 -1
- package/dist/api/compiler/printer/emit-context.js +20 -1
- package/dist/api/compiler/printer/factory-base.d.ts +2 -2
- package/dist/api/compiler/printer/factory-base.js +7 -3
- package/dist/api/compiler/printer/factory.js +3 -1
- package/dist/api/compiler/printer/helpers.js +10 -1
- package/dist/api/compiler/printer/name-generator.d.ts +1 -1
- package/dist/api/compiler/printer/name-generator.js +35 -16
- package/dist/api/compiler/printer/printer.d.ts +49 -2
- package/dist/api/compiler/printer/printer.js +539 -293
- package/dist/api/compiler/printer/utilities.js +149 -147
- package/dist/api/compiler/program-checker.d.ts +12 -2
- package/dist/api/compiler/program-checker.js +88 -34
- package/dist/api/compiler/program-utilities.d.ts +3 -1
- package/dist/api/compiler/program-utilities.js +28 -15
- package/dist/api/compiler/program.d.ts +4 -6
- package/dist/api/compiler/program.js +74 -87
- package/dist/api/compiler/pseudo-bigint.d.ts +2 -0
- package/dist/api/compiler/pseudo-bigint.js +18 -0
- package/dist/api/compiler/regexp-checker.d.ts +1 -1
- package/dist/api/compiler/regexp-checker.js +93 -76
- package/dist/api/compiler/relations.d.ts +27 -4
- package/dist/api/compiler/relations.js +347 -180
- package/dist/api/compiler/reparser.js +60 -56
- package/dist/api/compiler/scanner.d.ts +19 -2
- package/dist/api/compiler/scanner.js +123 -108
- package/dist/api/compiler/shared-results.d.ts +463 -0
- package/dist/api/compiler/shared-results.js +2128 -0
- package/dist/api/compiler/sourcemap.js +2 -2
- package/dist/api/compiler/symbol-accessibility.js +87 -74
- package/dist/api/compiler/symbol.d.ts +23 -14
- package/dist/api/compiler/symbol.js +23 -11
- package/dist/api/compiler/syntax-kind.d.ts +198 -197
- package/dist/api/compiler/transformers/alias-references.js +247 -139
- package/dist/api/compiler/transformers/async-utilities.js +25 -25
- package/dist/api/compiler/transformers/async.d.ts +0 -1
- package/dist/api/compiler/transformers/async.js +64 -77
- package/dist/api/compiler/transformers/class-fields.d.ts +1 -0
- package/dist/api/compiler/transformers/class-fields.js +81 -78
- package/dist/api/compiler/transformers/commonjs-module.js +18 -15
- package/dist/api/compiler/transformers/const-enum-inliner.js +1 -1
- package/dist/api/compiler/transformers/declarations-diagnostics.js +247 -244
- package/dist/api/compiler/transformers/declarations-pseudo.js +100 -100
- package/dist/api/compiler/transformers/declarations-resolver.d.ts +0 -3
- package/dist/api/compiler/transformers/declarations-syntactic.d.ts +1 -2
- package/dist/api/compiler/transformers/declarations-syntactic.js +134 -156
- package/dist/api/compiler/transformers/declarations-tracker.js +18 -18
- package/dist/api/compiler/transformers/declarations.d.ts +4 -1
- package/dist/api/compiler/transformers/declarations.js +305 -238
- package/dist/api/compiler/transformers/decorator-metadata.d.ts +1 -1
- package/dist/api/compiler/transformers/decorator-metadata.js +53 -45
- package/dist/api/compiler/transformers/decorator-utilities.js +24 -24
- package/dist/api/compiler/transformers/destructuring.js +19 -18
- package/dist/api/compiler/transformers/emit-resolver.js +1 -1
- package/dist/api/compiler/transformers/es-decorators.js +55 -55
- package/dist/api/compiler/transformers/external-module-info.js +3 -3
- package/dist/api/compiler/transformers/for-await.js +25 -25
- package/dist/api/compiler/transformers/import-elision.js +14 -14
- package/dist/api/compiler/transformers/jsx.js +12 -12
- package/dist/api/compiler/transformers/legacy-decorators.js +17 -17
- package/dist/api/compiler/transformers/module.js +8 -8
- package/dist/api/compiler/transformers/named-evaluation.js +4 -4
- package/dist/api/compiler/transformers/object-rest-spread.js +20 -20
- package/dist/api/compiler/transformers/optional-chain.js +10 -10
- package/dist/api/compiler/transformers/reference-resolver.d.ts +12 -1
- package/dist/api/compiler/transformers/reference-resolver.js +131 -69
- package/dist/api/compiler/transformers/runtime-syntax.js +35 -31
- package/dist/api/compiler/transformers/subtree-facts.js +47 -47
- package/dist/api/compiler/transformers/syntax-facts.js +56 -58
- package/dist/api/compiler/transformers/type-eraser.js +73 -66
- package/dist/api/compiler/transformers/type-serialization.js +24 -24
- package/dist/api/compiler/transformers/using.js +12 -12
- package/dist/api/compiler/transformers/utilities.js +77 -77
- package/dist/api/compiler/transformers/visitor-base.js +172 -172
- package/dist/api/compiler/transformers/visitor-hooks.js +6 -2
- package/dist/api/compiler/tsconfig.d.ts +10 -2
- package/dist/api/compiler/tsconfig.js +136 -48
- package/dist/api/compiler/type-printer.js +40 -3
- package/dist/api/compiler/types.d.ts +2 -1
- package/dist/api/library/ast.generated.d.ts +42 -39
- package/dist/api/library/ast.generated.js +1 -1
- package/dist/api/library/compiler-options.generated.d.ts +111 -100
- package/dist/api/library/compiler-options.generated.js +1 -1
- package/dist/api/library/disk.js +12 -1
- package/dist/api/library/enums.generated.d.ts +206 -206
- package/dist/api/library/enums.generated.js +206 -206
- package/dist/api/library/nodes.js +26 -26
- package/package.json +9 -9
- package/src/compiler/ast-utilities.ts +99 -7
- package/src/compiler/ast.ts +58 -26
- package/src/compiler/binder.ts +39 -4
- package/src/compiler/character-codes.ts +2 -2
- package/src/compiler/checker-calls.ts +79 -9
- package/src/compiler/checker-classes.ts +78 -24
- package/src/compiler/checker-contextual.ts +6 -1
- package/src/compiler/checker-declarations.ts +31 -4
- package/src/compiler/checker-declared-types.ts +8 -5
- package/src/compiler/checker-decorators.ts +1 -1
- package/src/compiler/checker-deprecation.ts +29 -8
- package/src/compiler/checker-destructuring.ts +10 -3
- package/src/compiler/checker-emit-helpers.ts +1 -0
- package/src/compiler/checker-emit-resolver.ts +16 -6
- package/src/compiler/checker-expressions.ts +79 -46
- package/src/compiler/checker-functions.ts +21 -6
- package/src/compiler/checker-generated-code.ts +2 -22
- package/src/compiler/checker-grammar.ts +136 -62
- package/src/compiler/checker-heritage.ts +22 -21
- package/src/compiler/checker-inference.ts +514 -82
- package/src/compiler/checker-iteration.ts +18 -31
- package/src/compiler/checker-javascript.ts +1 -1
- package/src/compiler/checker-jsdoc.ts +50 -27
- package/src/compiler/checker-jsx.ts +26 -4
- package/src/compiler/checker-members.ts +200 -56
- package/src/compiler/checker-modules.ts +332 -65
- package/src/compiler/checker-narrowing.ts +98 -19
- package/src/compiler/checker-object-literals.ts +3 -0
- package/src/compiler/checker-operators.ts +11 -4
- package/src/compiler/checker-property-access.ts +7 -2
- package/src/compiler/checker-services.ts +39 -12
- package/src/compiler/checker-signatures.ts +15 -1
- package/src/compiler/checker-source-file.ts +39 -13
- package/src/compiler/checker-statements.ts +3 -2
- package/src/compiler/checker-symbol-types.ts +29 -6
- package/src/compiler/checker-symbols.ts +158 -15
- package/src/compiler/checker-type-factory.ts +124 -23
- package/src/compiler/checker-type-nodes.ts +46 -3
- package/src/compiler/checker-type-operators.ts +83 -26
- package/src/compiler/checker-types.ts +147 -4
- package/src/compiler/checker-unused.ts +9 -14
- package/src/compiler/checker.ts +203 -39
- package/src/compiler/command-line.ts +28 -28
- package/src/compiler/compile-program.ts +167 -27
- package/src/compiler/decoder.ts +13 -4
- package/src/compiler/diagnostic-messages.ts +1973 -1892
- package/src/compiler/diagnostics.ts +84 -3
- package/src/compiler/emitter.ts +57 -8
- package/src/compiler/encoder.ts +23 -8
- package/src/compiler/file-include.ts +9 -3
- package/src/compiler/file-loader.ts +197 -38
- package/src/compiler/help.ts +10 -14
- package/src/compiler/incremental.ts +165 -30
- package/src/compiler/init.ts +2 -7
- package/src/compiler/instantiation.ts +77 -22
- package/src/compiler/jsdoc.ts +3 -1
- package/src/compiler/link-tables.ts +82 -37
- package/src/compiler/locales/cs-CZ.ts +1 -1
- package/src/compiler/locales/de-DE.ts +1 -1
- package/src/compiler/locales/es-ES.ts +1 -1
- package/src/compiler/locales/fr-FR.ts +1 -1
- package/src/compiler/locales/it-IT.ts +1 -1
- package/src/compiler/locales/ja-JP.ts +1 -1
- package/src/compiler/locales/ko-KR.ts +1 -1
- package/src/compiler/locales/pl-PL.ts +1 -1
- package/src/compiler/locales/pt-BR.ts +1 -1
- package/src/compiler/locales/ru-RU.ts +1 -1
- package/src/compiler/locales/tr-TR.ts +1 -1
- package/src/compiler/locales/zh-CN.ts +1 -1
- package/src/compiler/locales/zh-TW.ts +1 -1
- package/src/compiler/module-resolution.ts +44 -8
- package/src/compiler/module-specifiers.ts +62 -20
- package/src/compiler/name-resolver.ts +9 -1
- package/src/compiler/node-builder-names.ts +236 -54
- package/src/compiler/node-builder-pseudo.ts +4 -7
- package/src/compiler/node-builder-reuse.ts +5 -4
- package/src/compiler/node-builder.ts +130 -31
- package/src/compiler/option-declarations.ts +33 -103
- package/src/compiler/options.ts +23 -62
- package/src/compiler/output-paths.ts +5 -18
- package/src/compiler/package-entrypoints.ts +345 -0
- package/src/compiler/package-json.ts +4 -4
- package/src/compiler/parallel-check.ts +326 -52
- package/src/compiler/parallel-emit.ts +320 -0
- package/src/compiler/parallel-parse.ts +16 -5
- package/src/compiler/parse-thread.ts +3 -0
- package/src/compiler/parser.ts +156 -39
- package/src/compiler/path.ts +22 -2
- package/src/compiler/printer/emit-context.ts +21 -0
- package/src/compiler/printer/factory-base.ts +10 -3
- package/src/compiler/printer/factory.ts +4 -1
- package/src/compiler/printer/helpers.ts +10 -1
- package/src/compiler/printer/name-generator.ts +24 -2
- package/src/compiler/printer/printer.ts +266 -30
- package/src/compiler/printer/utilities.ts +8 -2
- package/src/compiler/program-checker.ts +57 -5
- package/src/compiler/program-utilities.ts +23 -10
- package/src/compiler/program.ts +18 -26
- package/src/compiler/pseudo-bigint.ts +17 -0
- package/src/compiler/regexp-checker.ts +63 -30
- package/src/compiler/relations.ts +240 -77
- package/src/compiler/reparser.ts +7 -2
- package/src/compiler/scanner.ts +109 -79
- package/src/compiler/shared-results.ts +2414 -0
- package/src/compiler/show-config.ts +18 -1
- package/src/compiler/sourcemap.ts +2 -2
- package/src/compiler/symbol-accessibility.ts +26 -3
- package/src/compiler/symbol.ts +46 -24
- package/src/compiler/syntax-kind.ts +188 -187
- package/src/compiler/thread-entry.ts +64 -4
- package/src/compiler/transformers/alias-references.ts +123 -4
- package/src/compiler/transformers/async.ts +2 -17
- package/src/compiler/transformers/class-fields.ts +13 -12
- package/src/compiler/transformers/commonjs-module.ts +11 -7
- package/src/compiler/transformers/declarations-diagnostics.ts +5 -3
- package/src/compiler/transformers/declarations-pseudo.ts +2 -4
- package/src/compiler/transformers/declarations-resolver.ts +0 -3
- package/src/compiler/transformers/declarations-syntactic.ts +1 -21
- package/src/compiler/transformers/declarations.ts +134 -48
- package/src/compiler/transformers/decorator-metadata.ts +9 -1
- package/src/compiler/transformers/destructuring.ts +4 -3
- package/src/compiler/transformers/external-module-info.ts +1 -1
- package/src/compiler/transformers/jsx.ts +2 -1
- package/src/compiler/transformers/reference-resolver.ts +83 -19
- package/src/compiler/transformers/runtime-syntax.ts +6 -1
- package/src/compiler/transformers/syntax-facts.ts +2 -7
- package/src/compiler/transformers/type-eraser.ts +10 -1
- package/src/compiler/transformers/type-serialization.ts +3 -2
- package/src/compiler/transformers/visitor-base.ts +2 -1
- package/src/compiler/transformers/visitor-hooks.ts +9 -4
- package/src/compiler/tsc-build.ts +66 -9
- package/src/compiler/tsc-cli.ts +7 -0
- package/src/compiler/tsc-compile.ts +284 -4
- package/src/compiler/tsc-watch.ts +74 -45
- package/src/compiler/tsconfig.ts +176 -19
- package/src/compiler/type-printer.ts +36 -2
- package/src/compiler/types.ts +2 -1
- package/src/library/ast.generated.ts +57 -41
- package/src/library/compiler-options.generated.ts +117 -103
- package/src/library/disk.ts +10 -1
- package/src/library/enums.generated.ts +196 -196
|
@@ -227,8 +227,8 @@ export class ESDecorators extends Transformer {
|
|
|
227
227
|
enterClassElement(node) {
|
|
228
228
|
const entry = new LexicalEntry(1 /* LexicalEntryKind.ClassElement */, this.top, undefined, undefined);
|
|
229
229
|
this.top = entry;
|
|
230
|
-
if (node.kind ===
|
|
231
|
-
(node.kind ===
|
|
230
|
+
if (node.kind === 177 /* SyntaxKind.ClassStaticBlockDeclaration */ ||
|
|
231
|
+
(node.kind === 174 /* SyntaxKind.PropertyDeclaration */ && hasStaticModifier(node))) {
|
|
232
232
|
const info = entry.next.classInfo;
|
|
233
233
|
if (info !== undefined) {
|
|
234
234
|
entry.classThis = info.classThis;
|
|
@@ -284,90 +284,90 @@ export class ESDecorators extends Transformer {
|
|
|
284
284
|
if (!this.shouldVisitNode(node))
|
|
285
285
|
return node;
|
|
286
286
|
switch (node.kind) {
|
|
287
|
-
case
|
|
287
|
+
case 172 /* SyntaxKind.Decorator */:
|
|
288
288
|
return undefined;
|
|
289
|
-
case
|
|
289
|
+
case 265 /* SyntaxKind.ClassDeclaration */:
|
|
290
290
|
if (node instanceof ClassDeclaration)
|
|
291
291
|
return this.visitClassDeclaration(node);
|
|
292
292
|
break;
|
|
293
|
-
case
|
|
293
|
+
case 233 /* SyntaxKind.ClassExpression */:
|
|
294
294
|
if (node instanceof ClassExpression)
|
|
295
295
|
return this.visitClassExpression(node);
|
|
296
296
|
break;
|
|
297
|
-
case
|
|
298
|
-
case
|
|
299
|
-
case
|
|
297
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
298
|
+
case 174 /* SyntaxKind.PropertyDeclaration */:
|
|
299
|
+
case 177 /* SyntaxKind.ClassStaticBlockDeclaration */:
|
|
300
300
|
throw new Error('Class elements are visited with visitClassElement');
|
|
301
|
-
case
|
|
301
|
+
case 171 /* SyntaxKind.Parameter */:
|
|
302
302
|
if (node instanceof ParameterDeclaration)
|
|
303
303
|
return this.visitParameterDeclaration(node);
|
|
304
304
|
break;
|
|
305
|
-
case
|
|
305
|
+
case 228 /* SyntaxKind.BinaryExpression */:
|
|
306
306
|
if (node instanceof BinaryExpression)
|
|
307
307
|
return this.visitBinaryExpression(node, false);
|
|
308
308
|
break;
|
|
309
|
-
case
|
|
309
|
+
case 304 /* SyntaxKind.PropertyAssignment */:
|
|
310
310
|
if (node instanceof PropertyAssignment)
|
|
311
311
|
return this.visitNamedEvaluationSite(node, node.initializer);
|
|
312
312
|
break;
|
|
313
|
-
case
|
|
313
|
+
case 262 /* SyntaxKind.VariableDeclaration */:
|
|
314
314
|
if (node instanceof VariableDeclaration)
|
|
315
315
|
return this.visitNamedEvaluationSite(node, node.initializer);
|
|
316
316
|
break;
|
|
317
|
-
case
|
|
317
|
+
case 210 /* SyntaxKind.BindingElement */:
|
|
318
318
|
if (node instanceof BindingElement)
|
|
319
319
|
return this.visitNamedEvaluationSite(node, node.initializer);
|
|
320
320
|
break;
|
|
321
|
-
case
|
|
321
|
+
case 279 /* SyntaxKind.ExportAssignment */:
|
|
322
322
|
if (node instanceof ExportAssignment)
|
|
323
323
|
return this.visitNamedEvaluationSite(node, node.expression);
|
|
324
324
|
break;
|
|
325
325
|
case 109 /* SyntaxKind.ThisKeyword */:
|
|
326
326
|
return this.classThis !== undefined ? this.classThis : node;
|
|
327
|
-
case
|
|
327
|
+
case 250 /* SyntaxKind.ForStatement */:
|
|
328
328
|
if (node instanceof ForStatement)
|
|
329
329
|
return this.visitForStatement(node);
|
|
330
330
|
break;
|
|
331
|
-
case
|
|
331
|
+
case 246 /* SyntaxKind.ExpressionStatement */:
|
|
332
332
|
if (node instanceof ExpressionStatement)
|
|
333
333
|
return this.factory.updateExpressionStatement(node, this.visitDiscardedNode(node.expression));
|
|
334
334
|
break;
|
|
335
|
-
case
|
|
335
|
+
case 219 /* SyntaxKind.ParenthesizedExpression */:
|
|
336
336
|
if (node instanceof ParenthesizedExpression)
|
|
337
337
|
return this.visitParenthesizedExpression(node, false);
|
|
338
338
|
break;
|
|
339
|
-
case
|
|
339
|
+
case 349 /* SyntaxKind.PartiallyEmittedExpression */:
|
|
340
340
|
if (node instanceof PartiallyEmittedExpression)
|
|
341
341
|
return this.visitPartiallyEmittedExpression(node, false);
|
|
342
342
|
break;
|
|
343
|
-
case
|
|
343
|
+
case 215 /* SyntaxKind.CallExpression */:
|
|
344
344
|
if (node instanceof CallExpression)
|
|
345
345
|
return this.visitCallExpression(node);
|
|
346
346
|
break;
|
|
347
|
-
case
|
|
347
|
+
case 217 /* SyntaxKind.TaggedTemplateExpression */:
|
|
348
348
|
if (node instanceof TaggedTemplateExpression)
|
|
349
349
|
return this.visitTaggedTemplateExpression(node);
|
|
350
350
|
break;
|
|
351
|
-
case
|
|
352
|
-
case
|
|
351
|
+
case 226 /* SyntaxKind.PrefixUnaryExpression */:
|
|
352
|
+
case 227 /* SyntaxKind.PostfixUnaryExpression */:
|
|
353
353
|
return this.visitPreOrPostfixUnaryExpression(node, false);
|
|
354
|
-
case
|
|
354
|
+
case 213 /* SyntaxKind.PropertyAccessExpression */:
|
|
355
355
|
if (node instanceof PropertyAccessExpression)
|
|
356
356
|
return this.visitPropertyAccessExpression(node);
|
|
357
357
|
break;
|
|
358
|
-
case
|
|
358
|
+
case 214 /* SyntaxKind.ElementAccessExpression */:
|
|
359
359
|
if (node instanceof ElementAccessExpression)
|
|
360
360
|
return this.visitElementAccessExpression(node);
|
|
361
361
|
break;
|
|
362
|
-
case
|
|
362
|
+
case 169 /* SyntaxKind.ComputedPropertyName */:
|
|
363
363
|
if (node instanceof ComputedPropertyName)
|
|
364
364
|
return this.visitComputedPropertyName(node);
|
|
365
365
|
break;
|
|
366
|
-
case
|
|
367
|
-
case
|
|
368
|
-
case
|
|
369
|
-
case
|
|
370
|
-
case
|
|
366
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
367
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
368
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
369
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
370
|
+
case 264 /* SyntaxKind.FunctionDeclaration */: {
|
|
371
371
|
this.enterOther();
|
|
372
372
|
const result = this.visitEachChild(node);
|
|
373
373
|
this.exitOther();
|
|
@@ -402,27 +402,27 @@ export class ESDecorators extends Transformer {
|
|
|
402
402
|
}
|
|
403
403
|
visitClassElement(node) {
|
|
404
404
|
switch (node.kind) {
|
|
405
|
-
case
|
|
405
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
406
406
|
if (node instanceof ConstructorDeclaration)
|
|
407
407
|
return this.visitConstructorDeclaration(node);
|
|
408
408
|
break;
|
|
409
|
-
case
|
|
409
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
410
410
|
if (node instanceof MethodDeclaration)
|
|
411
411
|
return this.visitMethodDeclaration(node);
|
|
412
412
|
break;
|
|
413
|
-
case
|
|
413
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
414
414
|
if (node instanceof GetAccessorDeclaration)
|
|
415
415
|
return this.visitGetAccessorDeclaration(node);
|
|
416
416
|
break;
|
|
417
|
-
case
|
|
417
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
418
418
|
if (node instanceof SetAccessorDeclaration)
|
|
419
419
|
return this.visitSetAccessorDeclaration(node);
|
|
420
420
|
break;
|
|
421
|
-
case
|
|
421
|
+
case 174 /* SyntaxKind.PropertyDeclaration */:
|
|
422
422
|
if (node instanceof PropertyDeclaration)
|
|
423
423
|
return this.visitPropertyDeclaration(node);
|
|
424
424
|
break;
|
|
425
|
-
case
|
|
425
|
+
case 177 /* SyntaxKind.ClassStaticBlockDeclaration */:
|
|
426
426
|
if (node instanceof ClassStaticBlockDeclaration)
|
|
427
427
|
return this.visitClassStaticBlockDeclaration(node);
|
|
428
428
|
break;
|
|
@@ -432,18 +432,18 @@ export class ESDecorators extends Transformer {
|
|
|
432
432
|
/** Visits a node whose value is discarded, such as an expression statement's expression. */
|
|
433
433
|
visitDiscarded(node) {
|
|
434
434
|
switch (node.kind) {
|
|
435
|
-
case
|
|
436
|
-
case
|
|
435
|
+
case 226 /* SyntaxKind.PrefixUnaryExpression */:
|
|
436
|
+
case 227 /* SyntaxKind.PostfixUnaryExpression */:
|
|
437
437
|
return this.visitPreOrPostfixUnaryExpression(node, true);
|
|
438
|
-
case
|
|
438
|
+
case 228 /* SyntaxKind.BinaryExpression */:
|
|
439
439
|
if (node instanceof BinaryExpression)
|
|
440
440
|
return this.visitBinaryExpression(node, true);
|
|
441
441
|
break;
|
|
442
|
-
case
|
|
442
|
+
case 219 /* SyntaxKind.ParenthesizedExpression */:
|
|
443
443
|
if (node instanceof ParenthesizedExpression)
|
|
444
444
|
return this.visitParenthesizedExpression(node, true);
|
|
445
445
|
break;
|
|
446
|
-
case
|
|
446
|
+
case 349 /* SyntaxKind.PartiallyEmittedExpression */:
|
|
447
447
|
if (node instanceof PartiallyEmittedExpression)
|
|
448
448
|
return this.visitPartiallyEmittedExpression(node, true);
|
|
449
449
|
break;
|
|
@@ -458,9 +458,9 @@ export class ESDecorators extends Transformer {
|
|
|
458
458
|
case 0 /* ListVisit.ClassElements */:
|
|
459
459
|
return this.visitClassElement(node);
|
|
460
460
|
case 1 /* ListVisit.NonConstructorClassElements */:
|
|
461
|
-
return node.kind ===
|
|
461
|
+
return node.kind === 178 /* SyntaxKind.Constructor */ ? node : this.visitClassElement(node);
|
|
462
462
|
case 2 /* ListVisit.ConstructorClassElements */:
|
|
463
|
-
return node.kind ===
|
|
463
|
+
return node.kind === 178 /* SyntaxKind.Constructor */ ? this.visitClassElement(node) : node;
|
|
464
464
|
case 3 /* ListVisit.ArrayAssignmentElements */:
|
|
465
465
|
return this.visitArrayAssignmentElement(node);
|
|
466
466
|
case 4 /* ListVisit.ObjectAssignmentElements */:
|
|
@@ -633,7 +633,7 @@ export class ESDecorators extends Transformer {
|
|
|
633
633
|
const unwrapped = skipOuterExpressions(extendsExpression, 63 /* OuterExpressionKinds.All */);
|
|
634
634
|
const anonymous = (unwrapped instanceof ClassExpression && unwrapped.name === undefined) ||
|
|
635
635
|
(unwrapped instanceof FunctionExpression && unwrapped.name === undefined) ||
|
|
636
|
-
unwrapped.kind ===
|
|
636
|
+
unwrapped.kind === 221 /* SyntaxKind.ArrowFunction */;
|
|
637
637
|
const safeExtendsExpression = anonymous
|
|
638
638
|
? factory.createCommaExpression(factory.createNumericLiteral('0'), extendsExpression)
|
|
639
639
|
: extendsExpression;
|
|
@@ -1002,11 +1002,11 @@ export class ESDecorators extends Transformer {
|
|
|
1002
1002
|
const memberInfo = new MemberInfo(memberDecoratorsName);
|
|
1003
1003
|
info.setMemberInfo(member, memberInfo);
|
|
1004
1004
|
this.pendingExpressions.push(factory.createAssignment(memberDecoratorsName, factory.created(new ArrayLiteralExpression(factory.createNodeList(memberDecorators), false))));
|
|
1005
|
-
const kind = member.kind ===
|
|
1005
|
+
const kind = member.kind === 179 /* SyntaxKind.GetAccessor */
|
|
1006
1006
|
? 'getter'
|
|
1007
|
-
: member.kind ===
|
|
1007
|
+
: member.kind === 180 /* SyntaxKind.SetAccessor */
|
|
1008
1008
|
? 'setter'
|
|
1009
|
-
: member.kind ===
|
|
1009
|
+
: member.kind === 176 /* SyntaxKind.MethodDeclaration */
|
|
1010
1010
|
? 'method'
|
|
1011
1011
|
: isAutoAccessorPropertyDeclaration(member)
|
|
1012
1012
|
? 'accessor'
|
|
@@ -1031,8 +1031,8 @@ export class ESDecorators extends Transformer {
|
|
|
1031
1031
|
nameExpression = result.referencedName;
|
|
1032
1032
|
}
|
|
1033
1033
|
}
|
|
1034
|
-
const isField = member.kind ===
|
|
1035
|
-
const contextObject = this.createClassElementContextObject(kind, nameComputed, nameExpression, isStatic(member), memberName instanceof PrivateIdentifier, isField || member.kind ===
|
|
1034
|
+
const isField = member.kind === 174 /* SyntaxKind.PropertyDeclaration */;
|
|
1035
|
+
const contextObject = this.createClassElementContextObject(kind, nameComputed, nameExpression, isStatic(member), memberName instanceof PrivateIdentifier, isField || member.kind === 179 /* SyntaxKind.GetAccessor */ || member.kind === 176 /* SyntaxKind.MethodDeclaration */, isField || member.kind === 180 /* SyntaxKind.SetAccessor */, info.metadataReference);
|
|
1036
1036
|
if (isMethodOrAccessor(member)) {
|
|
1037
1037
|
// __esDecorate(this, null | _member_descriptor = { value() { ... } }, _member_decorators, { kind: "method", ... }, null, _instanceExtraInitializers);
|
|
1038
1038
|
const extraInitializersName = isStatic(member)
|
|
@@ -1086,7 +1086,7 @@ export class ESDecorators extends Transformer {
|
|
|
1086
1086
|
}
|
|
1087
1087
|
// Comments of methods and properties without modifiers would print twice on the name.
|
|
1088
1088
|
if ((modifiers === undefined || modifiers.nodes.length === 0) &&
|
|
1089
|
-
(member.kind ===
|
|
1089
|
+
(member.kind === 176 /* SyntaxKind.MethodDeclaration */ || member.kind === 174 /* SyntaxKind.PropertyDeclaration */))
|
|
1090
1090
|
context.setEmitFlags(result.name, 128 /* EmitFlags.NoLeadingComments */);
|
|
1091
1091
|
return result;
|
|
1092
1092
|
}
|
|
@@ -1551,7 +1551,7 @@ export class ESDecorators extends Transformer {
|
|
|
1551
1551
|
return this.factory.updateSpreadElement(spread, this.visitDestructuringAssignmentTarget(spread.expression));
|
|
1552
1552
|
return this.visitEachChild(node);
|
|
1553
1553
|
}
|
|
1554
|
-
if (node.kind !==
|
|
1554
|
+
if (node.kind !== 234 /* SyntaxKind.OmittedExpression */)
|
|
1555
1555
|
return this.visitAssignmentElement(node);
|
|
1556
1556
|
return this.visitEachChild(node);
|
|
1557
1557
|
}
|
|
@@ -1858,9 +1858,9 @@ function getHelperVariableName(context, node) {
|
|
|
1858
1858
|
declarationName = 'class';
|
|
1859
1859
|
else
|
|
1860
1860
|
declarationName = 'member';
|
|
1861
|
-
if (node.kind ===
|
|
1861
|
+
if (node.kind === 179 /* SyntaxKind.GetAccessor */)
|
|
1862
1862
|
declarationName = 'get_' + declarationName;
|
|
1863
|
-
if (node.kind ===
|
|
1863
|
+
if (node.kind === 180 /* SyntaxKind.SetAccessor */)
|
|
1864
1864
|
declarationName = 'set_' + declarationName;
|
|
1865
1865
|
if (name instanceof PrivateIdentifier)
|
|
1866
1866
|
declarationName = 'private_' + declarationName;
|
|
@@ -1875,9 +1875,9 @@ function isStaticPrivateOrAutoAccessor(member) {
|
|
|
1875
1875
|
function keepsModifier(filter, kind) {
|
|
1876
1876
|
switch (filter) {
|
|
1877
1877
|
case 0 /* ModifierFilter.NoDecorators */:
|
|
1878
|
-
return kind !==
|
|
1878
|
+
return kind !== 172 /* SyntaxKind.Decorator */;
|
|
1879
1879
|
case 1 /* ModifierFilter.NoExport */:
|
|
1880
|
-
return kind !==
|
|
1880
|
+
return kind !== 172 /* SyntaxKind.Decorator */ && kind !== 94 /* SyntaxKind.ExportKeyword */;
|
|
1881
1881
|
case 2 /* ModifierFilter.StaticOnly */:
|
|
1882
1882
|
return kind === 125 /* SyntaxKind.StaticKeyword */;
|
|
1883
1883
|
case 3 /* ModifierFilter.AsyncOnly */:
|
|
@@ -62,7 +62,7 @@ class ExternalModuleInfoCollector {
|
|
|
62
62
|
if (node instanceof ImportDeclaration)
|
|
63
63
|
output.externalImports.push(node);
|
|
64
64
|
else if (node instanceof ImportEqualsDeclaration) {
|
|
65
|
-
if (node.moduleReference.kind ===
|
|
65
|
+
if (node.moduleReference.kind === 285 /* SyntaxKind.ExternalModuleReference */)
|
|
66
66
|
output.externalImports.push(node);
|
|
67
67
|
}
|
|
68
68
|
else if (node instanceof ExportDeclaration)
|
|
@@ -319,12 +319,12 @@ export function createExternalHelpersImportDeclarationIfNeeded(context, file, op
|
|
|
319
319
|
for (let i = 0; i < names.length; i++) {
|
|
320
320
|
const name = names[i];
|
|
321
321
|
// Aliased when the name is used in the file.
|
|
322
|
-
specifiers.push(isFileLevelUniqueName(file, name)
|
|
322
|
+
specifiers.push(isFileLevelUniqueName(context.mostOriginal(file), name)
|
|
323
323
|
? factory.created(new ImportSpecifier(false, undefined, factory.createIdentifier(name)))
|
|
324
324
|
: factory.created(new ImportSpecifier(false, factory.createIdentifier(name), factory.createUnscopedHelperName(name))));
|
|
325
325
|
}
|
|
326
326
|
context.addEmitFlags(context.mostOriginal(file), 262144 /* EmitFlags.ExternalHelpers */);
|
|
327
|
-
const declaration = factory.created(new ImportDeclaration(
|
|
327
|
+
const declaration = factory.created(new ImportDeclaration(274 /* SyntaxKind.ImportDeclaration */, undefined, factory.created(new ImportClause(undefined, undefined, factory.created(new NamedImports(factory.createNodeList(specifiers))))), factory.createStringLiteral(externalHelpersModuleNameText, 0 /* TokenFlags.None */), undefined));
|
|
328
328
|
context.addEmitFlags(declaration, 65536 /* EmitFlags.CustomPrologue */);
|
|
329
329
|
return declaration;
|
|
330
330
|
}
|
|
@@ -34,12 +34,12 @@ export class AsyncIteration extends Transformer {
|
|
|
34
34
|
if (this.superAccess.capturedSuperProperties === undefined)
|
|
35
35
|
return node;
|
|
36
36
|
switch (node.kind) {
|
|
37
|
-
case
|
|
38
|
-
case
|
|
39
|
-
case
|
|
40
|
-
case
|
|
41
|
-
case
|
|
42
|
-
case
|
|
37
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
38
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
39
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
40
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
41
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
42
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
43
43
|
return node;
|
|
44
44
|
}
|
|
45
45
|
this.superAccess.track(node);
|
|
@@ -53,45 +53,45 @@ export class AsyncIteration extends Transformer {
|
|
|
53
53
|
return this.fallback(node);
|
|
54
54
|
this.superAccess.track(node);
|
|
55
55
|
switch (node.kind) {
|
|
56
|
-
case
|
|
56
|
+
case 308 /* SyntaxKind.SourceFile */:
|
|
57
57
|
if (node instanceof SourceFile)
|
|
58
58
|
return this.visitSourceFile(node);
|
|
59
59
|
break;
|
|
60
|
-
case
|
|
60
|
+
case 225 /* SyntaxKind.AwaitExpression */:
|
|
61
61
|
if (node instanceof AwaitExpression)
|
|
62
62
|
return this.visitAwaitExpression(node);
|
|
63
63
|
break;
|
|
64
|
-
case
|
|
64
|
+
case 231 /* SyntaxKind.YieldExpression */:
|
|
65
65
|
if (node instanceof YieldExpression)
|
|
66
66
|
return this.visitYieldExpression(node);
|
|
67
67
|
break;
|
|
68
|
-
case
|
|
68
|
+
case 255 /* SyntaxKind.ReturnStatement */:
|
|
69
69
|
if (node instanceof ReturnStatement)
|
|
70
70
|
return this.visitReturnStatement(node);
|
|
71
71
|
break;
|
|
72
|
-
case
|
|
72
|
+
case 258 /* SyntaxKind.LabeledStatement */:
|
|
73
73
|
if (node instanceof LabeledStatement)
|
|
74
74
|
return this.visitLabeledStatement(node);
|
|
75
75
|
break;
|
|
76
|
-
case
|
|
77
|
-
case
|
|
78
|
-
case
|
|
79
|
-
case
|
|
76
|
+
case 248 /* SyntaxKind.DoStatement */:
|
|
77
|
+
case 249 /* SyntaxKind.WhileStatement */:
|
|
78
|
+
case 251 /* SyntaxKind.ForInStatement */:
|
|
79
|
+
case 250 /* SyntaxKind.ForStatement */:
|
|
80
80
|
return this.visitWithFacts(node, 0 /* HierarchyFacts.None */, 2 /* HierarchyFacts.IterationContainer */);
|
|
81
|
-
case
|
|
81
|
+
case 252 /* SyntaxKind.ForOfStatement */:
|
|
82
82
|
if (node instanceof ForInOrOfStatement)
|
|
83
83
|
return this.visitForOfStatement(node, undefined);
|
|
84
84
|
break;
|
|
85
|
-
case
|
|
85
|
+
case 221 /* SyntaxKind.ArrowFunction */:
|
|
86
86
|
return this.visitWithFacts(node, 2 /* HierarchyFacts.IterationContainer */, 0 /* HierarchyFacts.None */);
|
|
87
|
-
case
|
|
88
|
-
case
|
|
89
|
-
case
|
|
90
|
-
case
|
|
91
|
-
case
|
|
92
|
-
case
|
|
93
|
-
case
|
|
94
|
-
case
|
|
87
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
88
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
89
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
90
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
91
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
92
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
93
|
+
case 265 /* SyntaxKind.ClassDeclaration */:
|
|
94
|
+
case 233 /* SyntaxKind.ClassExpression */:
|
|
95
95
|
return this.visitWithFacts(node, 2 /* HierarchyFacts.IterationContainer */, 1 /* HierarchyFacts.HasLexicalThis */);
|
|
96
96
|
}
|
|
97
97
|
return this.visitEachChild(node);
|
|
@@ -15,7 +15,7 @@ export class ImportElision extends Transformer {
|
|
|
15
15
|
visit(node) {
|
|
16
16
|
const factory = this.factory;
|
|
17
17
|
switch (node.kind) {
|
|
18
|
-
case
|
|
18
|
+
case 308 /* SyntaxKind.SourceFile */:
|
|
19
19
|
if (node instanceof SourceFile) {
|
|
20
20
|
const original = this.context.mostOriginal(node);
|
|
21
21
|
if (original instanceof SourceFile)
|
|
@@ -27,9 +27,9 @@ export class ImportElision extends Transformer {
|
|
|
27
27
|
return result;
|
|
28
28
|
}
|
|
29
29
|
break;
|
|
30
|
-
case
|
|
30
|
+
case 273 /* SyntaxKind.ImportEqualsDeclaration */:
|
|
31
31
|
if (node instanceof ImportEqualsDeclaration) {
|
|
32
|
-
const keep = node.moduleReference.kind ===
|
|
32
|
+
const keep = node.moduleReference.kind === 285 /* SyntaxKind.ExternalModuleReference */
|
|
33
33
|
? this.shouldEmitAliasDeclaration(node)
|
|
34
34
|
: this.shouldEmitAliasDeclaration(node) ||
|
|
35
35
|
(this.currentSourceFile !== undefined &&
|
|
@@ -38,7 +38,7 @@ export class ImportElision extends Transformer {
|
|
|
38
38
|
return keep ? this.visitEachChild(node) : undefined;
|
|
39
39
|
}
|
|
40
40
|
break;
|
|
41
|
-
case
|
|
41
|
+
case 274 /* SyntaxKind.ImportDeclaration */:
|
|
42
42
|
if (node instanceof ImportDeclaration) {
|
|
43
43
|
if (node.importClause === undefined)
|
|
44
44
|
return this.visitEachChild(node);
|
|
@@ -49,7 +49,7 @@ export class ImportElision extends Transformer {
|
|
|
49
49
|
return factory.updateImportDeclaration(node, node.modifiers, importClause, node.moduleSpecifier, this.importAttributes(node.attributes));
|
|
50
50
|
}
|
|
51
51
|
break;
|
|
52
|
-
case
|
|
52
|
+
case 275 /* SyntaxKind.ImportClause */:
|
|
53
53
|
if (node instanceof ImportClause) {
|
|
54
54
|
const name = this.shouldEmitAliasDeclaration(node) ? node.name : undefined;
|
|
55
55
|
const bindings = this.visitNode(node.namedBindings);
|
|
@@ -58,23 +58,23 @@ export class ImportElision extends Transformer {
|
|
|
58
58
|
return factory.updateImportClause(node, node.phaseModifier, name, bindings);
|
|
59
59
|
}
|
|
60
60
|
break;
|
|
61
|
-
case
|
|
62
|
-
case
|
|
61
|
+
case 276 /* SyntaxKind.NamespaceImport */:
|
|
62
|
+
case 278 /* SyntaxKind.ImportSpecifier */:
|
|
63
63
|
return this.shouldEmitAliasDeclaration(node) ? node : undefined;
|
|
64
|
-
case
|
|
64
|
+
case 277 /* SyntaxKind.NamedImports */:
|
|
65
65
|
if (node instanceof NamedImports) {
|
|
66
66
|
const elements = this.visitNodes(node.elements);
|
|
67
67
|
return elements.nodes.length === 0 ? undefined : factory.updateNamedImports(node, elements);
|
|
68
68
|
}
|
|
69
69
|
break;
|
|
70
|
-
case
|
|
70
|
+
case 279 /* SyntaxKind.ExportAssignment */:
|
|
71
71
|
if (node instanceof ExportAssignment) {
|
|
72
72
|
if (this.options.verbatimModuleSyntax !== true && !this.isValueAliasDeclaration(node))
|
|
73
73
|
return undefined;
|
|
74
74
|
return this.visitEachChild(node);
|
|
75
75
|
}
|
|
76
76
|
break;
|
|
77
|
-
case
|
|
77
|
+
case 280 /* SyntaxKind.ExportDeclaration */:
|
|
78
78
|
if (node instanceof ExportDeclaration) {
|
|
79
79
|
let clause = undefined;
|
|
80
80
|
if (node.exportClause !== undefined) {
|
|
@@ -85,16 +85,16 @@ export class ImportElision extends Transformer {
|
|
|
85
85
|
return factory.updateExportDeclaration(node, undefined, false, clause, this.visitNode(node.moduleSpecifier), this.importAttributes(node.attributes));
|
|
86
86
|
}
|
|
87
87
|
break;
|
|
88
|
-
case
|
|
88
|
+
case 281 /* SyntaxKind.NamedExports */:
|
|
89
89
|
if (node instanceof NamedExports) {
|
|
90
90
|
const elements = this.visitNodes(node.elements);
|
|
91
91
|
return elements.nodes.length === 0 ? undefined : factory.updateNamedExports(node, elements);
|
|
92
92
|
}
|
|
93
93
|
break;
|
|
94
|
-
case
|
|
94
|
+
case 283 /* SyntaxKind.ExportSpecifier */:
|
|
95
95
|
return this.isValueAliasDeclaration(node) ? node : undefined;
|
|
96
|
-
case
|
|
97
|
-
case
|
|
96
|
+
case 269 /* SyntaxKind.ModuleDeclaration */:
|
|
97
|
+
case 270 /* SyntaxKind.ModuleBlock */:
|
|
98
98
|
return this.visitEachChild(node);
|
|
99
99
|
}
|
|
100
100
|
return node;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Transforms JSX into calls of the JSX factory (`jsx: react`) or of the automatic runtime
|
|
2
2
|
// (`react-jsx`, `react-jsxdev`), importing the runtime's functions.
|
|
3
|
-
import { BindingElement, BindingPattern, Identifier, ImportClause, ImportDeclaration, ImportSpecifier, JsxAttribute, JsxExpression, JsxNamespacedName, JsxSpreadAttribute, JsxText, ModuleDeclaration, NamedImports, ObjectLiteralExpression, PropertyAssignment, QualifiedName, SourceFile, SpreadAssignment, SpreadElement, StringLiteral, ArrayLiteralExpression, getTagName, } from '../ast.js';
|
|
3
|
+
import { BindingElement, BindingPattern, Identifier, ImportClause, ImportDeclaration, ImportSpecifier, JsxAttribute, JsxExpression, JsxNamespacedName, JsxSpreadAttribute, JsxText, ModuleDeclaration, NamedImports, ObjectLiteralExpression, PropertyAssignment, QualifiedName, SourceFile, SpreadAssignment, SpreadElement, StringLiteral, ArrayLiteralExpression, getTagName, getText, } from '../ast.js';
|
|
4
4
|
import { isExternalOrCommonJSModule } from '../binder-utilities.js';
|
|
5
5
|
import { isLineBreak, isWhiteSpaceSingleLine } from '../character-codes.js';
|
|
6
6
|
import { JsxEmit, ScriptTarget, getEmitScriptTarget } from '../options.js';
|
|
@@ -53,19 +53,19 @@ export class JsxTransformer extends Transformer {
|
|
|
53
53
|
if (!this.facts.has(node, 2 /* SubtreeFacts.ContainsJsx */))
|
|
54
54
|
return node;
|
|
55
55
|
switch (node.kind) {
|
|
56
|
-
case
|
|
56
|
+
case 308 /* SyntaxKind.SourceFile */:
|
|
57
57
|
this.inChild = false;
|
|
58
58
|
return this.visitSourceFile(node);
|
|
59
|
-
case
|
|
59
|
+
case 286 /* SyntaxKind.JsxElement */:
|
|
60
60
|
return this.visitJsxElement(node);
|
|
61
|
-
case
|
|
61
|
+
case 287 /* SyntaxKind.JsxSelfClosingElement */:
|
|
62
62
|
return this.visitJsxSelfClosingElement(node);
|
|
63
|
-
case
|
|
63
|
+
case 290 /* SyntaxKind.JsxFragment */:
|
|
64
64
|
return this.visitJsxFragment(node);
|
|
65
65
|
case 11 /* SyntaxKind.JsxText */:
|
|
66
66
|
this.inChild = false;
|
|
67
67
|
return this.visitJsxText(node);
|
|
68
|
-
case
|
|
68
|
+
case 296 /* SyntaxKind.JsxExpression */:
|
|
69
69
|
this.inChild = false;
|
|
70
70
|
return this.visitJsxExpression(node);
|
|
71
71
|
}
|
|
@@ -119,7 +119,7 @@ export class JsxTransformer extends Transformer {
|
|
|
119
119
|
specifiers[i].parent = named;
|
|
120
120
|
const clause = factory.created(new ImportClause(undefined, undefined, named));
|
|
121
121
|
named.parent = clause;
|
|
122
|
-
const declaration = factory.created(new ImportDeclaration(
|
|
122
|
+
const declaration = factory.created(new ImportDeclaration(274 /* SyntaxKind.ImportDeclaration */, undefined, clause, factory.createStringLiteral(imports.source, 0 /* TokenFlags.None */), undefined));
|
|
123
123
|
clause.parent = declaration;
|
|
124
124
|
return declaration;
|
|
125
125
|
}
|
|
@@ -130,7 +130,7 @@ export class JsxTransformer extends Transformer {
|
|
|
130
130
|
const elements = [];
|
|
131
131
|
for (let i = 0; i < specifiers.length; i++)
|
|
132
132
|
elements.push(factory.created(new BindingElement(undefined, specifiers[i].propertyName, specifiers[i].name, undefined)));
|
|
133
|
-
const pattern = factory.created(new BindingPattern(
|
|
133
|
+
const pattern = factory.created(new BindingPattern(208 /* SyntaxKind.ObjectBindingPattern */, factory.createNodeList(elements)));
|
|
134
134
|
const require = factory.createCallExpression(factory.createIdentifier('require'), [
|
|
135
135
|
factory.createStringLiteral(imports.source, 0 /* TokenFlags.None */),
|
|
136
136
|
]);
|
|
@@ -412,9 +412,9 @@ export class JsxTransformer extends Transformer {
|
|
|
412
412
|
return factory.createTrue();
|
|
413
413
|
return this.visit(node.expression);
|
|
414
414
|
}
|
|
415
|
-
if (node.kind ===
|
|
416
|
-
node.kind ===
|
|
417
|
-
node.kind ===
|
|
415
|
+
if (node.kind === 286 /* SyntaxKind.JsxElement */ ||
|
|
416
|
+
node.kind === 287 /* SyntaxKind.JsxSelfClosingElement */ ||
|
|
417
|
+
node.kind === 290 /* SyntaxKind.JsxFragment */) {
|
|
418
418
|
this.inChild = false;
|
|
419
419
|
return this.visit(node);
|
|
420
420
|
}
|
|
@@ -436,7 +436,7 @@ export class JsxTransformer extends Transformer {
|
|
|
436
436
|
expressionFromEntityName(entity, parent) {
|
|
437
437
|
if (entity instanceof QualifiedName) {
|
|
438
438
|
const left = this.expressionFromEntityName(entity.left, parent);
|
|
439
|
-
return this.factory.createPropertyAccessExpression(left, this.factory.createIdentifier(entity.right
|
|
439
|
+
return this.factory.createPropertyAccessExpression(left, this.factory.createIdentifier(getText(entity.right)));
|
|
440
440
|
}
|
|
441
441
|
return this.createReactNamespace(entity.text, parent);
|
|
442
442
|
}
|