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
|
@@ -42,13 +42,13 @@ export class TypeEraser extends Transformer {
|
|
|
42
42
|
case 86 /* SyntaxKind.ConstKeyword */:
|
|
43
43
|
case 137 /* SyntaxKind.DeclareKeyword */:
|
|
44
44
|
case 148 /* SyntaxKind.ReadonlyKeyword */:
|
|
45
|
-
case
|
|
46
|
-
case
|
|
47
|
-
case
|
|
48
|
-
case
|
|
49
|
-
case
|
|
50
|
-
case
|
|
51
|
-
case
|
|
45
|
+
case 190 /* SyntaxKind.ArrayType */:
|
|
46
|
+
case 191 /* SyntaxKind.TupleType */:
|
|
47
|
+
case 192 /* SyntaxKind.OptionalType */:
|
|
48
|
+
case 193 /* SyntaxKind.RestType */:
|
|
49
|
+
case 189 /* SyntaxKind.TypeLiteral */:
|
|
50
|
+
case 184 /* SyntaxKind.TypePredicate */:
|
|
51
|
+
case 170 /* SyntaxKind.TypeParameter */:
|
|
52
52
|
case 132 /* SyntaxKind.AnyKeyword */:
|
|
53
53
|
case 159 /* SyntaxKind.UnknownKeyword */:
|
|
54
54
|
case 135 /* SyntaxKind.BooleanKeyword */:
|
|
@@ -57,33 +57,33 @@ export class TypeEraser extends Transformer {
|
|
|
57
57
|
case 146 /* SyntaxKind.NeverKeyword */:
|
|
58
58
|
case 115 /* SyntaxKind.VoidKeyword */:
|
|
59
59
|
case 155 /* SyntaxKind.SymbolKeyword */:
|
|
60
|
-
case
|
|
61
|
-
case
|
|
62
|
-
case
|
|
63
|
-
case
|
|
64
|
-
case
|
|
65
|
-
case
|
|
66
|
-
case
|
|
67
|
-
case
|
|
68
|
-
case
|
|
69
|
-
case
|
|
70
|
-
case
|
|
71
|
-
case
|
|
72
|
-
case
|
|
73
|
-
case
|
|
74
|
-
case
|
|
75
|
-
case
|
|
60
|
+
case 187 /* SyntaxKind.ConstructorType */:
|
|
61
|
+
case 186 /* SyntaxKind.FunctionType */:
|
|
62
|
+
case 188 /* SyntaxKind.TypeQuery */:
|
|
63
|
+
case 185 /* SyntaxKind.TypeReference */:
|
|
64
|
+
case 194 /* SyntaxKind.UnionType */:
|
|
65
|
+
case 195 /* SyntaxKind.IntersectionType */:
|
|
66
|
+
case 196 /* SyntaxKind.ConditionalType */:
|
|
67
|
+
case 198 /* SyntaxKind.ParenthesizedType */:
|
|
68
|
+
case 199 /* SyntaxKind.ThisType */:
|
|
69
|
+
case 200 /* SyntaxKind.TypeOperator */:
|
|
70
|
+
case 201 /* SyntaxKind.IndexedAccessType */:
|
|
71
|
+
case 202 /* SyntaxKind.MappedType */:
|
|
72
|
+
case 203 /* SyntaxKind.LiteralType */:
|
|
73
|
+
case 183 /* SyntaxKind.IndexSignature */:
|
|
74
|
+
case 347 /* SyntaxKind.JSImportDeclaration */:
|
|
75
|
+
case 272 /* SyntaxKind.NamespaceExportDeclaration */:
|
|
76
76
|
return undefined;
|
|
77
77
|
case 102 /* SyntaxKind.InKeyword */:
|
|
78
78
|
case 147 /* SyntaxKind.OutKeyword */:
|
|
79
|
-
if (this.parentNode === undefined || this.parentNode.kind !==
|
|
79
|
+
if (this.parentNode === undefined || this.parentNode.kind !== 228 /* SyntaxKind.BinaryExpression */)
|
|
80
80
|
return undefined;
|
|
81
81
|
return this.visitEachChild(node);
|
|
82
|
-
case
|
|
83
|
-
case
|
|
84
|
-
case
|
|
82
|
+
case 267 /* SyntaxKind.TypeAliasDeclaration */:
|
|
83
|
+
case 346 /* SyntaxKind.JSTypeAliasDeclaration */:
|
|
84
|
+
case 266 /* SyntaxKind.InterfaceDeclaration */:
|
|
85
85
|
return this.notEmitted(node);
|
|
86
|
-
case
|
|
86
|
+
case 269 /* SyntaxKind.ModuleDeclaration */:
|
|
87
87
|
if (node instanceof ModuleDeclaration) {
|
|
88
88
|
if (!(node.name instanceof Identifier) ||
|
|
89
89
|
!isInstantiatedModule(node, shouldPreserveConstEnums(this.options)) ||
|
|
@@ -92,11 +92,11 @@ export class TypeEraser extends Transformer {
|
|
|
92
92
|
return this.visitEachChild(node);
|
|
93
93
|
}
|
|
94
94
|
break;
|
|
95
|
-
case
|
|
95
|
+
case 235 /* SyntaxKind.ExpressionWithTypeArguments */:
|
|
96
96
|
if (node instanceof ExpressionWithTypeArguments)
|
|
97
97
|
return factory.updateExpressionWithTypeArguments(node, this.required(node.expression), undefined);
|
|
98
98
|
break;
|
|
99
|
-
case
|
|
99
|
+
case 174 /* SyntaxKind.PropertyDeclaration */:
|
|
100
100
|
if (node instanceof PropertyDeclaration) {
|
|
101
101
|
const ambientOrAbstract = hasSyntacticModifier(node, 128 /* ModifierFlags.Ambient */ | 64 /* ModifierFlags.Abstract */);
|
|
102
102
|
if (ambientOrAbstract && !(this.options.experimentalDecorators === true && hasDecorators(node)))
|
|
@@ -104,35 +104,35 @@ export class TypeEraser extends Transformer {
|
|
|
104
104
|
return factory.updatePropertyDeclaration(node, this.visitModifiers(node.modifiers), this.required(node.name), undefined, undefined, this.visitNode(node.initializer));
|
|
105
105
|
}
|
|
106
106
|
break;
|
|
107
|
-
case
|
|
107
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
108
108
|
if (node instanceof ConstructorDeclaration) {
|
|
109
109
|
if (nodeIsMissing(node.body))
|
|
110
110
|
return undefined;
|
|
111
111
|
return factory.updateConstructorDeclaration(node, undefined, undefined, this.visitNodes(node.parameters), undefined, undefined, this.visitNode(node.body));
|
|
112
112
|
}
|
|
113
113
|
break;
|
|
114
|
-
case
|
|
114
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
115
115
|
if (node instanceof MethodDeclaration) {
|
|
116
116
|
if (nodeIsMissing(node.body))
|
|
117
117
|
return undefined;
|
|
118
118
|
return factory.updateMethodDeclaration(node, this.visitModifiers(node.modifiers), node.asteriskToken, this.required(node.name), undefined, undefined, this.visitNodes(node.parameters), undefined, undefined, this.visitNode(node.body));
|
|
119
119
|
}
|
|
120
120
|
break;
|
|
121
|
-
case
|
|
121
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
122
122
|
if (node instanceof GetAccessorDeclaration) {
|
|
123
123
|
if (nodeIsMissing(node.body) && hasSyntacticModifier(node, 64 /* ModifierFlags.Abstract */))
|
|
124
124
|
return undefined;
|
|
125
125
|
return factory.updateGetAccessorDeclaration(node, this.visitModifiers(node.modifiers), this.required(node.name), undefined, this.visitNodes(node.parameters), undefined, undefined, this.accessorBody(node.body));
|
|
126
126
|
}
|
|
127
127
|
break;
|
|
128
|
-
case
|
|
128
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
129
129
|
if (node instanceof SetAccessorDeclaration) {
|
|
130
130
|
if (nodeIsMissing(node.body) && hasSyntacticModifier(node, 64 /* ModifierFlags.Abstract */))
|
|
131
131
|
return undefined;
|
|
132
132
|
return factory.updateSetAccessorDeclaration(node, this.visitModifiers(node.modifiers), this.required(node.name), undefined, this.visitNodes(node.parameters), undefined, undefined, this.accessorBody(node.body));
|
|
133
133
|
}
|
|
134
134
|
break;
|
|
135
|
-
case
|
|
135
|
+
case 262 /* SyntaxKind.VariableDeclaration */:
|
|
136
136
|
if (node instanceof VariableDeclaration) {
|
|
137
137
|
const updated = factory.updateVariableDeclaration(node, this.required(node.name), undefined, undefined, this.visitNode(node.initializer));
|
|
138
138
|
if (node.type !== undefined)
|
|
@@ -140,79 +140,79 @@ export class TypeEraser extends Transformer {
|
|
|
140
140
|
return updated;
|
|
141
141
|
}
|
|
142
142
|
break;
|
|
143
|
-
case
|
|
143
|
+
case 300 /* SyntaxKind.HeritageClause */:
|
|
144
144
|
if (node instanceof HeritageClause) {
|
|
145
145
|
if (node.token === 118 /* SyntaxKind.ImplementsKeyword */)
|
|
146
146
|
return undefined;
|
|
147
147
|
return factory.updateHeritageClause(node, node.token, this.visitNodes(node.types));
|
|
148
148
|
}
|
|
149
149
|
break;
|
|
150
|
-
case
|
|
150
|
+
case 265 /* SyntaxKind.ClassDeclaration */:
|
|
151
151
|
if (node instanceof ClassDeclaration)
|
|
152
152
|
return factory.updateClassDeclaration(node, this.visitModifiers(node.modifiers), this.optionalIdentifier(node.name), undefined, this.visitNodes(node.heritageClauses), this.visitNodes(node.members));
|
|
153
153
|
break;
|
|
154
|
-
case
|
|
154
|
+
case 233 /* SyntaxKind.ClassExpression */:
|
|
155
155
|
if (node instanceof ClassExpression)
|
|
156
156
|
return factory.updateClassExpression(node, this.visitModifiers(node.modifiers), this.optionalIdentifier(node.name), undefined, this.visitNodes(node.heritageClauses), this.visitNodes(node.members));
|
|
157
157
|
break;
|
|
158
|
-
case
|
|
158
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
159
159
|
if (node instanceof FunctionDeclaration) {
|
|
160
160
|
if (nodeIsMissing(node.body))
|
|
161
161
|
return this.notEmitted(node);
|
|
162
162
|
return factory.updateFunctionDeclaration(node, this.visitModifiers(node.modifiers), node.asteriskToken, this.optionalIdentifier(node.name), undefined, this.visitNodes(node.parameters), undefined, undefined, this.visitNode(node.body));
|
|
163
163
|
}
|
|
164
164
|
break;
|
|
165
|
-
case
|
|
165
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
166
166
|
if (node instanceof FunctionExpression)
|
|
167
167
|
return factory.updateFunctionExpression(node, this.visitModifiers(node.modifiers), node.asteriskToken, this.optionalIdentifier(node.name), undefined, this.visitNodes(node.parameters), undefined, undefined, this.required(node.body));
|
|
168
168
|
break;
|
|
169
|
-
case
|
|
169
|
+
case 221 /* SyntaxKind.ArrowFunction */:
|
|
170
170
|
if (node instanceof ArrowFunction)
|
|
171
171
|
return factory.updateArrowFunction(node, this.visitModifiers(node.modifiers), undefined, this.visitNodes(node.parameters), undefined, undefined, node.equalsGreaterThanToken, this.required(node.body));
|
|
172
172
|
break;
|
|
173
|
-
case
|
|
173
|
+
case 171 /* SyntaxKind.Parameter */:
|
|
174
174
|
if (node instanceof ParameterDeclaration)
|
|
175
175
|
return this.visitParameter(node);
|
|
176
176
|
break;
|
|
177
|
-
case
|
|
177
|
+
case 215 /* SyntaxKind.CallExpression */:
|
|
178
178
|
if (node instanceof CallExpression)
|
|
179
179
|
return factory.updateCallExpression(node, this.required(node.expression), callQuestionDotToken(node), undefined, this.visitNodes(node.arguments), node.flags);
|
|
180
180
|
break;
|
|
181
|
-
case
|
|
181
|
+
case 216 /* SyntaxKind.NewExpression */:
|
|
182
182
|
if (node instanceof NewExpression)
|
|
183
183
|
return factory.updateNewExpression(node, this.required(node.expression), undefined, this.visitNodes(node.arguments));
|
|
184
184
|
break;
|
|
185
|
-
case
|
|
185
|
+
case 217 /* SyntaxKind.TaggedTemplateExpression */:
|
|
186
186
|
if (node instanceof TaggedTemplateExpression)
|
|
187
187
|
return factory.updateTaggedTemplateExpression(node, this.required(node.tag), node.questionDotToken, undefined, this.required(node.template), node.flags);
|
|
188
188
|
break;
|
|
189
|
-
case
|
|
190
|
-
case
|
|
191
|
-
case
|
|
192
|
-
case
|
|
189
|
+
case 237 /* SyntaxKind.NonNullExpression */:
|
|
190
|
+
case 218 /* SyntaxKind.TypeAssertionExpression */:
|
|
191
|
+
case 236 /* SyntaxKind.AsExpression */:
|
|
192
|
+
case 240 /* SyntaxKind.SatisfiesExpression */:
|
|
193
193
|
return this.partiallyEmitted(node, getExpression(node));
|
|
194
|
-
case
|
|
194
|
+
case 219 /* SyntaxKind.ParenthesizedExpression */:
|
|
195
195
|
if (node instanceof ParenthesizedExpression && !isJSDocTypeAssertion(node)) {
|
|
196
196
|
const inner = skipParenthesesAndPartiallyEmitted(node.expression);
|
|
197
|
-
if (inner.kind ===
|
|
198
|
-
inner.kind ===
|
|
199
|
-
inner.kind ===
|
|
197
|
+
if (inner.kind === 218 /* SyntaxKind.TypeAssertionExpression */ ||
|
|
198
|
+
inner.kind === 236 /* SyntaxKind.AsExpression */ ||
|
|
199
|
+
inner.kind === 240 /* SyntaxKind.SatisfiesExpression */)
|
|
200
200
|
return this.partiallyEmitted(node, node.expression);
|
|
201
201
|
}
|
|
202
202
|
return this.visitEachChild(node);
|
|
203
|
-
case
|
|
203
|
+
case 287 /* SyntaxKind.JsxSelfClosingElement */:
|
|
204
204
|
if (node instanceof JsxSelfClosingElement)
|
|
205
205
|
return factory.updateJsxSelfClosingElement(node, this.required(node.tagName), undefined, this.jsxAttributes(node.attributes));
|
|
206
206
|
break;
|
|
207
|
-
case
|
|
207
|
+
case 288 /* SyntaxKind.JsxOpeningElement */:
|
|
208
208
|
if (node instanceof JsxOpeningElement)
|
|
209
209
|
return factory.updateJsxOpeningElement(node, this.required(node.tagName), undefined, this.jsxAttributes(node.attributes));
|
|
210
210
|
break;
|
|
211
|
-
case
|
|
211
|
+
case 273 /* SyntaxKind.ImportEqualsDeclaration */:
|
|
212
212
|
if (node instanceof ImportEqualsDeclaration && node.isTypeOnly)
|
|
213
213
|
return undefined;
|
|
214
214
|
return this.visitEachChild(node);
|
|
215
|
-
case
|
|
215
|
+
case 274 /* SyntaxKind.ImportDeclaration */:
|
|
216
216
|
if (node instanceof ImportDeclaration) {
|
|
217
217
|
if (node.importClause === undefined)
|
|
218
218
|
return node;
|
|
@@ -222,17 +222,24 @@ export class TypeEraser extends Transformer {
|
|
|
222
222
|
return factory.updateImportDeclaration(node, node.modifiers, clause, node.moduleSpecifier, node.attributes);
|
|
223
223
|
}
|
|
224
224
|
break;
|
|
225
|
-
case
|
|
225
|
+
case 275 /* SyntaxKind.ImportClause */:
|
|
226
226
|
if (node instanceof ImportClause) {
|
|
227
227
|
if (node.phaseModifier === 156 /* SyntaxKind.TypeKeyword */)
|
|
228
228
|
return undefined;
|
|
229
|
-
|
|
229
|
+
let bindings = this.visitNode(node.namedBindings);
|
|
230
|
+
// With a default import, `{}` left by erasing type-only specifiers goes; a `{}` written in the source stays.
|
|
231
|
+
if (node.name !== undefined &&
|
|
232
|
+
bindings instanceof NamedImports &&
|
|
233
|
+
bindings.elements.nodes.length === 0 &&
|
|
234
|
+
node.namedBindings instanceof NamedImports &&
|
|
235
|
+
node.namedBindings.elements.nodes.length !== 0)
|
|
236
|
+
bindings = undefined;
|
|
230
237
|
if (node.name === undefined && bindings === undefined)
|
|
231
238
|
return undefined;
|
|
232
239
|
return factory.updateImportClause(node, node.phaseModifier, node.name, bindings);
|
|
233
240
|
}
|
|
234
241
|
break;
|
|
235
|
-
case
|
|
242
|
+
case 277 /* SyntaxKind.NamedImports */:
|
|
236
243
|
if (node instanceof NamedImports) {
|
|
237
244
|
if (node.elements.nodes.length === 0)
|
|
238
245
|
return node;
|
|
@@ -242,9 +249,9 @@ export class TypeEraser extends Transformer {
|
|
|
242
249
|
return factory.updateNamedImports(node, elements);
|
|
243
250
|
}
|
|
244
251
|
break;
|
|
245
|
-
case
|
|
252
|
+
case 278 /* SyntaxKind.ImportSpecifier */:
|
|
246
253
|
return node instanceof ImportSpecifier && node.isTypeOnly ? undefined : node;
|
|
247
|
-
case
|
|
254
|
+
case 280 /* SyntaxKind.ExportDeclaration */:
|
|
248
255
|
if (node instanceof ExportDeclaration) {
|
|
249
256
|
if (node.isTypeOnly)
|
|
250
257
|
return undefined;
|
|
@@ -257,7 +264,7 @@ export class TypeEraser extends Transformer {
|
|
|
257
264
|
return factory.updateExportDeclaration(node, undefined, false, clause, this.visitNode(node.moduleSpecifier), node.attributes === undefined ? undefined : this.importAttributes(node.attributes));
|
|
258
265
|
}
|
|
259
266
|
break;
|
|
260
|
-
case
|
|
267
|
+
case 281 /* SyntaxKind.NamedExports */:
|
|
261
268
|
if (node instanceof NamedExports) {
|
|
262
269
|
if (node.elements.nodes.length === 0)
|
|
263
270
|
return node;
|
|
@@ -267,9 +274,9 @@ export class TypeEraser extends Transformer {
|
|
|
267
274
|
return factory.updateNamedExports(node, elements);
|
|
268
275
|
}
|
|
269
276
|
break;
|
|
270
|
-
case
|
|
277
|
+
case 283 /* SyntaxKind.ExportSpecifier */:
|
|
271
278
|
return node instanceof ExportSpecifier && node.isTypeOnly ? undefined : node;
|
|
272
|
-
case
|
|
279
|
+
case 268 /* SyntaxKind.EnumDeclaration */:
|
|
273
280
|
if (hasSyntacticModifier(node, 4096 /* ModifierFlags.Const */))
|
|
274
281
|
return node;
|
|
275
282
|
return this.visitEachChild(node);
|
|
@@ -325,7 +332,7 @@ export class TypeEraser extends Transformer {
|
|
|
325
332
|
const decorators = [];
|
|
326
333
|
const nodes = node.modifiers.nodes;
|
|
327
334
|
for (let i = 0; i < nodes.length; i++)
|
|
328
|
-
if (nodes[i].kind ===
|
|
335
|
+
if (nodes[i].kind === 172 /* SyntaxKind.Decorator */)
|
|
329
336
|
decorators.push(nodes[i]);
|
|
330
337
|
const visited = this.visitArray(decorators);
|
|
331
338
|
modifiers = this.factory.createModifierList(modifiers === undefined ? visited : modifiers.nodes.concat(visited));
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// what syntax shows: classes, enums, interfaces, type aliases and type parameters, through
|
|
4
4
|
// imports. Types only the checker can compute (conditional, mapped and indexed access types,
|
|
5
5
|
// inherited members) serialize as `Object`.
|
|
6
|
-
import { ArrayTypeNode, EnumDeclaration, Identifier, ImportClause, InterfaceDeclaration, LiteralTypeNode, ParenthesizedTypeNode, PrefixUnaryExpression, QualifiedName, TypeAliasDeclaration, TypeLiteralNode, TypeOperatorNode, TypeParameterDeclaration, TypeReferenceNode, UnionTypeNode, VariableDeclaration, getIsTypeOnly, } from '../ast.js';
|
|
6
|
+
import { ArrayTypeNode, EnumDeclaration, Identifier, ImportClause, InterfaceDeclaration, LiteralTypeNode, ParenthesizedTypeNode, PrefixUnaryExpression, QualifiedName, TypeAliasDeclaration, TypeLiteralNode, TypeOperatorNode, TypeParameterDeclaration, TypeReferenceNode, UnionTypeNode, VariableDeclaration, getIsTypeOnly, getText, } from '../ast.js';
|
|
7
7
|
import { getStrictOptionValue } from '../options.js';
|
|
8
8
|
import { declarationAt, declarationCount, getDeclarations, Symbol } from '../symbol.js';
|
|
9
9
|
/** What an unresolvable alias resolves to, as the checker's unknown symbol. */
|
|
@@ -72,11 +72,11 @@ function resolveEntityName(resolver, name, meaning, dontResolveAlias, location)
|
|
|
72
72
|
return undefined;
|
|
73
73
|
if (namespace === unknownSymbol)
|
|
74
74
|
return namespace;
|
|
75
|
-
let member = resolver.getExportOfSymbol(namespace, name.right
|
|
75
|
+
let member = resolver.getExportOfSymbol(namespace, getText(name.right));
|
|
76
76
|
if (member === undefined && (namespace.flags & 2097152 /* SymbolFlags.Alias */) !== 0) {
|
|
77
77
|
const target = resolver.resolveAlias(namespace);
|
|
78
78
|
if (target !== undefined)
|
|
79
|
-
member = resolver.getExportOfSymbol(target, name.right
|
|
79
|
+
member = resolver.getExportOfSymbol(target, getText(name.right));
|
|
80
80
|
}
|
|
81
81
|
if (member === undefined || (member.flags & (meaning | 2097152 /* SymbolFlags.Alias */)) === 0)
|
|
82
82
|
return undefined;
|
|
@@ -112,10 +112,10 @@ function hasConstructSignature(resolver, type, location, depth) {
|
|
|
112
112
|
return false;
|
|
113
113
|
while (type instanceof ParenthesizedTypeNode)
|
|
114
114
|
type = type.type;
|
|
115
|
-
if (type.kind ===
|
|
115
|
+
if (type.kind === 187 /* SyntaxKind.ConstructorType */)
|
|
116
116
|
return true;
|
|
117
117
|
if (type instanceof TypeLiteralNode)
|
|
118
|
-
return hasMember(type.members.nodes,
|
|
118
|
+
return hasMember(type.members.nodes, 182 /* SyntaxKind.ConstructSignature */);
|
|
119
119
|
if (type instanceof TypeReferenceNode) {
|
|
120
120
|
const symbol = resolveEntityName(resolver, type.typeName, 788968 /* SymbolFlags.Type */, false, location);
|
|
121
121
|
if (symbol === undefined || symbol === unknownSymbol)
|
|
@@ -123,7 +123,7 @@ function hasConstructSignature(resolver, type, location, depth) {
|
|
|
123
123
|
for (let i = 0; i < declarationCount(symbol); i++) {
|
|
124
124
|
const declaration = declarationAt(symbol, i);
|
|
125
125
|
if (declaration instanceof InterfaceDeclaration &&
|
|
126
|
-
hasMember(declaration.members.nodes,
|
|
126
|
+
hasMember(declaration.members.nodes, 182 /* SyntaxKind.ConstructSignature */))
|
|
127
127
|
return true;
|
|
128
128
|
if (declaration instanceof TypeAliasDeclaration)
|
|
129
129
|
return hasConstructSignature(resolver, declaration.type, declaration, depth + 1);
|
|
@@ -177,7 +177,7 @@ class TypeClassifier {
|
|
|
177
177
|
for (let i = 0; i < declarationCount(symbol); i++) {
|
|
178
178
|
const declaration = declarationAt(symbol, i);
|
|
179
179
|
if (declaration instanceof InterfaceDeclaration &&
|
|
180
|
-
hasMember(declaration.members.nodes,
|
|
180
|
+
hasMember(declaration.members.nodes, 181 /* SyntaxKind.CallSignature */))
|
|
181
181
|
return 10 /* TypeReferenceSerializationKind.TypeWithCallSignature */;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
@@ -223,35 +223,35 @@ class TypeClassifier {
|
|
|
223
223
|
case 163 /* SyntaxKind.BigIntKeyword */:
|
|
224
224
|
return 4 /* TypeReferenceSerializationKind.BigIntLikeType */;
|
|
225
225
|
case 154 /* SyntaxKind.StringKeyword */:
|
|
226
|
-
case
|
|
226
|
+
case 205 /* SyntaxKind.TemplateLiteralType */:
|
|
227
227
|
return 5 /* TypeReferenceSerializationKind.StringLikeType */;
|
|
228
|
-
case
|
|
228
|
+
case 191 /* SyntaxKind.TupleType */:
|
|
229
229
|
return 7 /* TypeReferenceSerializationKind.ArrayLikeType */;
|
|
230
230
|
case 155 /* SyntaxKind.SymbolKeyword */:
|
|
231
231
|
return 8 /* TypeReferenceSerializationKind.ESSymbolType */;
|
|
232
|
-
case
|
|
232
|
+
case 186 /* SyntaxKind.FunctionType */:
|
|
233
233
|
return 10 /* TypeReferenceSerializationKind.TypeWithCallSignature */;
|
|
234
|
-
case
|
|
234
|
+
case 190 /* SyntaxKind.ArrayType */:
|
|
235
235
|
return 7 /* TypeReferenceSerializationKind.ArrayLikeType */;
|
|
236
|
-
case
|
|
236
|
+
case 203 /* SyntaxKind.LiteralType */:
|
|
237
237
|
if (node instanceof LiteralTypeNode)
|
|
238
238
|
return ofLiteral(node.literal);
|
|
239
239
|
break;
|
|
240
|
-
case
|
|
240
|
+
case 200 /* SyntaxKind.TypeOperator */:
|
|
241
241
|
if (node instanceof TypeOperatorNode) {
|
|
242
242
|
if (node.operator === 158 /* SyntaxKind.UniqueKeyword */)
|
|
243
243
|
return 8 /* TypeReferenceSerializationKind.ESSymbolType */;
|
|
244
244
|
if (node.operator === 148 /* SyntaxKind.ReadonlyKeyword */ && node.type instanceof ArrayTypeNode)
|
|
245
245
|
return 7 /* TypeReferenceSerializationKind.ArrayLikeType */;
|
|
246
|
-
if (node.operator === 148 /* SyntaxKind.ReadonlyKeyword */ && node.type.kind ===
|
|
246
|
+
if (node.operator === 148 /* SyntaxKind.ReadonlyKeyword */ && node.type.kind === 191 /* SyntaxKind.TupleType */)
|
|
247
247
|
return 7 /* TypeReferenceSerializationKind.ArrayLikeType */;
|
|
248
248
|
}
|
|
249
249
|
break;
|
|
250
|
-
case
|
|
251
|
-
if (node instanceof TypeLiteralNode && hasMember(node.members.nodes,
|
|
250
|
+
case 189 /* SyntaxKind.TypeLiteral */:
|
|
251
|
+
if (node instanceof TypeLiteralNode && hasMember(node.members.nodes, 181 /* SyntaxKind.CallSignature */))
|
|
252
252
|
return 10 /* TypeReferenceSerializationKind.TypeWithCallSignature */;
|
|
253
253
|
break;
|
|
254
|
-
case
|
|
254
|
+
case 185 /* SyntaxKind.TypeReference */:
|
|
255
255
|
if (node instanceof TypeReferenceNode) {
|
|
256
256
|
const symbol = resolveEntityName(this.resolver, node.typeName, 788968 /* SymbolFlags.Type */, false, location);
|
|
257
257
|
if (symbol === undefined || symbol === unknownSymbol)
|
|
@@ -259,7 +259,7 @@ class TypeClassifier {
|
|
|
259
259
|
return this.ofSymbol(symbol, depth + 1);
|
|
260
260
|
}
|
|
261
261
|
break;
|
|
262
|
-
case
|
|
262
|
+
case 194 /* SyntaxKind.UnionType */:
|
|
263
263
|
if (node instanceof UnionTypeNode)
|
|
264
264
|
return this.ofUnion(node.types.nodes, location, depth);
|
|
265
265
|
break;
|
|
@@ -311,7 +311,7 @@ function ofLiteral(literal) {
|
|
|
311
311
|
return 6 /* TypeReferenceSerializationKind.BooleanType */;
|
|
312
312
|
case 105 /* SyntaxKind.NullKeyword */:
|
|
313
313
|
return 2 /* TypeReferenceSerializationKind.VoidNullableOrNeverType */;
|
|
314
|
-
case
|
|
314
|
+
case 226 /* SyntaxKind.PrefixUnaryExpression */:
|
|
315
315
|
if (literal instanceof PrefixUnaryExpression)
|
|
316
316
|
return ofLiteral(literal.operand);
|
|
317
317
|
break;
|
|
@@ -326,18 +326,18 @@ function getFirstIdentifier(node) {
|
|
|
326
326
|
/** Whether an alias declaration is type-only, itself or through its import clause. */
|
|
327
327
|
function isTypeOnlyImportOrExportDeclaration(node) {
|
|
328
328
|
switch (node.kind) {
|
|
329
|
-
case
|
|
330
|
-
case
|
|
329
|
+
case 278 /* SyntaxKind.ImportSpecifier */:
|
|
330
|
+
case 283 /* SyntaxKind.ExportSpecifier */: {
|
|
331
331
|
if (getIsTypeOnly(node))
|
|
332
332
|
return true;
|
|
333
333
|
const clause = node.parent === undefined ? undefined : node.parent.parent;
|
|
334
334
|
return clause !== undefined && isTypeOnlyImportClause(clause);
|
|
335
335
|
}
|
|
336
|
-
case
|
|
336
|
+
case 276 /* SyntaxKind.NamespaceImport */:
|
|
337
337
|
return node.parent !== undefined && isTypeOnlyImportClause(node.parent);
|
|
338
|
-
case
|
|
338
|
+
case 275 /* SyntaxKind.ImportClause */:
|
|
339
339
|
return isTypeOnlyImportClause(node);
|
|
340
|
-
case
|
|
340
|
+
case 273 /* SyntaxKind.ImportEqualsDeclaration */:
|
|
341
341
|
return getIsTypeOnly(node);
|
|
342
342
|
}
|
|
343
343
|
return false;
|
|
@@ -26,13 +26,13 @@ export class UsingTransformer extends Transformer {
|
|
|
26
26
|
if (!this.facts.has(node, 4 /* SubtreeFacts.ContainsUsing */))
|
|
27
27
|
return node;
|
|
28
28
|
switch (node.kind) {
|
|
29
|
-
case
|
|
29
|
+
case 308 /* SyntaxKind.SourceFile */:
|
|
30
30
|
return this.visitSourceFile(node);
|
|
31
|
-
case
|
|
31
|
+
case 243 /* SyntaxKind.Block */:
|
|
32
32
|
return this.visitBlock(node);
|
|
33
|
-
case
|
|
33
|
+
case 250 /* SyntaxKind.ForStatement */:
|
|
34
34
|
return this.visitForStatement(node);
|
|
35
|
-
case
|
|
35
|
+
case 252 /* SyntaxKind.ForOfStatement */:
|
|
36
36
|
return this.visitForOfStatement(node);
|
|
37
37
|
}
|
|
38
38
|
return this.visitEachChild(node);
|
|
@@ -218,17 +218,17 @@ export class UsingTransformer extends Transformer {
|
|
|
218
218
|
if (topLevel === undefined)
|
|
219
219
|
return node;
|
|
220
220
|
switch (node.kind) {
|
|
221
|
-
case
|
|
222
|
-
case
|
|
223
|
-
case
|
|
224
|
-
case
|
|
221
|
+
case 274 /* SyntaxKind.ImportDeclaration */:
|
|
222
|
+
case 273 /* SyntaxKind.ImportEqualsDeclaration */:
|
|
223
|
+
case 280 /* SyntaxKind.ExportDeclaration */:
|
|
224
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
225
225
|
topLevel.push(node);
|
|
226
226
|
return undefined;
|
|
227
|
-
case
|
|
227
|
+
case 279 /* SyntaxKind.ExportAssignment */:
|
|
228
228
|
return this.hoistExportAssignment(node);
|
|
229
|
-
case
|
|
229
|
+
case 265 /* SyntaxKind.ClassDeclaration */:
|
|
230
230
|
return this.hoistClassDeclaration(node);
|
|
231
|
-
case
|
|
231
|
+
case 245 /* SyntaxKind.VariableStatement */:
|
|
232
232
|
return this.hoistVariableStatement(node);
|
|
233
233
|
}
|
|
234
234
|
return node;
|
|
@@ -447,7 +447,7 @@ function getUsingKindOfStatements(statements) {
|
|
|
447
447
|
function getBindingName(node) {
|
|
448
448
|
if (node instanceof VariableDeclaration)
|
|
449
449
|
return node.name;
|
|
450
|
-
if (node.kind ===
|
|
450
|
+
if (node.kind === 210 /* SyntaxKind.BindingElement */)
|
|
451
451
|
return node.name;
|
|
452
452
|
return undefined;
|
|
453
453
|
}
|