tsc-ts 0.0.10 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- 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 +29 -18
- package/dist/api/compiler/ast.js +1040 -1007
- 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 +173 -123
- package/dist/api/compiler/checker-classes.d.ts +14 -3
- package/dist/api/compiler/checker-classes.js +136 -91
- package/dist/api/compiler/checker-contextual.d.ts +20 -0
- package/dist/api/compiler/checker-contextual.js +175 -62
- 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 +258 -212
- 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 +469 -438
- 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 -113
- 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 +107 -89
- package/dist/api/compiler/checker-members.d.ts +9 -2
- package/dist/api/compiler/checker-members.js +210 -74
- 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 +190 -46
- 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 +97 -31
- package/dist/api/compiler/checker.js +149 -35
- 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 +24 -4
- package/dist/api/compiler/compile-program.js +53 -26
- package/dist/api/compiler/diagnostic-messages.d.ts +1849 -1774
- package/dist/api/compiler/diagnostic-messages.js +128 -122
- package/dist/api/compiler/diagnostics.js +7 -7
- package/dist/api/compiler/emitter.d.ts +7 -1
- package/dist/api/compiler/emitter.js +53 -11
- package/dist/api/compiler/expr-record.d.ts +11 -0
- package/dist/api/compiler/expr-record.js +53 -0
- 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 +10 -0
- package/dist/api/compiler/file-loader.js +138 -41
- package/dist/api/compiler/identifier-name.d.ts +9 -0
- package/dist/api/compiler/identifier-name.js +10 -0
- package/dist/api/compiler/instantiation.d.ts +7 -0
- package/dist/api/compiler/instantiation.js +101 -49
- package/dist/api/compiler/jsdoc.js +27 -25
- 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/parser.d.ts +42 -20
- package/dist/api/compiler/parser.js +318 -224
- 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 +3 -1
- package/dist/api/compiler/printer/emit-context.js +16 -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 +6 -3
- 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 +1 -0
- package/dist/api/compiler/printer/printer.js +306 -283
- package/dist/api/compiler/printer/utilities.js +149 -147
- package/dist/api/compiler/program-checker.d.ts +8 -2
- package/dist/api/compiler/program-checker.js +84 -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 +2 -0
- package/dist/api/compiler/program.js +69 -57
- 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 +337 -180
- package/dist/api/compiler/reparser.js +64 -59
- package/dist/api/compiler/scanner.d.ts +27 -2
- package/dist/api/compiler/scanner.js +181 -150
- package/dist/api/compiler/shared-results.d.ts +696 -0
- package/dist/api/compiler/shared-results.js +2905 -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 +22 -13
- package/dist/api/compiler/symbol.js +15 -1
- 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 +307 -239
- 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 +74 -38
- package/src/compiler/binder.ts +39 -4
- package/src/compiler/cgroup.ts +157 -0
- package/src/compiler/character-codes.ts +2 -2
- package/src/compiler/checker-calls.ts +76 -8
- package/src/compiler/checker-classes.ts +80 -25
- package/src/compiler/checker-contextual.ts +110 -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 +95 -47
- package/src/compiler/checker-functions.ts +21 -6
- package/src/compiler/checker-generated-code.ts +2 -22
- package/src/compiler/checker-grammar.ts +133 -60
- package/src/compiler/checker-heritage.ts +22 -21
- package/src/compiler/checker-inference.ts +514 -87
- 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 +28 -5
- package/src/compiler/checker-members.ts +197 -55
- 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 +173 -35
- 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 +175 -41
- package/src/compiler/command-line.ts +28 -28
- package/src/compiler/compile-program.ts +59 -25
- package/src/compiler/decoder.ts +15 -5
- package/src/compiler/diagnostic-messages.ts +1973 -1892
- package/src/compiler/doctor-report.ts +133 -0
- package/src/compiler/emitter.ts +57 -8
- package/src/compiler/encoder.ts +23 -8
- package/src/compiler/expr-record.ts +59 -0
- package/src/compiler/file-include.ts +9 -3
- package/src/compiler/file-loader.ts +139 -32
- package/src/compiler/help.ts +10 -14
- package/src/compiler/identifier-name.ts +13 -0
- package/src/compiler/incremental.ts +86 -18
- package/src/compiler/init.ts +2 -7
- package/src/compiler/instantiation.ts +77 -22
- package/src/compiler/jsdoc.ts +7 -3
- 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 +543 -147
- package/src/compiler/parallel-emit.ts +4 -4
- package/src/compiler/parser.ts +166 -47
- package/src/compiler/path.ts +22 -2
- package/src/compiler/printer/emit-context.ts +16 -0
- package/src/compiler/printer/factory-base.ts +10 -3
- package/src/compiler/printer/factory.ts +7 -3
- package/src/compiler/printer/helpers.ts +10 -1
- package/src/compiler/printer/name-generator.ts +24 -2
- package/src/compiler/printer/printer.ts +39 -16
- package/src/compiler/printer/utilities.ts +8 -2
- package/src/compiler/program-checker.ts +53 -5
- package/src/compiler/program-utilities.ts +23 -10
- package/src/compiler/program.ts +13 -1
- package/src/compiler/pseudo-bigint.ts +17 -0
- package/src/compiler/regexp-checker.ts +63 -30
- package/src/compiler/relations.ts +233 -77
- package/src/compiler/reparser.ts +14 -5
- package/src/compiler/run-config.ts +1383 -0
- package/src/compiler/run-record-read.ts +87 -0
- package/src/compiler/run-records.ts +575 -0
- package/src/compiler/scanner.ts +166 -120
- package/src/compiler/shared-results.ts +3144 -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 +31 -14
- package/src/compiler/syntax-kind.ts +188 -187
- package/src/compiler/thread-entry.ts +22 -3
- 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 +136 -49
- 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 +67 -6
- package/src/compiler/tsc-cli.ts +35 -4
- package/src/compiler/tsc-compile.ts +220 -10
- package/src/compiler/tsc-watch.ts +97 -47
- 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
|
@@ -45,20 +45,20 @@ export function getSignaturesOfSymbol(c, symbol) {
|
|
|
45
45
|
}
|
|
46
46
|
export function isFunctionLikeNode(node) {
|
|
47
47
|
switch (node.kind) {
|
|
48
|
-
case
|
|
49
|
-
case
|
|
50
|
-
case
|
|
51
|
-
case
|
|
52
|
-
case
|
|
53
|
-
case
|
|
54
|
-
case
|
|
55
|
-
case
|
|
56
|
-
case
|
|
57
|
-
case
|
|
58
|
-
case
|
|
59
|
-
case
|
|
60
|
-
case
|
|
61
|
-
case
|
|
48
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
49
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
50
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
51
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
52
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
53
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
54
|
+
case 221 /* SyntaxKind.ArrowFunction */:
|
|
55
|
+
case 175 /* SyntaxKind.MethodSignature */:
|
|
56
|
+
case 181 /* SyntaxKind.CallSignature */:
|
|
57
|
+
case 182 /* SyntaxKind.ConstructSignature */:
|
|
58
|
+
case 183 /* SyntaxKind.IndexSignature */:
|
|
59
|
+
case 186 /* SyntaxKind.FunctionType */:
|
|
60
|
+
case 187 /* SyntaxKind.ConstructorType */:
|
|
61
|
+
case 319 /* SyntaxKind.JSDocSignature */:
|
|
62
62
|
return true;
|
|
63
63
|
}
|
|
64
64
|
return false;
|
|
@@ -71,7 +71,7 @@ export function isOptionalDeclaration(node) {
|
|
|
71
71
|
}
|
|
72
72
|
function getAnnotatedAccessorThisParameter(accessor) {
|
|
73
73
|
const params = getParameters(accessor).nodes;
|
|
74
|
-
if (params.length !== (accessor.kind ===
|
|
74
|
+
if (params.length !== (accessor.kind === 179 /* SyntaxKind.GetAccessor */ ? 1 : 2))
|
|
75
75
|
return undefined;
|
|
76
76
|
const name = getName(params[0]);
|
|
77
77
|
return name !== undefined && name.kind === 79 /* SyntaxKind.Identifier */ && getText(name) === 'this'
|
|
@@ -105,7 +105,7 @@ export function getSignatureFromDeclaration(c, declaration) {
|
|
|
105
105
|
thisParameter = getSymbol(param);
|
|
106
106
|
else
|
|
107
107
|
parameters.push(paramSymbol);
|
|
108
|
-
if (typeNode !== undefined && typeNode.kind ===
|
|
108
|
+
if (typeNode !== undefined && typeNode.kind === 203 /* SyntaxKind.LiteralType */)
|
|
109
109
|
flags |= 2 /* SignatureFlags.HasLiteralTypes */;
|
|
110
110
|
const iifeArgs = iife !== undefined ? getArguments(iife).nodes.length : 0;
|
|
111
111
|
const isOptionalParameter = isOptionalDeclaration(param) ||
|
|
@@ -116,28 +116,28 @@ export function getSignatureFromDeclaration(c, declaration) {
|
|
|
116
116
|
minArgumentCount = parameters.length;
|
|
117
117
|
}
|
|
118
118
|
// An accessor without a `this` annotation takes the one of its counterpart.
|
|
119
|
-
if ((declaration.kind ===
|
|
119
|
+
if ((declaration.kind === 179 /* SyntaxKind.GetAccessor */ || declaration.kind === 180 /* SyntaxKind.SetAccessor */) &&
|
|
120
120
|
hasBindableName(declaration) &&
|
|
121
121
|
thisParameter === undefined) {
|
|
122
122
|
const symbol = getSymbol(declaration);
|
|
123
123
|
const other = symbol !== undefined
|
|
124
|
-
? getDeclarationOfKind(symbol, declaration.kind ===
|
|
124
|
+
? getDeclarationOfKind(symbol, declaration.kind === 179 /* SyntaxKind.GetAccessor */ ? 180 /* SyntaxKind.SetAccessor */ : 179 /* SyntaxKind.GetAccessor */)
|
|
125
125
|
: undefined;
|
|
126
126
|
if (other !== undefined)
|
|
127
127
|
thisParameter = getAnnotatedAccessorThisParameter(other);
|
|
128
128
|
}
|
|
129
|
-
const classType = declaration.kind ===
|
|
129
|
+
const classType = declaration.kind === 178 /* SyntaxKind.Constructor */
|
|
130
130
|
? getDeclaredTypeOfClassOrInterface(c, getMergedSymbol(c, getSymbol(declaration.parent)))
|
|
131
131
|
: undefined;
|
|
132
132
|
const typeParameters = classType !== undefined ? classType.localTypeParameters() : getTypeParametersFromDeclaration(c, declaration);
|
|
133
133
|
if (params.length !== 0 && isRestParameter(params[params.length - 1]))
|
|
134
134
|
flags |= 1 /* SignatureFlags.HasRestParameter */;
|
|
135
|
-
if (declaration.kind ===
|
|
136
|
-
declaration.kind ===
|
|
137
|
-
declaration.kind ===
|
|
135
|
+
if (declaration.kind === 187 /* SyntaxKind.ConstructorType */ ||
|
|
136
|
+
declaration.kind === 178 /* SyntaxKind.Constructor */ ||
|
|
137
|
+
declaration.kind === 182 /* SyntaxKind.ConstructSignature */)
|
|
138
138
|
flags |= 4 /* SignatureFlags.Construct */;
|
|
139
|
-
if ((declaration.kind ===
|
|
140
|
-
(declaration.kind ===
|
|
139
|
+
if ((declaration.kind === 187 /* SyntaxKind.ConstructorType */ && hasSyntacticModifier(declaration, 64 /* ModifierFlags.Abstract */)) ||
|
|
140
|
+
(declaration.kind === 178 /* SyntaxKind.Constructor */ && hasSyntacticModifier(declaration.parent, 64 /* ModifierFlags.Abstract */)))
|
|
141
141
|
flags |= 8 /* SignatureFlags.Abstract */;
|
|
142
142
|
const signature = c.newSignature(flags, declaration, typeParameters, thisParameter, parameters, undefined, minArgumentCount);
|
|
143
143
|
c.resolvedSignatures.set(declaration.id, signature);
|
|
@@ -169,8 +169,23 @@ export function getReturnTypeOfSignature(c, sig) {
|
|
|
169
169
|
if (sig.resolvedReturnType !== undefined)
|
|
170
170
|
return sig.resolvedReturnType;
|
|
171
171
|
const side = signatureSideOf(c, sig);
|
|
172
|
-
if (side.resolvedReturnType !== undefined)
|
|
172
|
+
if (side.resolvedReturnType !== undefined) {
|
|
173
|
+
if (c.threadSharing !== undefined)
|
|
174
|
+
noteReturnTypeUse(c, sig);
|
|
173
175
|
return side.resolvedReturnType;
|
|
176
|
+
}
|
|
177
|
+
// TSC_TS_SHARE: checker threads share the return types of declared signatures (shared-results.ts).
|
|
178
|
+
if (c.threadSharing !== undefined && isSharedReturnSignature(c, sig)) {
|
|
179
|
+
const sharing = c.threadSharing;
|
|
180
|
+
if (sharing.computingSignature === sig)
|
|
181
|
+
sharing.computingSignature = undefined;
|
|
182
|
+
else {
|
|
183
|
+
const t = threadReturnType(c, sig);
|
|
184
|
+
if (side.resolvedReturnType === undefined)
|
|
185
|
+
side.resolvedReturnType = t;
|
|
186
|
+
return side.resolvedReturnType;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
174
189
|
if (!pushTypeResolution(c, sig, 3 /* TypeSystemPropertyName.ResolvedReturnType */))
|
|
175
190
|
return c.errorType;
|
|
176
191
|
let t;
|
|
@@ -197,13 +212,13 @@ export function getReturnTypeOfSignature(c, sig) {
|
|
|
197
212
|
if (declaration !== undefined) {
|
|
198
213
|
const typeNode = getType(declaration);
|
|
199
214
|
if (typeNode !== undefined)
|
|
200
|
-
c.error(typeNode,
|
|
215
|
+
c.error(typeNode, 735 /* Diagnostics.Return_type_annotation_circularly_references_itself */);
|
|
201
216
|
else if (c.noImplicitAny) {
|
|
202
217
|
const name = getNameOfDeclaration(declaration);
|
|
203
218
|
if (name !== undefined)
|
|
204
|
-
c.error(name,
|
|
219
|
+
c.error(name, 1713 /* Diagnostics.X_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions */, declarationNameToString(getSourceFileOfNode(name), name));
|
|
205
220
|
else
|
|
206
|
-
c.error(declaration,
|
|
221
|
+
c.error(declaration, 1714 /* Diagnostics.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions */);
|
|
207
222
|
}
|
|
208
223
|
}
|
|
209
224
|
t = c.anyType;
|
|
@@ -213,6 +228,7 @@ export function getReturnTypeOfSignature(c, sig) {
|
|
|
213
228
|
return side.resolvedReturnType;
|
|
214
229
|
}
|
|
215
230
|
import { getOptionalType as getOptionalTypeLocal, addOptionalTypeMarker } from './checker-symbol-types.js';
|
|
231
|
+
import { isSharedReturnSignature, noteReturnTypeUse, threadReturnType } from './shared-results.js';
|
|
216
232
|
export function isResolvingReturnTypeOfSignature(c, sig) {
|
|
217
233
|
if (sig.composite !== undefined)
|
|
218
234
|
for (const s of sig.composite.signatures)
|
|
@@ -229,15 +245,15 @@ function isThisParameterDeclaration(p) {
|
|
|
229
245
|
return name !== undefined && name.kind === 79 /* SyntaxKind.Identifier */ && getText(name) === 'this';
|
|
230
246
|
}
|
|
231
247
|
export function getReturnTypeFromAnnotation(c, declaration) {
|
|
232
|
-
if (declaration.kind ===
|
|
248
|
+
if (declaration.kind === 178 /* SyntaxKind.Constructor */)
|
|
233
249
|
return getDeclaredTypeOfClassOrInterface(c, getMergedSymbol(c, getSymbol(declaration.parent)));
|
|
234
250
|
const returnType = getType(declaration);
|
|
235
251
|
if (returnType !== undefined)
|
|
236
252
|
return getTypeFromTypeNode(c, returnType);
|
|
237
|
-
if (declaration.kind ===
|
|
253
|
+
if (declaration.kind === 179 /* SyntaxKind.GetAccessor */) {
|
|
238
254
|
const symbol = getSymbolOfDeclaration(c, declaration);
|
|
239
255
|
if (symbol !== undefined) {
|
|
240
|
-
const setter = getDeclarations(symbol).find((d) => d.kind ===
|
|
256
|
+
const setter = getDeclarations(symbol).find((d) => d.kind === 180 /* SyntaxKind.SetAccessor */);
|
|
241
257
|
if (setter !== undefined) {
|
|
242
258
|
const parameters = getParameters(setter);
|
|
243
259
|
if (parameters !== undefined) {
|
|
@@ -272,7 +288,7 @@ export function getTypePredicateOfSignature(c, sig) {
|
|
|
272
288
|
const returnType = resolvedReturnTypeOf(c, sig);
|
|
273
289
|
const typeNode = getType(sig.declaration);
|
|
274
290
|
if (typeNode !== undefined) {
|
|
275
|
-
if (typeNode.kind ===
|
|
291
|
+
if (typeNode.kind === 184 /* SyntaxKind.TypePredicate */)
|
|
276
292
|
side.resolvedTypePredicate = createTypePredicateFromTypePredicateNode(c, typeNode, sig);
|
|
277
293
|
}
|
|
278
294
|
else if (isFunctionLikeDeclarationKind(sig.declaration.kind) &&
|
|
@@ -314,7 +330,7 @@ function getUnionOrIntersectionTypePredicate(c, signatures, isUnion) {
|
|
|
314
330
|
function createTypePredicateFromTypePredicateNode(c, node, signature) {
|
|
315
331
|
const shape = node;
|
|
316
332
|
const t = shape.type !== undefined ? getTypeFromTypeNode(c, shape.type) : undefined;
|
|
317
|
-
if (shape.parameterName.kind ===
|
|
333
|
+
if (shape.parameterName.kind === 199 /* SyntaxKind.ThisType */)
|
|
318
334
|
return new TypePredicate(shape.assertsModifier !== undefined ? 2 /* TypePredicateKind.AssertsThis */ : 0 /* TypePredicateKind.This */, '', 0, t);
|
|
319
335
|
const name = getText(shape.parameterName);
|
|
320
336
|
const index = signature.parameters.findIndex((p) => p.name === name);
|
|
@@ -453,9 +469,9 @@ function getNameableDeclarationAtPosition(c, signature, pos) {
|
|
|
453
469
|
return undefined;
|
|
454
470
|
}
|
|
455
471
|
function isValidDeclarationForTupleLabel(d) {
|
|
456
|
-
if (d.kind ===
|
|
472
|
+
if (d.kind === 204 /* SyntaxKind.NamedTupleMember */)
|
|
457
473
|
return true;
|
|
458
|
-
const name = d.kind ===
|
|
474
|
+
const name = d.kind === 171 /* SyntaxKind.Parameter */ ? getName(d) : undefined;
|
|
459
475
|
return name !== undefined && name.kind === 79 /* SyntaxKind.Identifier */;
|
|
460
476
|
}
|
|
461
477
|
export function getNonArrayRestType(c, signature) {
|
|
@@ -599,9 +615,9 @@ export function getOrCreateTypeFromSignature(c, sig) {
|
|
|
599
615
|
const kind = sig.declaration !== undefined ? sig.declaration.kind : 0 /* SyntaxKind.Unknown */;
|
|
600
616
|
// No declaration means a default constructor.
|
|
601
617
|
const isConstructor = kind === 0 /* SyntaxKind.Unknown */ ||
|
|
602
|
-
kind ===
|
|
603
|
-
kind ===
|
|
604
|
-
kind ===
|
|
618
|
+
kind === 178 /* SyntaxKind.Constructor */ ||
|
|
619
|
+
kind === 182 /* SyntaxKind.ConstructSignature */ ||
|
|
620
|
+
kind === 187 /* SyntaxKind.ConstructorType */;
|
|
605
621
|
const t = newObjectType(c, 16 /* ObjectFlags.Anonymous */ | 33554432 /* ObjectFlags.SingleSignatureType */, sig.declaration !== undefined ? getSymbol(sig.declaration) : undefined);
|
|
606
622
|
if (isConstructor)
|
|
607
623
|
setStructuredTypeMembers(c, t, undefined, [], [sig], []);
|
|
@@ -657,7 +673,7 @@ export function getIndexInfosOfIndexSymbol(c, indexSymbol, siblingSymbols) {
|
|
|
657
673
|
let readonlySymbol = true;
|
|
658
674
|
const propertySymbols = [];
|
|
659
675
|
for (const declaration of getDeclarations(indexSymbol)) {
|
|
660
|
-
if (declaration.kind ===
|
|
676
|
+
if (declaration.kind === 183 /* SyntaxKind.IndexSignature */) {
|
|
661
677
|
const parameters = getParameters(declaration)?.nodes ?? [];
|
|
662
678
|
const returnTypeNode = getType(declaration);
|
|
663
679
|
if (parameters.length !== 1)
|
|
@@ -725,7 +741,7 @@ function isSymbolWithSymbolName(c, symbol) {
|
|
|
725
741
|
return true;
|
|
726
742
|
const name = declarationCount(symbol) !== 0 ? getName(symbol.declaration) : undefined;
|
|
727
743
|
return (name !== undefined &&
|
|
728
|
-
name.kind ===
|
|
744
|
+
name.kind === 169 /* SyntaxKind.ComputedPropertyName */ &&
|
|
729
745
|
isTypeAssignableToKind(c, checkComputedPropertyName(c, name), 512 /* TypeFlags.ESSymbol */));
|
|
730
746
|
}
|
|
731
747
|
/** Whether `symbol` has a numeric name, or a computed name of a number type. */
|
|
@@ -735,7 +751,7 @@ function isSymbolWithNumericName(c, symbol) {
|
|
|
735
751
|
const name = declarationCount(symbol) !== 0 ? getName(symbol.declaration) : undefined;
|
|
736
752
|
if (name === undefined)
|
|
737
753
|
return false;
|
|
738
|
-
if (name.kind ===
|
|
754
|
+
if (name.kind === 169 /* SyntaxKind.ComputedPropertyName */)
|
|
739
755
|
return isTypeAssignableToKind(c, checkComputedPropertyName(c, name), 67648 /* TypeFlags.NumberLike */);
|
|
740
756
|
return ((name.kind === 79 /* SyntaxKind.Identifier */ ||
|
|
741
757
|
name.kind === 10 /* SyntaxKind.StringLiteral */ ||
|
|
@@ -763,7 +779,7 @@ function isSymbolWithComputedName(symbol) {
|
|
|
763
779
|
if (declarationCount(symbol) === 0)
|
|
764
780
|
return false;
|
|
765
781
|
const name = getName(symbol.declaration);
|
|
766
|
-
return name !== undefined && name.kind ===
|
|
782
|
+
return name !== undefined && name.kind === 169 /* SyntaxKind.ComputedPropertyName */;
|
|
767
783
|
}
|
|
768
784
|
export { getIndexInfosOfType, instantiateTypes, getConstraintOfTypeParameter, getClassLikeDeclarationOfSymbol, getSymbolOfDeclaration, };
|
|
769
785
|
/** A JavaScript function without parameter types or a contextual signature: all its parameters are optional. */
|
|
@@ -771,13 +787,13 @@ function isUntypedSignatureInJSFile(c, declaration, params) {
|
|
|
771
787
|
if (!isInJSFile(declaration))
|
|
772
788
|
return false;
|
|
773
789
|
switch (declaration.kind) {
|
|
774
|
-
case
|
|
775
|
-
case
|
|
776
|
-
case
|
|
777
|
-
case
|
|
778
|
-
case
|
|
779
|
-
case
|
|
780
|
-
case
|
|
790
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
791
|
+
case 221 /* SyntaxKind.ArrowFunction */:
|
|
792
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
793
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
794
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
795
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
796
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
781
797
|
break;
|
|
782
798
|
default:
|
|
783
799
|
return false;
|
|
@@ -17,6 +17,11 @@ export declare function checkSourceFile(c: Checker, file: SourceFile, checkUnuse
|
|
|
17
17
|
* and a check that a symbol's first declaration runs reports on all its declarations.
|
|
18
18
|
*/
|
|
19
19
|
export declare function checkSourceFileRange(c: Checker, file: SourceFile, start: number, end: number): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Reports the deferred diagnostics, in the order they were deferred. Diagnostics deferred while they
|
|
22
|
+
* are reported are dropped.
|
|
23
|
+
*/
|
|
24
|
+
export declare function produceDeferredDiagnostics(c: Checker): void;
|
|
20
25
|
/** Checks a statement, declaration, class member or type node. */
|
|
21
26
|
export declare function checkSourceElement(c: Checker, node: Node | undefined): void;
|
|
22
27
|
/** Resolves the `@link` names of a node's JSDoc, which marks what they name referenced. */
|