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
|
@@ -517,6 +517,52 @@ export class MemberNames {
|
|
|
517
517
|
this.tableOrder = tableOrder;
|
|
518
518
|
}
|
|
519
519
|
}
|
|
520
|
+
/**
|
|
521
|
+
* The properties of the instantiations of one source without base types, as `getNamedMembers` orders them
|
|
522
|
+
* for `container`: the source positions of the named members in that order, and their names
|
|
523
|
+
* (`PropertyMembers`). The other members are skipped, so the named members are all of an instantiation's table.
|
|
524
|
+
*/
|
|
525
|
+
export class NamedMemberOrder {
|
|
526
|
+
container;
|
|
527
|
+
positions;
|
|
528
|
+
names;
|
|
529
|
+
constructor(container, positions, names) {
|
|
530
|
+
this.container = container;
|
|
531
|
+
this.positions = positions;
|
|
532
|
+
this.names = names;
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
/**
|
|
536
|
+
* What the pending instantiations of a declared members table share whatever their mapper: the members in
|
|
537
|
+
* table order, which of them are named (the others are skipped), and the members whose resolved type keeps
|
|
538
|
+
* them under any instantiation (`keepsSymbolTypeUnderInstantiation`), found so far.
|
|
539
|
+
*/
|
|
540
|
+
export class DeclaredMemberPlan {
|
|
541
|
+
table;
|
|
542
|
+
/**
|
|
543
|
+
* Whether instantiations build the table eagerly: tsgo's table wouldn't be keyed by symbol names, or an
|
|
544
|
+
* own member could be replaced by an inherited one. The other fields are then incomplete.
|
|
545
|
+
*/
|
|
546
|
+
eager;
|
|
547
|
+
members;
|
|
548
|
+
/** 1 for a named member, 0 for a skipped one, by position. */
|
|
549
|
+
named;
|
|
550
|
+
/** Bits by position: the member's type keeps it under instantiation. Set when found, never cleared. */
|
|
551
|
+
keptByType;
|
|
552
|
+
hasOwnMembers;
|
|
553
|
+
hasRequiredOwnMembers;
|
|
554
|
+
constructor(table, eager, members, named, hasOwnMembers, hasRequiredOwnMembers) {
|
|
555
|
+
this.table = table;
|
|
556
|
+
this.eager = eager;
|
|
557
|
+
this.members = members;
|
|
558
|
+
this.named = named;
|
|
559
|
+
this.keptByType = [];
|
|
560
|
+
for (let i = 0; i < members.length; i += 32)
|
|
561
|
+
this.keptByType.push(0);
|
|
562
|
+
this.hasOwnMembers = hasOwnMembers;
|
|
563
|
+
this.hasRequiredOwnMembers = hasRequiredOwnMembers;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
520
566
|
/** A type with members: object types, unions and intersections. */
|
|
521
567
|
export class StructuredType extends Type {
|
|
522
568
|
membersValue;
|
|
@@ -613,6 +659,10 @@ export class InterfaceType extends TypeReference {
|
|
|
613
659
|
declaredIndexInfos;
|
|
614
660
|
/** Positions of the declared members by name, for lazily instantiated members of instantiations. */
|
|
615
661
|
declaredMemberPositions;
|
|
662
|
+
/** The property order of instantiations (`NamedMemberOrder`); null where it can't be cached. */
|
|
663
|
+
namedMemberOrder;
|
|
664
|
+
/** What pending instantiations of the declared members share (`DeclaredMemberPlan`). */
|
|
665
|
+
declaredMemberPlan;
|
|
616
666
|
/** The member states of the last pending instantiation of the type's members (`sharedStates`). */
|
|
617
667
|
lastMemberStates;
|
|
618
668
|
/** The property names of the last instantiation whose members table is built on demand. */
|
|
@@ -626,6 +676,8 @@ export class InterfaceType extends TypeReference {
|
|
|
626
676
|
this.references = undefined;
|
|
627
677
|
this.checking = undefined;
|
|
628
678
|
this.declaredMemberPositions = undefined;
|
|
679
|
+
this.namedMemberOrder = undefined;
|
|
680
|
+
this.declaredMemberPlan = undefined;
|
|
629
681
|
this.lastMemberStates = undefined;
|
|
630
682
|
this.lastMemberNames = undefined;
|
|
631
683
|
this.allTypeParameters = emptyTypes;
|
|
@@ -863,16 +915,39 @@ export class TypeParameter extends Type {
|
|
|
863
915
|
target;
|
|
864
916
|
mapper;
|
|
865
917
|
isThisType;
|
|
918
|
+
/**
|
|
919
|
+
* A type parameter as referenced inside a distributive conditional type on it, which stands for each
|
|
920
|
+
* constituent in turn; its constraint is the type parameter it was made from (`getDistributedTypeParameter`).
|
|
921
|
+
*/
|
|
922
|
+
isDistributed;
|
|
866
923
|
resolvedDefaultType;
|
|
924
|
+
/** The distributed form of this type parameter, made on first use. */
|
|
925
|
+
distributedType;
|
|
867
926
|
constructor(id, symbol) {
|
|
868
927
|
super(524288 /* TypeFlags.TypeParameter */, 0 /* ObjectFlags.None */, id, symbol);
|
|
869
928
|
this.constraint = undefined;
|
|
870
929
|
this.target = undefined;
|
|
871
930
|
this.mapper = undefined;
|
|
872
931
|
this.isThisType = false;
|
|
932
|
+
this.isDistributed = false;
|
|
873
933
|
this.resolvedDefaultType = undefined;
|
|
934
|
+
this.distributedType = undefined;
|
|
874
935
|
}
|
|
875
936
|
}
|
|
937
|
+
/** Whether `t` is the distributed form of a type parameter. */
|
|
938
|
+
export function isDistributedTypeParameter(t) {
|
|
939
|
+
return (t.flags & 524288 /* TypeFlags.TypeParameter */) !== 0 && t.isDistributed;
|
|
940
|
+
}
|
|
941
|
+
/** The type parameter a distributed type parameter was made from; other types as they are. */
|
|
942
|
+
export function getNonDistributedTypeParameter(t) {
|
|
943
|
+
return (t.flags & 524288 /* TypeFlags.TypeParameter */) !== 0 && t.isDistributed
|
|
944
|
+
? t.constraint
|
|
945
|
+
: t;
|
|
946
|
+
}
|
|
947
|
+
/** What `mapper` maps `t` to, a distributed type parameter as the type parameter it was made from. */
|
|
948
|
+
export function getMappedType(t, mapper) {
|
|
949
|
+
return mapper.map(getNonDistributedTypeParameter(t));
|
|
950
|
+
}
|
|
876
951
|
/** `keyof T`. */
|
|
877
952
|
export class IndexType extends Type {
|
|
878
953
|
target;
|
|
@@ -1189,8 +1264,15 @@ export const emptyTypes = [];
|
|
|
1189
1264
|
export const emptySymbols = [];
|
|
1190
1265
|
export const emptySignatures = [];
|
|
1191
1266
|
export const emptyIndexInfos = [];
|
|
1267
|
+
/** The id of the next mapper this thread creates. */
|
|
1268
|
+
let nextTypeMapperId = 0;
|
|
1192
1269
|
/** Maps type parameters to types. Subclasses replace tsgo's function mappers. */
|
|
1193
1270
|
export class TypeMapper {
|
|
1271
|
+
/**
|
|
1272
|
+
* A number for the mapper, unique among the mappers this thread creates (until it wraps at 2^31), so the
|
|
1273
|
+
* stack of active mappers can be searched by id instead of by reference.
|
|
1274
|
+
*/
|
|
1275
|
+
id = (nextTypeMapperId = (nextTypeMapperId + 1) | 0);
|
|
1194
1276
|
kind() {
|
|
1195
1277
|
return 0 /* TypeMapperKind.Unknown */;
|
|
1196
1278
|
}
|
|
@@ -1359,11 +1441,11 @@ export function mergeTypeMappers(m1, m2) {
|
|
|
1359
1441
|
return m1 !== undefined ? new MergedTypeMapper(m1, m2) : m2;
|
|
1360
1442
|
}
|
|
1361
1443
|
export function prependTypeMapping(source, target, mapper) {
|
|
1362
|
-
const simple = new SimpleTypeMapper(source, target);
|
|
1444
|
+
const simple = new SimpleTypeMapper(getNonDistributedTypeParameter(source), target);
|
|
1363
1445
|
return mapper === undefined ? simple : new MergedTypeMapper(simple, mapper);
|
|
1364
1446
|
}
|
|
1365
1447
|
export function appendTypeMapping(mapper, source, target) {
|
|
1366
|
-
const simple = new SimpleTypeMapper(source, target);
|
|
1448
|
+
const simple = new SimpleTypeMapper(getNonDistributedTypeParameter(source), target);
|
|
1367
1449
|
return mapper === undefined ? simple : new MergedTypeMapper(mapper, simple);
|
|
1368
1450
|
}
|
|
1369
1451
|
// ---- Links
|
|
@@ -1514,6 +1596,15 @@ export class SymbolLinks {
|
|
|
1514
1596
|
return;
|
|
1515
1597
|
this.rare().enumChecked = value;
|
|
1516
1598
|
}
|
|
1599
|
+
get mergedExportsChecked() {
|
|
1600
|
+
const rare = this.rareLinks;
|
|
1601
|
+
return rare === undefined ? false : rare.mergedExportsChecked;
|
|
1602
|
+
}
|
|
1603
|
+
set mergedExportsChecked(value) {
|
|
1604
|
+
if (value === false && this.rareLinks === undefined)
|
|
1605
|
+
return;
|
|
1606
|
+
this.rare().mergedExportsChecked = value;
|
|
1607
|
+
}
|
|
1517
1608
|
get variances() {
|
|
1518
1609
|
const rare = this.rareLinks;
|
|
1519
1610
|
return rare === undefined ? undefined : rare.variances;
|
|
@@ -1614,6 +1705,7 @@ export class RareSymbolLinks {
|
|
|
1614
1705
|
indexSignaturesChecked;
|
|
1615
1706
|
typeParametersChecked;
|
|
1616
1707
|
enumChecked;
|
|
1708
|
+
mergedExportsChecked;
|
|
1617
1709
|
variances;
|
|
1618
1710
|
// Assignment tracking
|
|
1619
1711
|
lastAssignmentPos;
|
|
@@ -1640,6 +1732,7 @@ export class RareSymbolLinks {
|
|
|
1640
1732
|
this.indexSignaturesChecked = false;
|
|
1641
1733
|
this.typeParametersChecked = false;
|
|
1642
1734
|
this.enumChecked = false;
|
|
1735
|
+
this.mergedExportsChecked = false;
|
|
1643
1736
|
this.variances = undefined;
|
|
1644
1737
|
this.lastAssignmentPos = 0;
|
|
1645
1738
|
this.hasDefiniteAssignment = false;
|
|
@@ -1872,3 +1965,29 @@ export class RareNodeLinks {
|
|
|
1872
1965
|
this.mentionsArguments = 0;
|
|
1873
1966
|
}
|
|
1874
1967
|
}
|
|
1968
|
+
/** A conditional type made as a member of a distribution: the instantiation's key, and the constituent it is for. */
|
|
1969
|
+
export class DistributedConditional {
|
|
1970
|
+
typeArguments;
|
|
1971
|
+
alias;
|
|
1972
|
+
tag;
|
|
1973
|
+
constituent;
|
|
1974
|
+
constructor(typeArguments, alias, tag, constituent) {
|
|
1975
|
+
this.typeArguments = typeArguments;
|
|
1976
|
+
this.alias = alias;
|
|
1977
|
+
this.tag = tag;
|
|
1978
|
+
this.constituent = constituent;
|
|
1979
|
+
}
|
|
1980
|
+
}
|
|
1981
|
+
/** The instantiation of a conditional type whose result is a conditional type: its root and key. */
|
|
1982
|
+
export class ConditionalResultKey {
|
|
1983
|
+
root;
|
|
1984
|
+
typeArguments;
|
|
1985
|
+
alias;
|
|
1986
|
+
tag;
|
|
1987
|
+
constructor(root, typeArguments, alias, tag) {
|
|
1988
|
+
this.root = root;
|
|
1989
|
+
this.typeArguments = typeArguments;
|
|
1990
|
+
this.alias = alias;
|
|
1991
|
+
this.tag = tag;
|
|
1992
|
+
}
|
|
1993
|
+
}
|