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
|
@@ -58,50 +58,50 @@ export class LegacyDecorators extends Transformer {
|
|
|
58
58
|
switch (node.kind) {
|
|
59
59
|
case 79 /* SyntaxKind.Identifier */:
|
|
60
60
|
return node instanceof Identifier ? this.visitIdentifier(node) : node;
|
|
61
|
-
case
|
|
61
|
+
case 213 /* SyntaxKind.PropertyAccessExpression */:
|
|
62
62
|
if (node instanceof PropertyAccessExpression) {
|
|
63
63
|
// Property names are never substituted.
|
|
64
64
|
const expression = this.visitNode(node.expression);
|
|
65
65
|
return this.factory.updatePropertyAccessExpression(node, expression, node.questionDotToken, node.name, node.flags);
|
|
66
66
|
}
|
|
67
67
|
break;
|
|
68
|
-
case
|
|
68
|
+
case 172 /* SyntaxKind.Decorator */:
|
|
69
69
|
// Emitted as part of the class.
|
|
70
70
|
return undefined;
|
|
71
|
-
case
|
|
71
|
+
case 265 /* SyntaxKind.ClassDeclaration */:
|
|
72
72
|
if (node instanceof ClassDeclaration)
|
|
73
73
|
return this.visitClassDeclaration(node);
|
|
74
74
|
break;
|
|
75
|
-
case
|
|
75
|
+
case 233 /* SyntaxKind.ClassExpression */:
|
|
76
76
|
if (node instanceof ClassExpression)
|
|
77
77
|
// Legacy decorators don't apply to class expressions.
|
|
78
78
|
return this.factory.updateClassExpression(node, this.visitModifiers(node.modifiers), node.name, undefined, this.visitNodes(node.heritageClauses), this.visitNodes(node.members));
|
|
79
79
|
break;
|
|
80
|
-
case
|
|
80
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
81
81
|
if (node instanceof ConstructorDeclaration)
|
|
82
82
|
return this.factory.updateConstructorDeclaration(node, this.visitModifiers(node.modifiers), undefined, this.visitNodes(node.parameters), undefined, undefined, this.visitNode(node.body));
|
|
83
83
|
break;
|
|
84
|
-
case
|
|
84
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
85
85
|
if (node instanceof MethodDeclaration)
|
|
86
86
|
return this.finishClassElement(this.factory.updateMethodDeclaration(node, this.visitModifiers(node.modifiers), node.asteriskToken, this.visitPropertyNameOfClassElement(node), undefined, undefined, this.visitNodes(node.parameters), undefined, undefined, this.visitNode(node.body)), node);
|
|
87
87
|
break;
|
|
88
|
-
case
|
|
88
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
89
89
|
if (node instanceof GetAccessorDeclaration)
|
|
90
90
|
return this.finishClassElement(this.factory.updateGetAccessorDeclaration(node, this.visitModifiers(node.modifiers), this.visitPropertyNameOfClassElement(node), undefined, this.visitNodes(node.parameters), undefined, undefined, this.visitNode(node.body)), node);
|
|
91
91
|
break;
|
|
92
|
-
case
|
|
92
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
93
93
|
if (node instanceof SetAccessorDeclaration)
|
|
94
94
|
return this.finishClassElement(this.factory.updateSetAccessorDeclaration(node, this.visitModifiers(node.modifiers), this.visitPropertyNameOfClassElement(node), undefined, this.visitNodes(node.parameters), undefined, undefined, this.visitNode(node.body)), node);
|
|
95
95
|
break;
|
|
96
|
-
case
|
|
96
|
+
case 174 /* SyntaxKind.PropertyDeclaration */:
|
|
97
97
|
if (node instanceof PropertyDeclaration)
|
|
98
98
|
return this.visitPropertyDeclaration(node);
|
|
99
99
|
break;
|
|
100
|
-
case
|
|
100
|
+
case 171 /* SyntaxKind.Parameter */:
|
|
101
101
|
if (node instanceof ParameterDeclaration)
|
|
102
102
|
return this.visitParameter(node);
|
|
103
103
|
break;
|
|
104
|
-
case
|
|
104
|
+
case 308 /* SyntaxKind.SourceFile */:
|
|
105
105
|
if (node instanceof SourceFile)
|
|
106
106
|
return this.visitSourceFile(node);
|
|
107
107
|
break;
|
|
@@ -495,8 +495,8 @@ function elideModifiers(transformer, modifiers) {
|
|
|
495
495
|
return replacement;
|
|
496
496
|
}
|
|
497
497
|
function isClassStaticBlockDeclarationOrStaticProperty(node) {
|
|
498
|
-
return (node.kind ===
|
|
499
|
-
(node.kind ===
|
|
498
|
+
return (node.kind === 177 /* SyntaxKind.ClassStaticBlockDeclaration */ ||
|
|
499
|
+
(node.kind === 174 /* SyntaxKind.PropertyDeclaration */ && hasSyntacticModifier(node, 256 /* ModifierFlags.Static */)));
|
|
500
500
|
}
|
|
501
501
|
function getAllDecoratorsOfClass(node) {
|
|
502
502
|
const decorators = getDecorators(node);
|
|
@@ -507,12 +507,12 @@ function getAllDecoratorsOfClass(node) {
|
|
|
507
507
|
}
|
|
508
508
|
function getAllDecoratorsOfClassElement(member, parent) {
|
|
509
509
|
switch (member.kind) {
|
|
510
|
-
case
|
|
511
|
-
case
|
|
510
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
511
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
512
512
|
return getAllDecoratorsOfAccessors(member, parent);
|
|
513
|
-
case
|
|
513
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
514
514
|
return getAllDecoratorsOfMethod(member);
|
|
515
|
-
case
|
|
515
|
+
case 174 /* SyntaxKind.PropertyDeclaration */: {
|
|
516
516
|
const decorators = getDecorators(member);
|
|
517
517
|
return decorators.length === 0 ? undefined : new AllDecorators(decorators, []);
|
|
518
518
|
}
|
|
@@ -105,27 +105,27 @@ export class ESModuleTransformer extends Transformer {
|
|
|
105
105
|
}
|
|
106
106
|
visit(node) {
|
|
107
107
|
switch (node.kind) {
|
|
108
|
-
case
|
|
108
|
+
case 308 /* SyntaxKind.SourceFile */:
|
|
109
109
|
if (node instanceof SourceFile)
|
|
110
110
|
return this.visitSourceFile(node);
|
|
111
111
|
break;
|
|
112
|
-
case
|
|
112
|
+
case 274 /* SyntaxKind.ImportDeclaration */:
|
|
113
113
|
if (node instanceof ImportDeclaration)
|
|
114
114
|
return this.visitImportDeclaration(node);
|
|
115
115
|
break;
|
|
116
|
-
case
|
|
116
|
+
case 273 /* SyntaxKind.ImportEqualsDeclaration */:
|
|
117
117
|
if (node instanceof ImportEqualsDeclaration)
|
|
118
118
|
return this.visitImportEqualsDeclaration(node);
|
|
119
119
|
break;
|
|
120
|
-
case
|
|
120
|
+
case 279 /* SyntaxKind.ExportAssignment */:
|
|
121
121
|
if (node instanceof ExportAssignment)
|
|
122
122
|
return this.visitExportAssignment(node);
|
|
123
123
|
break;
|
|
124
|
-
case
|
|
124
|
+
case 280 /* SyntaxKind.ExportDeclaration */:
|
|
125
125
|
if (node instanceof ExportDeclaration)
|
|
126
126
|
return this.visitExportDeclaration(node);
|
|
127
127
|
break;
|
|
128
|
-
case
|
|
128
|
+
case 215 /* SyntaxKind.CallExpression */:
|
|
129
129
|
if (node instanceof CallExpression)
|
|
130
130
|
return this.visitCallExpression(node);
|
|
131
131
|
break;
|
|
@@ -237,7 +237,7 @@ export class ESModuleTransformer extends Transformer {
|
|
|
237
237
|
// ES2015 has no `export * as ns`: import the namespace and export it.
|
|
238
238
|
const name = clause.name;
|
|
239
239
|
const generated = factory.createGeneratedNameForNode(name, 0, '', '');
|
|
240
|
-
const importDeclaration = factory.created(new ImportDeclaration(
|
|
240
|
+
const importDeclaration = factory.created(new ImportDeclaration(274 /* SyntaxKind.ImportDeclaration */, undefined, factory.created(new ImportClause(undefined, undefined, factory.created(new NamespaceImport(generated)))), specifier, this.importAttributes(node.attributes)));
|
|
241
241
|
this.context.setOriginal(importDeclaration, clause);
|
|
242
242
|
const exportDeclaration = name instanceof Identifier && name.text === 'default'
|
|
243
243
|
? factory.created(new ExportAssignment(undefined, false, undefined, generated))
|
|
@@ -273,7 +273,7 @@ export class ESModuleTransformer extends Transformer {
|
|
|
273
273
|
const flags = 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */;
|
|
274
274
|
// import { createRequire as _createRequire } from "module";
|
|
275
275
|
const createRequireName = factory.createUniqueName('_createRequire', flags);
|
|
276
|
-
const importStatement = factory.created(new ImportDeclaration(
|
|
276
|
+
const importStatement = factory.created(new ImportDeclaration(274 /* SyntaxKind.ImportDeclaration */, undefined, factory.created(new ImportClause(undefined, undefined, factory.created(new NamedImports(factory.createNodeList([
|
|
277
277
|
factory.created(new ImportSpecifier(false, factory.createIdentifier('createRequire'), createRequireName)),
|
|
278
278
|
]))))), factory.createStringLiteral('module', 0 /* TokenFlags.None */), undefined));
|
|
279
279
|
this.context.addEmitFlags(importStatement, 65536 /* EmitFlags.CustomPrologue */);
|
|
@@ -44,15 +44,15 @@ export function isAnonymousFunctionDefinition(context, node, filter) {
|
|
|
44
44
|
return false;
|
|
45
45
|
node = skipOuterExpressions(node, 63 /* OuterExpressionKinds.All */);
|
|
46
46
|
switch (node.kind) {
|
|
47
|
-
case
|
|
47
|
+
case 233 /* SyntaxKind.ClassExpression */:
|
|
48
48
|
if (classHasDeclaredOrExplicitlyAssignedName(context, node))
|
|
49
49
|
return false;
|
|
50
50
|
break;
|
|
51
|
-
case
|
|
51
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
52
52
|
if (node instanceof FunctionExpression && node.name !== undefined)
|
|
53
53
|
return false;
|
|
54
54
|
break;
|
|
55
|
-
case
|
|
55
|
+
case 221 /* SyntaxKind.ArrowFunction */:
|
|
56
56
|
break;
|
|
57
57
|
default:
|
|
58
58
|
return false;
|
|
@@ -117,7 +117,7 @@ function namedEvaluationValue(node) {
|
|
|
117
117
|
}
|
|
118
118
|
function getAssignedNameOfIdentifier(context, name, expression) {
|
|
119
119
|
const original = context.mostOriginal(skipOuterExpressions(expression, 63 /* OuterExpressionKinds.All */));
|
|
120
|
-
if ((original.kind ===
|
|
120
|
+
if ((original.kind === 265 /* SyntaxKind.ClassDeclaration */ || original.kind === 264 /* SyntaxKind.FunctionDeclaration */) &&
|
|
121
121
|
getName(original) === undefined &&
|
|
122
122
|
hasSyntacticModifier(original, 2048 /* ModifierFlags.Default */))
|
|
123
123
|
return context.factory.createStringLiteral('default', 0 /* TokenFlags.None */);
|
|
@@ -32,35 +32,35 @@ export class ObjectRestSpreadTransformer extends Transformer {
|
|
|
32
32
|
}
|
|
33
33
|
visitWorker(node, expressionResultIsUnused) {
|
|
34
34
|
switch (node.kind) {
|
|
35
|
-
case
|
|
35
|
+
case 308 /* SyntaxKind.SourceFile */:
|
|
36
36
|
return this.visitSourceFile(node);
|
|
37
|
-
case
|
|
37
|
+
case 212 /* SyntaxKind.ObjectLiteralExpression */:
|
|
38
38
|
return this.visitObjectLiteralExpression(node);
|
|
39
|
-
case
|
|
39
|
+
case 228 /* SyntaxKind.BinaryExpression */:
|
|
40
40
|
return this.visitBinaryExpression(node, expressionResultIsUnused);
|
|
41
|
-
case
|
|
41
|
+
case 246 /* SyntaxKind.ExpressionStatement */:
|
|
42
42
|
this.expressionResultIsUnused = true;
|
|
43
43
|
return this.visitEachChild(node);
|
|
44
|
-
case
|
|
44
|
+
case 219 /* SyntaxKind.ParenthesizedExpression */:
|
|
45
45
|
this.expressionResultIsUnused = expressionResultIsUnused;
|
|
46
46
|
return this.visitEachChild(node);
|
|
47
|
-
case
|
|
47
|
+
case 252 /* SyntaxKind.ForOfStatement */:
|
|
48
48
|
return this.visitForOfStatement(node);
|
|
49
|
-
case
|
|
49
|
+
case 245 /* SyntaxKind.VariableStatement */:
|
|
50
50
|
return this.visitVariableStatement(node);
|
|
51
|
-
case
|
|
51
|
+
case 262 /* SyntaxKind.VariableDeclaration */:
|
|
52
52
|
return this.visitVariableDeclaration(node);
|
|
53
|
-
case
|
|
53
|
+
case 301 /* SyntaxKind.CatchClause */:
|
|
54
54
|
return this.visitCatchClause(node);
|
|
55
|
-
case
|
|
55
|
+
case 171 /* SyntaxKind.Parameter */:
|
|
56
56
|
return this.visitParameter(node);
|
|
57
|
-
case
|
|
58
|
-
case
|
|
59
|
-
case
|
|
60
|
-
case
|
|
61
|
-
case
|
|
62
|
-
case
|
|
63
|
-
case
|
|
57
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
58
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
59
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
60
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
61
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
62
|
+
case 221 /* SyntaxKind.ArrowFunction */:
|
|
63
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
64
64
|
return this.visitFunctionLike(node);
|
|
65
65
|
}
|
|
66
66
|
return this.visitEachChild(node);
|
|
@@ -307,7 +307,7 @@ export class ObjectRestSpreadTransformer extends Transformer {
|
|
|
307
307
|
!(isAssignmentPattern(initializer) && this.facts.containsObjectRestOrSpread(initializer)))
|
|
308
308
|
return this.visitEachChild(node);
|
|
309
309
|
const head = skipParentheses(initializer);
|
|
310
|
-
if (head.kind !==
|
|
310
|
+
if (head.kind !== 263 /* SyntaxKind.VariableDeclarationList */ && !isAssignmentPattern(head))
|
|
311
311
|
return this.visitEachChild(node);
|
|
312
312
|
const temp = factory.createTempVariable(0);
|
|
313
313
|
const statements = [];
|
|
@@ -364,7 +364,7 @@ export class ObjectRestSpreadTransformer extends Transformer {
|
|
|
364
364
|
// `Object.assign(Object.assign({ a }, o), { b })`.
|
|
365
365
|
const factory = this.factory;
|
|
366
366
|
const objects = this.chunkObjectLiteralElements(node.properties.nodes);
|
|
367
|
-
if (objects.length > 0 && objects[0].kind !==
|
|
367
|
+
if (objects.length > 0 && objects[0].kind !== 212 /* SyntaxKind.ObjectLiteralExpression */)
|
|
368
368
|
objects.unshift(factory.createObjectLiteral([], false));
|
|
369
369
|
let expression = objects[0];
|
|
370
370
|
if (objects.length > 1) {
|
|
@@ -404,7 +404,7 @@ export class ObjectRestSpreadTransformer extends Transformer {
|
|
|
404
404
|
}
|
|
405
405
|
}
|
|
406
406
|
function isAssignmentPattern(node) {
|
|
407
|
-
return node.kind ===
|
|
407
|
+
return node.kind === 212 /* SyntaxKind.ObjectLiteralExpression */ || node.kind === 211 /* SyntaxKind.ArrayLiteralExpression */;
|
|
408
408
|
}
|
|
409
409
|
function declarationsOf(node) {
|
|
410
410
|
return node instanceof SyntaxList ? node.children : [node];
|
|
@@ -14,14 +14,14 @@ export class OptionalChainTransformer extends Transformer {
|
|
|
14
14
|
if (!this.facts.has(node, 32 /* SubtreeFacts.ContainsOptionalChaining */))
|
|
15
15
|
return node;
|
|
16
16
|
switch (node.kind) {
|
|
17
|
-
case
|
|
17
|
+
case 215 /* SyntaxKind.CallExpression */:
|
|
18
18
|
return this.visitCallExpression(node, false);
|
|
19
|
-
case
|
|
20
|
-
case
|
|
19
|
+
case 213 /* SyntaxKind.PropertyAccessExpression */:
|
|
20
|
+
case 214 /* SyntaxKind.ElementAccessExpression */:
|
|
21
21
|
if ((node.flags & 32 /* NodeFlags.OptionalChain */) !== 0)
|
|
22
22
|
return this.visitOptionalExpression(node, false, false);
|
|
23
23
|
break;
|
|
24
|
-
case
|
|
24
|
+
case 222 /* SyntaxKind.DeleteExpression */:
|
|
25
25
|
if (node instanceof DeleteExpression &&
|
|
26
26
|
(skipParentheses(node.expression).flags & 32 /* NodeFlags.OptionalChain */) !== 0)
|
|
27
27
|
return this.visitNonOptionalExpression(node.expression, false, true);
|
|
@@ -85,12 +85,12 @@ export class OptionalChainTransformer extends Transformer {
|
|
|
85
85
|
}
|
|
86
86
|
visitNonOptionalExpression(node, captureThisArg, isDelete) {
|
|
87
87
|
switch (node.kind) {
|
|
88
|
-
case
|
|
88
|
+
case 219 /* SyntaxKind.ParenthesizedExpression */:
|
|
89
89
|
return this.visitParenthesizedExpression(node, captureThisArg, isDelete);
|
|
90
|
-
case
|
|
91
|
-
case
|
|
90
|
+
case 214 /* SyntaxKind.ElementAccessExpression */:
|
|
91
|
+
case 213 /* SyntaxKind.PropertyAccessExpression */:
|
|
92
92
|
return this.visitPropertyOrElementAccessExpression(node, captureThisArg, isDelete);
|
|
93
|
-
case
|
|
93
|
+
case 215 /* SyntaxKind.CallExpression */:
|
|
94
94
|
return this.visitCallExpression(node, captureThisArg);
|
|
95
95
|
}
|
|
96
96
|
return this.visitNode(node);
|
|
@@ -106,7 +106,7 @@ export class OptionalChainTransformer extends Transformer {
|
|
|
106
106
|
chain.unshift(link);
|
|
107
107
|
}
|
|
108
108
|
const expression = accessedExpression(link);
|
|
109
|
-
const left = this.visitNonOptionalExpression(skipPartiallyEmittedExpressions(expression), chain[0].kind ===
|
|
109
|
+
const left = this.visitNonOptionalExpression(skipPartiallyEmittedExpressions(expression), chain[0].kind === 215 /* SyntaxKind.CallExpression */ && (chain[0].flags & 32 /* NodeFlags.OptionalChain */) !== 0, false);
|
|
110
110
|
let leftThisArg = undefined;
|
|
111
111
|
let capturedLeft = left;
|
|
112
112
|
if (left instanceof SyntheticReferenceExpression) {
|
|
@@ -122,7 +122,7 @@ export class OptionalChainTransformer extends Transformer {
|
|
|
122
122
|
let thisArg = undefined;
|
|
123
123
|
for (let i = 0; i < chain.length; i++) {
|
|
124
124
|
const segment = chain[i];
|
|
125
|
-
const access = segment.kind ===
|
|
125
|
+
const access = segment.kind === 213 /* SyntaxKind.PropertyAccessExpression */ || segment.kind === 214 /* SyntaxKind.ElementAccessExpression */;
|
|
126
126
|
if (access) {
|
|
127
127
|
if (i === chain.length - 1 && captureThisArg) {
|
|
128
128
|
if (isSimpleCopiableExpression(rightExpression))
|
|
@@ -81,8 +81,14 @@ export declare class ReferenceResolver {
|
|
|
81
81
|
isTypeOnlyAliasSymbol(symbol: Symbol): boolean;
|
|
82
82
|
/** Whether an alias is declared type-only; as in the checker, a default import counts only if its module resolves. */
|
|
83
83
|
private isTypeOnlyAlias;
|
|
84
|
-
/**
|
|
84
|
+
/**
|
|
85
|
+
* Whether a module's export `name` comes from another module through an `export type *`, as tsgo's
|
|
86
|
+
* getExportsOfModuleWorker decides: a module reached through a type-only `export *` has its exports marked, and a
|
|
87
|
+
* module reached without one, even if already visited, clears the mark of its own exports.
|
|
88
|
+
*/
|
|
85
89
|
private isExportedThroughTypeOnlyStar;
|
|
90
|
+
/** Visits a module of an `export *` walk; returns whether it exports the walk's name. */
|
|
91
|
+
private visitExportStars;
|
|
86
92
|
/** Whether a symbol is declared in the global scope. */
|
|
87
93
|
isGlobalSymbol(symbol: Symbol): boolean;
|
|
88
94
|
/** Whether a symbol is a value at runtime: const enums aren't unless preserved. */
|
|
@@ -111,6 +117,11 @@ export declare class ReferenceResolver {
|
|
|
111
117
|
private getExportFromTable;
|
|
112
118
|
/** The symbol an identifier or dotted name refers to with `meaning`, through aliases unless `dontResolveAlias`. */
|
|
113
119
|
resolveEntityName(name: Node, meaning: SymbolFlags, dontResolveAlias: boolean): Symbol | undefined;
|
|
120
|
+
/**
|
|
121
|
+
* The symbol an entity name expression such as `E.A` refers to as an expression: tsgo takes the symbol its checker
|
|
122
|
+
* resolves the expression to, where each name on the left is a value, so a local `let E` hides a const enum `E`.
|
|
123
|
+
*/
|
|
124
|
+
private resolveValueEntityName;
|
|
114
125
|
/** The value of an enum member, computing the values of its whole declaration. */
|
|
115
126
|
getEnumMemberValue(member: Node): Evaluation;
|
|
116
127
|
/** The inlined value of a const enum member access such as `E.A` or `E["A"]`. */
|