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
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ModuleSpecifierResult } from './node-builder-names.js';
|
|
2
2
|
import type { EmitHelperFileLinks } from './checker-emit-helpers.js';
|
|
3
3
|
import type { Node, PatternAmbientModule, SourceFile } from './ast.js';
|
|
4
|
-
import {
|
|
4
|
+
import { CompactIntLinkTable, CompactLinkTable, IntLinkTable, LinkTable, PagedIdSet, SparseLinkTable } from './link-tables.js';
|
|
5
5
|
import { Diagnostic, type DiagnosticMessage, Diagnostics } from './diagnostics.js';
|
|
6
6
|
import { type CompilerOptions, ModuleKind, ScriptTarget } from './options.js';
|
|
7
7
|
import { CheckFlags, Symbol, SymbolFlags, type SymbolTable } from './symbol.js';
|
|
8
|
-
import { IndexInfo, IntrinsicType, LiteralType, MemberNames, NodeLinks, ObjectFlags, ObjectType, Signature, SignatureFlags, SymbolLinks, type Type, TypeFlags, TypeMapper, TypeParameter, TypePredicate, VarianceFlags, TypeListCache, TypeListTable, type ConditionalType, type InterfaceType, type TypeChecking } from './checker-types.js';
|
|
8
|
+
import { IndexInfo, IntrinsicType, LiteralType, MemberNames, NamedMemberOrder, NodeLinks, ObjectFlags, ObjectType, Signature, SignatureFlags, SymbolLinks, type Type, TypeFlags, TypeMapper, TypeParameter, TypePredicate, VarianceFlags, TypeListCache, TypeListTable, type ConditionalType, type InterfaceType, type TypeChecking, type ConditionalResultKey, type DistributedConditional } from './checker-types.js';
|
|
9
9
|
import type { ModuleResolution } from './checker-modules.js';
|
|
10
10
|
import { CheckerNameResolver, type LibGlobals, type MergedGlobals, TableChanges, SuggestionNameResolver } from './checker-symbols.js';
|
|
11
|
-
import { Relation, RelationKey, type InternedRelationKey, type Relater, TypeComparer } from './relations.js';
|
|
11
|
+
import { Relation, RelationKey, type InternedRelationKey, type Relater, TypeComparer, type VarianceStackEntry } from './relations.js';
|
|
12
12
|
import { TypeNodeVisitor } from './checker-source-file.js';
|
|
13
13
|
import { InferenceCaches } from './checker-inference.js';
|
|
14
14
|
import { AssignmentMarker, type FlowLoopInfo, type FlowState, type FlowWalk } from './checker-narrowing.js';
|
|
15
15
|
import type { FlowNode, FlowReduceLabel } from './flow.js';
|
|
16
16
|
import { JsxState } from './checker-jsx.js';
|
|
17
|
-
import type {
|
|
17
|
+
import type { IterationTypes } from './checker-iteration.js';
|
|
18
18
|
import type { SpreadIndices } from './checker-contextual.js';
|
|
19
19
|
import { SourceFileMetadata } from './program-utilities.js';
|
|
20
20
|
import type { GrammarChecker } from './checker-grammar.js';
|
|
21
21
|
import type { ResolvedModule } from './module-resolution-types.js';
|
|
22
22
|
import type { ModuleSpecifierHost } from './module-specifiers.js';
|
|
23
23
|
import type { PropertyListIndex } from './checker-members.js';
|
|
24
|
+
import { type ThreadSharing } from './shared-results.js';
|
|
24
25
|
/** What the checker needs from a program. */
|
|
25
26
|
export declare abstract class CheckerHost {
|
|
26
27
|
abstract getCompilerOptions(): CompilerOptions;
|
|
@@ -57,20 +58,34 @@ export declare abstract class CheckerHost {
|
|
|
57
58
|
/** What module specifier generation needs; without it, specifiers are relative paths. */
|
|
58
59
|
getModuleSpecifierHost(): ModuleSpecifierHost | undefined;
|
|
59
60
|
}
|
|
60
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* Per-file and global diagnostics, sorted on read like tsgo's DiagnosticsCollection, which keeps one of
|
|
63
|
+
* each set of equal diagnostics.
|
|
64
|
+
*/
|
|
61
65
|
declare class DiagnosticCollection {
|
|
62
66
|
private readonly byFile;
|
|
63
67
|
private readonly sortedFiles;
|
|
64
68
|
private readonly global;
|
|
65
69
|
private globalSorted;
|
|
66
|
-
/** The diagnostics
|
|
70
|
+
/** The diagnostics at each file, position, end and code, to find an equal one when adding. */
|
|
71
|
+
private readonly byLocation;
|
|
72
|
+
/** The diagnostics reported since `startLog`, while recording, also those equal to one already added. */
|
|
67
73
|
private log;
|
|
68
|
-
|
|
74
|
+
/** Adds `diagnostic` unless an equal one was added; returns the one the collection holds. */
|
|
75
|
+
add(diagnostic: Diagnostic): Diagnostic;
|
|
69
76
|
forFile(fileName: string): Diagnostic[];
|
|
70
77
|
count(): number;
|
|
71
78
|
/** An already reported diagnostic equal to `diagnostic`, if any. */
|
|
72
79
|
lookup(diagnostic: Diagnostic): Diagnostic | undefined;
|
|
73
80
|
globals(): Diagnostic[];
|
|
81
|
+
/** The global diagnostics `withoutNewGlobals` removed. */
|
|
82
|
+
removedGlobals: number;
|
|
83
|
+
/** Where results are shared between checker threads (shared-results.ts): every diagnostic added, in order. */
|
|
84
|
+
added: Diagnostic[] | undefined;
|
|
85
|
+
/** Runs `run`, then removes the global diagnostics it added. */
|
|
86
|
+
withoutNewGlobals<T>(run: () => T): T;
|
|
87
|
+
/** Removes the global diagnostic `diagnostic` from the location index. */
|
|
88
|
+
private forget;
|
|
74
89
|
/** Records the diagnostics added from now on. */
|
|
75
90
|
startLog(): void;
|
|
76
91
|
/** The diagnostics added since `startLog`, in order; stops recording. */
|
|
@@ -143,10 +158,20 @@ export declare class Checker implements TypeChecking {
|
|
|
143
158
|
readonly memberPositionsInLists: Map<Symbol[], Map<string, number>>;
|
|
144
159
|
/** The property names of the last instantiation of each such list whose table is built on demand. */
|
|
145
160
|
readonly memberNamesOfLists: Map<Symbol[], MemberNames>;
|
|
161
|
+
/** The property order of the instantiations of each such list (`NamedMemberOrder`); null where it has none. */
|
|
162
|
+
readonly namedMemberOrdersOfLists: Map<Symbol[], NamedMemberOrder | null>;
|
|
146
163
|
/** Long lists of inherited properties, by name. */
|
|
147
164
|
readonly propertiesByName: Map<Symbol[], Map<string, Symbol>>;
|
|
148
165
|
/** Number of `typeToString` calls in progress. */
|
|
149
166
|
serializationLevel: number;
|
|
167
|
+
/**
|
|
168
|
+
* `typeToString` results by type, enclosing declaration, flags and the type parameter of the variance check in
|
|
169
|
+
* progress: the prints that created no types, which a later print with the same inputs repeats exactly
|
|
170
|
+
* (`typeToString`).
|
|
171
|
+
*/
|
|
172
|
+
readonly typeStrings: Map<string, string>;
|
|
173
|
+
/** `symbolToString` results by symbol, then by enclosing declaration and flags, kept as `typeStrings` are. */
|
|
174
|
+
readonly symbolStrings: Map<Symbol, Map<string, string>>;
|
|
150
175
|
/** Whether `globalObjectType` is set; global type lookups before it can't suggest `typeof`. */
|
|
151
176
|
hasGlobalObjectType: boolean;
|
|
152
177
|
/** The node being checked, for errors with no better location. */
|
|
@@ -163,7 +188,7 @@ export declare class Checker implements TypeChecking {
|
|
|
163
188
|
*/
|
|
164
189
|
modulesMerged: boolean;
|
|
165
190
|
/** Module specifiers of `import("…")` types, by module symbol id, importing file path and resolution mode. */
|
|
166
|
-
readonly moduleSpecifiers: Map<string,
|
|
191
|
+
readonly moduleSpecifiers: Map<string, ModuleSpecifierResult>;
|
|
167
192
|
/** Specifier generation for hosts without a program. */
|
|
168
193
|
fallbackModuleSpecifierHost: ModuleSpecifierHost | undefined;
|
|
169
194
|
readonly symbolLinkTable: SparseLinkTable<SymbolLinks>;
|
|
@@ -184,24 +209,24 @@ export declare class Checker implements TypeChecking {
|
|
|
184
209
|
/** The mapper of an instantiated symbol or a mapped type property. */
|
|
185
210
|
readonly symbolMappers: LinkTable<TypeMapper>;
|
|
186
211
|
/** The literal type of a property name. */
|
|
187
|
-
readonly symbolNameTypes:
|
|
212
|
+
readonly symbolNameTypes: CompactLinkTable<Type>;
|
|
188
213
|
/** The mapped type of a mapped type property, or the union/intersection of a synthetic property. */
|
|
189
|
-
readonly symbolContainingTypes:
|
|
214
|
+
readonly symbolContainingTypes: CompactLinkTable<Type>;
|
|
190
215
|
/** The key type of a mapped type property. */
|
|
191
|
-
readonly symbolKeyTypes:
|
|
216
|
+
readonly symbolKeyTypes: CompactLinkTable<Type>;
|
|
192
217
|
/** The property a mapped, spread or synthetic property comes from. */
|
|
193
|
-
readonly symbolSyntheticOrigins:
|
|
218
|
+
readonly symbolSyntheticOrigins: CompactLinkTable<Symbol>;
|
|
194
219
|
/** The left and right properties a spread property combines. */
|
|
195
|
-
readonly symbolLeftSpreads:
|
|
196
|
-
readonly symbolRightSpreads:
|
|
220
|
+
readonly symbolLeftSpreads: CompactLinkTable<Symbol>;
|
|
221
|
+
readonly symbolRightSpreads: CompactLinkTable<Symbol>;
|
|
197
222
|
/** Bits of SymbolFlags for the meanings in which a symbol was referenced. */
|
|
198
|
-
readonly symbolReferenceKinds:
|
|
223
|
+
readonly symbolReferenceKinds: CompactIntLinkTable;
|
|
199
224
|
/** The resolved symbol of an identifier, entity name or call. */
|
|
200
|
-
readonly resolvedSymbols:
|
|
225
|
+
readonly resolvedSymbols: CompactLinkTable<Symbol>;
|
|
201
226
|
/** The resolved type of a type node or expression. */
|
|
202
|
-
readonly resolvedTypes:
|
|
227
|
+
readonly resolvedTypes: CompactLinkTable<Type>;
|
|
203
228
|
/** The resolved signature of a call-like node or a signature declaration. */
|
|
204
|
-
readonly resolvedSignatures:
|
|
229
|
+
readonly resolvedSignatures: CompactLinkTable<Signature>;
|
|
205
230
|
/** Merged symbols, indexed by the id of the symbol merged into them. */
|
|
206
231
|
readonly mergedSymbols: Map<number, Symbol>;
|
|
207
232
|
/**
|
|
@@ -364,13 +389,19 @@ export declare class Checker implements TypeChecking {
|
|
|
364
389
|
readonly moduleTypeCache: Map<string, Type>;
|
|
365
390
|
readonly globalSymbolCache: Map<string, Symbol | null>;
|
|
366
391
|
resolutionStart: number;
|
|
367
|
-
|
|
392
|
+
/** The generic types whose variances are being computed, outermost first. */
|
|
393
|
+
varianceStack: VarianceStackEntry[];
|
|
368
394
|
instantiationDepth: number;
|
|
395
|
+
/** The types being instantiated, outermost first: the first `instantiationDepth` entries are current. */
|
|
396
|
+
readonly instantiationStack: Type[];
|
|
397
|
+
/** The calls being resolved, outermost first: the first `callResolutionDepth` entries are current. */
|
|
398
|
+
readonly callResolutionStack: Node[];
|
|
399
|
+
callResolutionDepth: number;
|
|
369
400
|
instantiationCount: number;
|
|
370
401
|
/** Instantiations over the checker's lifetime (statistics). */
|
|
371
402
|
totalInstantiations: number;
|
|
372
|
-
/**
|
|
373
|
-
|
|
403
|
+
/** Ids of the mappers of the instantiations in progress: the first `activeMapperDepth` entries are live. */
|
|
404
|
+
activeMapperIds: Int32Array<ArrayBuffer>;
|
|
374
405
|
activeMapperDepth: number;
|
|
375
406
|
/** Per active mapper: its instantiations by type id, created on the first nested write. */
|
|
376
407
|
readonly activeMapperCaches: (Map<number, Type> | undefined)[];
|
|
@@ -385,20 +416,28 @@ export declare class Checker implements TypeChecking {
|
|
|
385
416
|
/** Empty lists for type arguments that are compared with cached instantiations before any is kept. */
|
|
386
417
|
readonly freeTypeLists: Type[][];
|
|
387
418
|
/**
|
|
388
|
-
*
|
|
419
|
+
* The ids of the anonymous and mapped types whose declaration has no outer type parameters
|
|
389
420
|
* to instantiate (`getObjectTypeInstantiation`).
|
|
390
421
|
*/
|
|
391
|
-
readonly withoutOuterTypeParameters:
|
|
422
|
+
readonly withoutOuterTypeParameters: PagedIdSet;
|
|
392
423
|
conditionalConstraintDepth: number;
|
|
393
424
|
readonly suggestionResolver: SuggestionNameResolver;
|
|
394
425
|
readonly awaitedTypeStack: number[];
|
|
395
426
|
/** Iteration types by type id and iteration use. */
|
|
396
427
|
readonly iterationTypesCache: Map<number, IterationTypes>;
|
|
397
|
-
/**
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
428
|
+
/**
|
|
429
|
+
* Diagnostics reported after the checks of the file being checked, or before the next global
|
|
430
|
+
* diagnostics are read, in the order they were deferred. Reporting them earlier could resolve types
|
|
431
|
+
* that are being resolved.
|
|
432
|
+
*/
|
|
433
|
+
deferredDiagnostics: (() => void)[];
|
|
434
|
+
/** Defers the diagnostic `report` reports at `node` (`deferredDiagnostics`). */
|
|
435
|
+
deferDiagnostic(node: Node, report: () => void): void;
|
|
436
|
+
/**
|
|
437
|
+
* The checked object literals of each file whose members may set deprecated properties of their contextual
|
|
438
|
+
* types, reported when the file's suggestion diagnostics are asked for (`checkObjectLiteralDeprecations`).
|
|
439
|
+
*/
|
|
440
|
+
readonly objectLiteralsForDeprecations: Map<SourceFile, Node[]>;
|
|
402
441
|
/** Binding patterns whose implied type is being computed as a contextual type. */
|
|
403
442
|
readonly contextualBindingPatterns: Node[];
|
|
404
443
|
/** The binding pattern or assignment pattern that implied each type. */
|
|
@@ -449,11 +488,13 @@ export declare class Checker implements TypeChecking {
|
|
|
449
488
|
flowTypeCache: Map<Node, Type> | undefined;
|
|
450
489
|
flowInvocationCount: number;
|
|
451
490
|
/** The reduce labels being passed, innermost last; each limits its target label's antecedents. */
|
|
452
|
-
|
|
491
|
+
flowReduceLabels: FlowReduceLabel[];
|
|
453
492
|
readonly flowNodeReachable: Map<FlowNode, boolean>;
|
|
454
493
|
readonly flowNodePostSuper: Map<FlowNode, boolean>;
|
|
455
494
|
lastFlowNode: FlowNode | undefined;
|
|
456
495
|
lastFlowNodeReachable: boolean;
|
|
496
|
+
/** Symbols whose explicit type is being found, for flow analysis of self-referential `for...of`. */
|
|
497
|
+
readonly resolvingExplicitTypeOfSymbol: Set<Symbol>;
|
|
457
498
|
readonly assignmentMarker: AssignmentMarker;
|
|
458
499
|
readonly primitiveTypeAliasSuggestions: Map<string, Symbol>;
|
|
459
500
|
/** Renamed binding elements in parameters of bodiless signatures, checked for use with their file. */
|
|
@@ -476,6 +517,9 @@ export declare class Checker implements TypeChecking {
|
|
|
476
517
|
readonly ambientModuleSymbols: Symbol[];
|
|
477
518
|
readonly patternAmbientModules: PatternAmbientModule[];
|
|
478
519
|
readonly patternAmbientModuleAugmentations: Map<string, Symbol>;
|
|
520
|
+
/** The pattern module each entry of `patternAmbientModuleAugmentations` augments. */
|
|
521
|
+
readonly patternAmbientModuleAugmentationTargets: Map<string, Symbol>;
|
|
522
|
+
readonly moduleImportAttributesTypes: Map<Symbol, Type>;
|
|
479
523
|
readonly inferenceCaches: InferenceCaches;
|
|
480
524
|
/** The type resolution stack: the first `resolutionDepth` entries are live, later slots are reused. */
|
|
481
525
|
readonly resolutionTargets: (Symbol | Type | Signature | Node)[];
|
|
@@ -484,6 +528,27 @@ export declare class Checker implements TypeChecking {
|
|
|
484
528
|
resolutionDepth: number;
|
|
485
529
|
/** The number of resolution cycles found (`pushTypeResolution`). */
|
|
486
530
|
resolutionCycleCount: number;
|
|
531
|
+
/**
|
|
532
|
+
* While an `inferTypesFromUnstarted` walk runs: the unions and intersections whose properties
|
|
533
|
+
* `hasUnmatchedProperty` searched before they were resolved. Such a search creates fewer types
|
|
534
|
+
* than one of the resolved properties.
|
|
535
|
+
*/
|
|
536
|
+
unresolvedPropertySearches: Type[] | undefined;
|
|
537
|
+
/** TSC_TS_SHARE: the checker thread's sharing with the other checker threads. */
|
|
538
|
+
threadSharing: ThreadSharing | undefined;
|
|
539
|
+
/**
|
|
540
|
+
* Where results are shared (shared-results.ts): for each conditional type made as a member of the distribution of a
|
|
541
|
+
* conditional type instantiation, that instantiation and the constituent it is for.
|
|
542
|
+
*/
|
|
543
|
+
distributedConditionals: Map<Type, DistributedConditional> | undefined;
|
|
544
|
+
/** The same members by `distributedKey`. */
|
|
545
|
+
distributedByKey: Map<string, Type> | undefined;
|
|
546
|
+
/** The conditional types conditional type instantiations resolved to, with the instantiation's root and key. */
|
|
547
|
+
conditionalResults: Map<Type, ConditionalResultKey> | undefined;
|
|
548
|
+
/** The access flags of the key `getIndexedAccessTypeEx` keeps each indexed access type by. */
|
|
549
|
+
indexedAccessKeyFlags: Map<Type, number> | undefined;
|
|
550
|
+
/** Where results are shared between checker threads (shared-results.ts): the file of each diagnostic deferred. */
|
|
551
|
+
deferredDiagnosticFiles: string[] | undefined;
|
|
487
552
|
constructor(host: CheckerHost);
|
|
488
553
|
/** Checks `file` if needed and returns its semantic diagnostics, sorted. */
|
|
489
554
|
getDiagnostics(file: SourceFile): Diagnostic[];
|
|
@@ -491,6 +556,13 @@ export declare class Checker implements TypeChecking {
|
|
|
491
556
|
getSuggestionDiagnostics(file: SourceFile): Diagnostic[];
|
|
492
557
|
/** Diagnostics without a file, such as missing global types. */
|
|
493
558
|
getGlobalDiagnostics(): Diagnostic[];
|
|
559
|
+
/**
|
|
560
|
+
* Runs `run` (such as emitting declarations), then forgets the global diagnostics it reported:
|
|
561
|
+
* the program collects global diagnostics before it emits.
|
|
562
|
+
*/
|
|
563
|
+
withoutGlobalDiagnostics<T>(run: () => T): T;
|
|
564
|
+
/** The global diagnostics `withoutGlobalDiagnostics` forgot so far. */
|
|
565
|
+
forgottenGlobalDiagnostics(): number;
|
|
494
566
|
/** The rarely used links of `symbol`, created on first use. */
|
|
495
567
|
symbolLinks(symbol: Symbol): SymbolLinks;
|
|
496
568
|
/** The links of `symbol` if it has any, without creating them. */
|
|
@@ -511,7 +583,8 @@ export declare class Checker implements TypeChecking {
|
|
|
511
583
|
newSignature(flags: SignatureFlags, declaration: Node | undefined, typeParameters: Type[], thisParameter: Symbol | undefined, parameters: Symbol[], resolvedReturnType: Type | undefined, minArgumentCount: number): Signature;
|
|
512
584
|
/** Reports `message` at `node`, or as a global diagnostic without a node. */
|
|
513
585
|
error(node: Node | undefined, message: DiagnosticMessage, ...args: string[]): Diagnostic;
|
|
514
|
-
|
|
586
|
+
/** Reports `diagnostic`; returns the equal diagnostic already reported, if any, else `diagnostic`. */
|
|
587
|
+
addDiagnostic(diagnostic: Diagnostic): Diagnostic;
|
|
515
588
|
addSuggestion(diagnostic: Diagnostic): void;
|
|
516
589
|
/** Reports an error, or a suggestion when `isError` is false. */
|
|
517
590
|
addErrorOrSuggestion(isError: boolean, diagnostic: Diagnostic): void;
|