tsc-ts 0.0.4 → 0.0.5
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 +33 -1
- package/dist/api/compiler/ast-utilities.d.ts +82 -0
- package/dist/api/compiler/ast-utilities.js +462 -0
- package/dist/api/compiler/ast.d.ts +2350 -0
- package/dist/api/compiler/ast.js +11206 -0
- package/dist/api/compiler/astnav.d.ts +37 -0
- package/dist/api/compiler/astnav.js +767 -0
- package/dist/api/compiler/binder-utilities.d.ts +182 -0
- package/dist/api/compiler/binder-utilities.js +1240 -0
- package/dist/api/compiler/binder.d.ts +33 -0
- package/dist/api/compiler/binder.js +2358 -0
- package/dist/api/compiler/character-codes.d.ts +161 -0
- package/dist/api/compiler/character-codes.js +160 -0
- package/dist/api/compiler/checker-calls.d.ts +46 -0
- package/dist/api/compiler/checker-calls.js +1640 -0
- package/dist/api/compiler/checker-classes.d.ts +30 -0
- package/dist/api/compiler/checker-classes.js +582 -0
- package/dist/api/compiler/checker-contextual.d.ts +77 -0
- package/dist/api/compiler/checker-contextual.js +1136 -0
- package/dist/api/compiler/checker-declaration-order.d.ts +12 -0
- package/dist/api/compiler/checker-declaration-order.js +356 -0
- package/dist/api/compiler/checker-declarations.d.ts +33 -0
- package/dist/api/compiler/checker-declarations.js +888 -0
- package/dist/api/compiler/checker-declared-types.d.ts +48 -0
- package/dist/api/compiler/checker-declared-types.js +787 -0
- package/dist/api/compiler/checker-decorators.d.ts +26 -0
- package/dist/api/compiler/checker-decorators.js +562 -0
- package/dist/api/compiler/checker-deprecation.d.ts +33 -0
- package/dist/api/compiler/checker-deprecation.js +315 -0
- package/dist/api/compiler/checker-destructuring.d.ts +34 -0
- package/dist/api/compiler/checker-destructuring.js +584 -0
- package/dist/api/compiler/checker-elaboration.d.ts +15 -0
- package/dist/api/compiler/checker-elaboration.js +290 -0
- package/dist/api/compiler/checker-emit-helpers.d.ts +58 -0
- package/dist/api/compiler/checker-emit-helpers.js +154 -0
- package/dist/api/compiler/checker-emit-resolver.d.ts +75 -0
- package/dist/api/compiler/checker-emit-resolver.js +579 -0
- package/dist/api/compiler/checker-evaluator.d.ts +27 -0
- package/dist/api/compiler/checker-evaluator.js +188 -0
- package/dist/api/compiler/checker-expressions.d.ts +67 -0
- package/dist/api/compiler/checker-expressions.js +1351 -0
- package/dist/api/compiler/checker-features.d.ts +6 -0
- package/dist/api/compiler/checker-features.js +354 -0
- package/dist/api/compiler/checker-flow.d.ts +86 -0
- package/dist/api/compiler/checker-flow.js +169 -0
- package/dist/api/compiler/checker-functions.d.ts +43 -0
- package/dist/api/compiler/checker-functions.js +1002 -0
- package/dist/api/compiler/checker-generated-code.d.ts +25 -0
- package/dist/api/compiler/checker-generated-code.js +168 -0
- package/dist/api/compiler/checker-globals.d.ts +14 -0
- package/dist/api/compiler/checker-globals.js +37 -0
- package/dist/api/compiler/checker-grammar.d.ts +35 -0
- package/dist/api/compiler/checker-grammar.js +2573 -0
- package/dist/api/compiler/checker-heritage.d.ts +28 -0
- package/dist/api/compiler/checker-heritage.js +900 -0
- package/dist/api/compiler/checker-inference.d.ts +179 -0
- package/dist/api/compiler/checker-inference.js +2105 -0
- package/dist/api/compiler/checker-iteration.d.ts +115 -0
- package/dist/api/compiler/checker-iteration.js +857 -0
- package/dist/api/compiler/checker-javascript.d.ts +42 -0
- package/dist/api/compiler/checker-javascript.js +441 -0
- package/dist/api/compiler/checker-jsdoc.d.ts +30 -0
- package/dist/api/compiler/checker-jsdoc.js +320 -0
- package/dist/api/compiler/checker-jsx.d.ts +94 -0
- package/dist/api/compiler/checker-jsx.js +1433 -0
- package/dist/api/compiler/checker-literals.d.ts +6 -0
- package/dist/api/compiler/checker-literals.js +43 -0
- package/dist/api/compiler/checker-members.d.ts +198 -0
- package/dist/api/compiler/checker-members.js +2126 -0
- package/dist/api/compiler/checker-modules.d.ts +85 -0
- package/dist/api/compiler/checker-modules.js +2141 -0
- package/dist/api/compiler/checker-narrowing.d.ts +120 -0
- package/dist/api/compiler/checker-narrowing.js +2797 -0
- package/dist/api/compiler/checker-object-literals.d.ts +14 -0
- package/dist/api/compiler/checker-object-literals.js +479 -0
- package/dist/api/compiler/checker-operators.d.ts +33 -0
- package/dist/api/compiler/checker-operators.js +1040 -0
- package/dist/api/compiler/checker-overloads.d.ts +7 -0
- package/dist/api/compiler/checker-overloads.js +270 -0
- package/dist/api/compiler/checker-property-access.d.ts +34 -0
- package/dist/api/compiler/checker-property-access.js +672 -0
- package/dist/api/compiler/checker-services.d.ts +49 -0
- package/dist/api/compiler/checker-services.js +995 -0
- package/dist/api/compiler/checker-signatures.d.ts +55 -0
- package/dist/api/compiler/checker-signatures.js +788 -0
- package/dist/api/compiler/checker-source-file.d.ts +27 -0
- package/dist/api/compiler/checker-source-file.js +619 -0
- package/dist/api/compiler/checker-statements.d.ts +18 -0
- package/dist/api/compiler/checker-statements.js +226 -0
- package/dist/api/compiler/checker-super.d.ts +13 -0
- package/dist/api/compiler/checker-super.js +241 -0
- package/dist/api/compiler/checker-symbol-types.d.ts +67 -0
- package/dist/api/compiler/checker-symbol-types.js +1885 -0
- package/dist/api/compiler/checker-symbols.d.ts +181 -0
- package/dist/api/compiler/checker-symbols.js +1782 -0
- package/dist/api/compiler/checker-type-factory.d.ts +142 -0
- package/dist/api/compiler/checker-type-factory.js +2501 -0
- package/dist/api/compiler/checker-type-nodes.d.ts +26 -0
- package/dist/api/compiler/checker-type-nodes.js +828 -0
- package/dist/api/compiler/checker-type-operators.d.ts +109 -0
- package/dist/api/compiler/checker-type-operators.js +1842 -0
- package/dist/api/compiler/checker-types.d.ts +1027 -0
- package/dist/api/compiler/checker-types.js +1697 -0
- package/dist/api/compiler/checker-unused.d.ts +19 -0
- package/dist/api/compiler/checker-unused.js +524 -0
- package/dist/api/compiler/checker-utilities.d.ts +33 -0
- package/dist/api/compiler/checker-utilities.js +141 -0
- package/dist/api/compiler/checker.d.ts +491 -0
- package/dist/api/compiler/checker.js +912 -0
- package/dist/api/compiler/command-line.d.ts +32 -0
- package/dist/api/compiler/command-line.js +383 -0
- package/dist/api/compiler/compile-program.d.ts +118 -0
- package/dist/api/compiler/compile-program.js +384 -0
- package/dist/api/compiler/diagnostic-locales.d.ts +22 -0
- package/dist/api/compiler/diagnostic-locales.js +64 -0
- package/dist/api/compiler/diagnostic-messages.d.ts +2166 -0
- package/dist/api/compiler/diagnostic-messages.js +184 -0
- package/dist/api/compiler/diagnostics.d.ts +167 -0
- package/dist/api/compiler/diagnostics.js +820 -0
- package/dist/api/compiler/emitter.d.ts +71 -0
- package/dist/api/compiler/emitter.js +327 -0
- package/dist/api/compiler/file-include.d.ts +117 -0
- package/dist/api/compiler/file-include.js +536 -0
- package/dist/api/compiler/file-loader.d.ts +261 -0
- package/dist/api/compiler/file-loader.js +1257 -0
- package/dist/api/compiler/file-system.d.ts +51 -0
- package/dist/api/compiler/file-system.js +132 -0
- package/dist/api/compiler/flow.d.ts +60 -0
- package/dist/api/compiler/flow.js +45 -0
- package/dist/api/compiler/instantiation.d.ts +74 -0
- package/dist/api/compiler/instantiation.js +799 -0
- package/dist/api/compiler/jsdoc.d.ts +75 -0
- package/dist/api/compiler/jsdoc.js +1229 -0
- package/dist/api/compiler/link-tables.d.ts +36 -0
- package/dist/api/compiler/link-tables.js +83 -0
- package/dist/api/compiler/locale-data.d.ts +24 -0
- package/dist/api/compiler/locale-data.js +183 -0
- package/dist/api/compiler/locale.d.ts +4 -0
- package/dist/api/compiler/locale.js +317 -0
- package/dist/api/compiler/locales/cs-CZ.d.ts +2 -0
- package/dist/api/compiler/locales/cs-CZ.js +3 -0
- package/dist/api/compiler/locales/de-DE.d.ts +2 -0
- package/dist/api/compiler/locales/de-DE.js +3 -0
- package/dist/api/compiler/locales/es-ES.d.ts +2 -0
- package/dist/api/compiler/locales/es-ES.js +3 -0
- package/dist/api/compiler/locales/fr-FR.d.ts +2 -0
- package/dist/api/compiler/locales/fr-FR.js +3 -0
- package/dist/api/compiler/locales/it-IT.d.ts +2 -0
- package/dist/api/compiler/locales/it-IT.js +3 -0
- package/dist/api/compiler/locales/ja-JP.d.ts +2 -0
- package/dist/api/compiler/locales/ja-JP.js +3 -0
- package/dist/api/compiler/locales/ko-KR.d.ts +2 -0
- package/dist/api/compiler/locales/ko-KR.js +3 -0
- package/dist/api/compiler/locales/pl-PL.d.ts +2 -0
- package/dist/api/compiler/locales/pl-PL.js +3 -0
- package/dist/api/compiler/locales/pt-BR.d.ts +2 -0
- package/dist/api/compiler/locales/pt-BR.js +3 -0
- package/dist/api/compiler/locales/ru-RU.d.ts +2 -0
- package/dist/api/compiler/locales/ru-RU.js +3 -0
- package/dist/api/compiler/locales/tr-TR.d.ts +2 -0
- package/dist/api/compiler/locales/tr-TR.js +3 -0
- package/dist/api/compiler/locales/zh-CN.d.ts +2 -0
- package/dist/api/compiler/locales/zh-CN.js +3 -0
- package/dist/api/compiler/locales/zh-TW.d.ts +2 -0
- package/dist/api/compiler/locales/zh-TW.js +3 -0
- package/dist/api/compiler/module-resolution-types.d.ts +83 -0
- package/dist/api/compiler/module-resolution-types.js +176 -0
- package/dist/api/compiler/module-resolution.d.ts +71 -0
- package/dist/api/compiler/module-resolution.js +1598 -0
- package/dist/api/compiler/module-specifiers.d.ts +64 -0
- package/dist/api/compiler/module-specifiers.js +1101 -0
- package/dist/api/compiler/name-resolver.d.ts +43 -0
- package/dist/api/compiler/name-resolver.js +509 -0
- package/dist/api/compiler/node-builder-names.d.ts +32 -0
- package/dist/api/compiler/node-builder-names.js +854 -0
- package/dist/api/compiler/node-builder-pseudo.d.ts +36 -0
- package/dist/api/compiler/node-builder-pseudo.js +744 -0
- package/dist/api/compiler/node-builder-reuse.d.ts +4 -0
- package/dist/api/compiler/node-builder-reuse.js +647 -0
- package/dist/api/compiler/node-builder.d.ts +270 -0
- package/dist/api/compiler/node-builder.js +2645 -0
- package/dist/api/compiler/option-declarations.d.ts +90 -0
- package/dist/api/compiler/option-declarations.js +1460 -0
- package/dist/api/compiler/options.d.ts +289 -0
- package/dist/api/compiler/options.js +1197 -0
- package/dist/api/compiler/output-paths.d.ts +42 -0
- package/dist/api/compiler/output-paths.js +195 -0
- package/dist/api/compiler/package-json.d.ts +175 -0
- package/dist/api/compiler/package-json.js +1015 -0
- package/dist/api/compiler/parallel-parse.d.ts +219 -0
- package/dist/api/compiler/parallel-parse.js +537 -0
- package/dist/api/compiler/parser.d.ts +587 -0
- package/dist/api/compiler/parser.js +6407 -0
- package/dist/api/compiler/path.d.ts +91 -0
- package/dist/api/compiler/path.js +705 -0
- package/dist/api/compiler/printer/async-helpers.d.ts +22 -0
- package/dist/api/compiler/printer/async-helpers.js +91 -0
- package/dist/api/compiler/printer/auto-generate.d.ts +13 -0
- package/dist/api/compiler/printer/auto-generate.js +20 -0
- package/dist/api/compiler/printer/decorator-helpers.d.ts +24 -0
- package/dist/api/compiler/printer/decorator-helpers.js +118 -0
- package/dist/api/compiler/printer/emit-context.d.ts +154 -0
- package/dist/api/compiler/printer/emit-context.js +576 -0
- package/dist/api/compiler/printer/emit-flags.d.ts +60 -0
- package/dist/api/compiler/printer/emit-flags.js +2 -0
- package/dist/api/compiler/printer/factory-base.d.ts +171 -0
- package/dist/api/compiler/printer/factory-base.js +1505 -0
- package/dist/api/compiler/printer/factory.d.ts +147 -0
- package/dist/api/compiler/printer/factory.js +542 -0
- package/dist/api/compiler/printer/helpers.d.ts +27 -0
- package/dist/api/compiler/printer/helpers.js +164 -0
- package/dist/api/compiler/printer/name-generator.d.ts +41 -0
- package/dist/api/compiler/printer/name-generator.js +283 -0
- package/dist/api/compiler/printer/printer.d.ts +411 -0
- package/dist/api/compiler/printer/printer.js +4517 -0
- package/dist/api/compiler/printer/text-writer.d.ts +46 -0
- package/dist/api/compiler/printer/text-writer.js +172 -0
- package/dist/api/compiler/printer/utilities.d.ts +82 -0
- package/dist/api/compiler/printer/utilities.js +817 -0
- package/dist/api/compiler/program-checker.d.ts +156 -0
- package/dist/api/compiler/program-checker.js +526 -0
- package/dist/api/compiler/program-utilities.d.ts +52 -0
- package/dist/api/compiler/program-utilities.js +365 -0
- package/dist/api/compiler/program.d.ts +180 -0
- package/dist/api/compiler/program.js +1011 -0
- package/dist/api/compiler/pseudo-bigint.d.ts +5 -0
- package/dist/api/compiler/pseudo-bigint.js +61 -0
- package/dist/api/compiler/regexp-checker.d.ts +38 -0
- package/dist/api/compiler/regexp-checker.js +942 -0
- package/dist/api/compiler/relations.d.ts +263 -0
- package/dist/api/compiler/relations.js +4002 -0
- package/dist/api/compiler/reparser.d.ts +48 -0
- package/dist/api/compiler/reparser.js +1323 -0
- package/dist/api/compiler/scanner.d.ts +256 -0
- package/dist/api/compiler/scanner.js +2853 -0
- package/dist/api/compiler/side-state.d.ts +16 -0
- package/dist/api/compiler/side-state.js +89 -0
- package/dist/api/compiler/sourcemap.d.ts +55 -0
- package/dist/api/compiler/sourcemap.js +340 -0
- package/dist/api/compiler/spelling.d.ts +14 -0
- package/dist/api/compiler/spelling.js +128 -0
- package/dist/api/compiler/symbol-accessibility.d.ts +57 -0
- package/dist/api/compiler/symbol-accessibility.js +894 -0
- package/dist/api/compiler/symbol.d.ts +240 -0
- package/dist/api/compiler/symbol.js +228 -0
- package/dist/api/compiler/symlinks.d.ts +32 -0
- package/dist/api/compiler/symlinks.js +114 -0
- package/dist/api/compiler/syntax-kind.d.ts +389 -0
- package/dist/api/compiler/syntax-kind.js +2 -0
- package/dist/api/compiler/timeline.d.ts +9 -0
- package/dist/api/compiler/timeline.js +54 -0
- package/dist/api/compiler/transformers/alias-references.d.ts +39 -0
- package/dist/api/compiler/transformers/alias-references.js +676 -0
- package/dist/api/compiler/transformers/async-utilities.d.ts +51 -0
- package/dist/api/compiler/transformers/async-utilities.js +260 -0
- package/dist/api/compiler/transformers/async.d.ts +53 -0
- package/dist/api/compiler/transformers/async.js +645 -0
- package/dist/api/compiler/transformers/class-fields.d.ts +206 -0
- package/dist/api/compiler/transformers/class-fields.js +2418 -0
- package/dist/api/compiler/transformers/class-utilities.d.ts +46 -0
- package/dist/api/compiler/transformers/class-utilities.js +261 -0
- package/dist/api/compiler/transformers/commonjs-module.d.ts +103 -0
- package/dist/api/compiler/transformers/commonjs-module.js +1180 -0
- package/dist/api/compiler/transformers/const-enum-inliner.d.ts +11 -0
- package/dist/api/compiler/transformers/const-enum-inliner.js +36 -0
- package/dist/api/compiler/transformers/declarations-diagnostics.d.ts +52 -0
- package/dist/api/compiler/transformers/declarations-diagnostics.js +538 -0
- package/dist/api/compiler/transformers/declarations-pseudo.d.ts +160 -0
- package/dist/api/compiler/transformers/declarations-pseudo.js +797 -0
- package/dist/api/compiler/transformers/declarations-resolver.d.ts +152 -0
- package/dist/api/compiler/transformers/declarations-resolver.js +35 -0
- package/dist/api/compiler/transformers/declarations-syntactic.d.ts +119 -0
- package/dist/api/compiler/transformers/declarations-syntactic.js +1582 -0
- package/dist/api/compiler/transformers/declarations-tracker.d.ts +46 -0
- package/dist/api/compiler/transformers/declarations-tracker.js +197 -0
- package/dist/api/compiler/transformers/declarations.d.ts +175 -0
- package/dist/api/compiler/transformers/declarations.js +2380 -0
- package/dist/api/compiler/transformers/decorator-metadata.d.ts +54 -0
- package/dist/api/compiler/transformers/decorator-metadata.js +554 -0
- package/dist/api/compiler/transformers/decorator-utilities.d.ts +38 -0
- package/dist/api/compiler/transformers/decorator-utilities.js +238 -0
- package/dist/api/compiler/transformers/destructuring.d.ts +25 -0
- package/dist/api/compiler/transformers/destructuring.js +626 -0
- package/dist/api/compiler/transformers/downlevel.d.ts +6 -0
- package/dist/api/compiler/transformers/downlevel.js +45 -0
- package/dist/api/compiler/transformers/emit-resolver.d.ts +61 -0
- package/dist/api/compiler/transformers/emit-resolver.js +197 -0
- package/dist/api/compiler/transformers/es-decorators.d.ts +118 -0
- package/dist/api/compiler/transformers/es-decorators.js +1901 -0
- package/dist/api/compiler/transformers/exponentiation.d.ts +11 -0
- package/dist/api/compiler/transformers/exponentiation.js +76 -0
- package/dist/api/compiler/transformers/external-module-info.d.ts +35 -0
- package/dist/api/compiler/transformers/external-module-info.js +351 -0
- package/dist/api/compiler/transformers/for-await.d.ts +43 -0
- package/dist/api/compiler/transformers/for-await.js +469 -0
- package/dist/api/compiler/transformers/import-elision.d.ts +16 -0
- package/dist/api/compiler/transformers/import-elision.js +124 -0
- package/dist/api/compiler/transformers/jsx-entities.d.ts +1 -0
- package/dist/api/compiler/transformers/jsx-entities.js +256 -0
- package/dist/api/compiler/transformers/jsx.d.ts +71 -0
- package/dist/api/compiler/transformers/jsx.js +700 -0
- package/dist/api/compiler/transformers/legacy-decorators.d.ts +56 -0
- package/dist/api/compiler/transformers/legacy-decorators.js +564 -0
- package/dist/api/compiler/transformers/logical-assignment.d.ts +14 -0
- package/dist/api/compiler/transformers/logical-assignment.js +62 -0
- package/dist/api/compiler/transformers/module-utilities.d.ts +9 -0
- package/dist/api/compiler/transformers/module-utilities.js +36 -0
- package/dist/api/compiler/transformers/module.d.ts +49 -0
- package/dist/api/compiler/transformers/module.js +296 -0
- package/dist/api/compiler/transformers/named-evaluation.d.ts +26 -0
- package/dist/api/compiler/transformers/named-evaluation.js +266 -0
- package/dist/api/compiler/transformers/nullish-coalescing.d.ts +9 -0
- package/dist/api/compiler/transformers/nullish-coalescing.js +26 -0
- package/dist/api/compiler/transformers/object-rest-spread.d.ts +34 -0
- package/dist/api/compiler/transformers/object-rest-spread.js +411 -0
- package/dist/api/compiler/transformers/optional-catch.d.ts +9 -0
- package/dist/api/compiler/transformers/optional-catch.js +20 -0
- package/dist/api/compiler/transformers/optional-chain.d.ts +14 -0
- package/dist/api/compiler/transformers/optional-chain.js +188 -0
- package/dist/api/compiler/transformers/reference-resolver.d.ts +128 -0
- package/dist/api/compiler/transformers/reference-resolver.js +1155 -0
- package/dist/api/compiler/transformers/runtime-syntax.d.ts +71 -0
- package/dist/api/compiler/transformers/runtime-syntax.js +753 -0
- package/dist/api/compiler/transformers/subtree-facts.d.ts +9 -0
- package/dist/api/compiler/transformers/subtree-facts.js +203 -0
- package/dist/api/compiler/transformers/syntax-facts.d.ts +51 -0
- package/dist/api/compiler/transformers/syntax-facts.js +254 -0
- package/dist/api/compiler/transformers/tagged-template.d.ts +17 -0
- package/dist/api/compiler/transformers/tagged-template.js +148 -0
- package/dist/api/compiler/transformers/transformer.d.ts +17 -0
- package/dist/api/compiler/transformers/transformer.js +54 -0
- package/dist/api/compiler/transformers/type-eraser.d.ts +21 -0
- package/dist/api/compiler/transformers/type-eraser.js +346 -0
- package/dist/api/compiler/transformers/type-serialization.d.ts +20 -0
- package/dist/api/compiler/transformers/type-serialization.js +347 -0
- package/dist/api/compiler/transformers/using.d.ts +56 -0
- package/dist/api/compiler/transformers/using.js +453 -0
- package/dist/api/compiler/transformers/utilities.d.ts +50 -0
- package/dist/api/compiler/transformers/utilities.js +347 -0
- package/dist/api/compiler/transformers/visitor-base.d.ts +6 -0
- package/dist/api/compiler/transformers/visitor-base.js +817 -0
- package/dist/api/compiler/transformers/visitor-hooks.d.ts +29 -0
- package/dist/api/compiler/transformers/visitor-hooks.js +189 -0
- package/dist/api/compiler/tsconfig.d.ts +177 -0
- package/dist/api/compiler/tsconfig.js +1311 -0
- package/dist/api/compiler/type-printer.d.ts +15 -0
- package/dist/api/compiler/type-printer.js +74 -0
- package/dist/api/compiler/types.d.ts +87 -0
- package/dist/api/compiler/types.js +23 -0
- package/dist/api/compiler/unicode-identifiers.d.ts +2 -0
- package/dist/api/compiler/unicode-identifiers.js +209 -0
- package/dist/api/compiler/unicode-properties.d.ts +8 -0
- package/dist/api/compiler/unicode-properties.js +531 -0
- package/dist/api/compiler/vfs-match.d.ts +24 -0
- package/dist/api/compiler/vfs-match.js +587 -0
- package/dist/api/library/ast.d.ts +3 -2
- package/dist/api/library/ast.generated.d.ts +127 -139
- package/dist/api/library/checker.d.ts +51 -0
- package/dist/api/library/checker.js +318 -0
- package/dist/api/library/diagnostics.d.ts +13 -0
- package/dist/api/library/diagnostics.js +50 -0
- package/dist/api/library/disk.d.ts +13 -0
- package/dist/api/library/disk.js +66 -0
- package/dist/api/library/errors.d.ts +13 -0
- package/dist/api/library/errors.js +24 -0
- package/dist/api/library/host.d.ts +24 -0
- package/dist/api/library/host.js +52 -0
- package/dist/api/library/index.d.ts +5 -1
- package/dist/api/library/index.js +4 -0
- package/dist/api/library/nodes.d.ts +51 -0
- package/dist/api/library/nodes.js +196 -0
- package/dist/api/library/options.d.ts +144 -0
- package/dist/api/library/options.js +308 -0
- package/dist/api/library/parse.d.ts +19 -0
- package/dist/api/library/parse.js +41 -0
- package/dist/api/library/program.d.ts +21 -0
- package/dist/api/library/program.js +234 -0
- package/dist/api/library/types.d.ts +14 -1
- package/package.json +12 -8
- package/src/compiler/ast-utilities.ts +548 -0
- package/src/compiler/ast.ts +12862 -0
- package/src/compiler/astnav.ts +799 -0
- package/src/compiler/binder-utilities.ts +1392 -0
- package/src/compiler/binder.ts +2703 -0
- package/src/compiler/build-info.ts +1197 -0
- package/src/compiler/character-codes.ts +323 -0
- package/src/compiler/checker-calls.ts +2155 -0
- package/src/compiler/checker-classes.ts +706 -0
- package/src/compiler/checker-contextual.ts +1457 -0
- package/src/compiler/checker-declaration-order.ts +438 -0
- package/src/compiler/checker-declarations.ts +1194 -0
- package/src/compiler/checker-declared-types.ts +919 -0
- package/src/compiler/checker-decorators.ts +694 -0
- package/src/compiler/checker-deprecation.ts +359 -0
- package/src/compiler/checker-destructuring.ts +805 -0
- package/src/compiler/checker-elaboration.ts +477 -0
- package/src/compiler/checker-emit-helpers.ts +224 -0
- package/src/compiler/checker-emit-resolver.ts +769 -0
- package/src/compiler/checker-evaluator.ts +243 -0
- package/src/compiler/checker-expressions.ts +1831 -0
- package/src/compiler/checker-features.ts +361 -0
- package/src/compiler/checker-flow.ts +394 -0
- package/src/compiler/checker-functions.ts +1296 -0
- package/src/compiler/checker-generated-code.ts +227 -0
- package/src/compiler/checker-globals.ts +52 -0
- package/src/compiler/checker-grammar.ts +3584 -0
- package/src/compiler/checker-heritage.ts +1233 -0
- package/src/compiler/checker-inference.ts +2576 -0
- package/src/compiler/checker-iteration.ts +1206 -0
- package/src/compiler/checker-javascript.ts +502 -0
- package/src/compiler/checker-jsdoc.ts +360 -0
- package/src/compiler/checker-jsx.ts +1924 -0
- package/src/compiler/checker-literals.ts +61 -0
- package/src/compiler/checker-members.ts +2436 -0
- package/src/compiler/checker-modules.ts +2886 -0
- package/src/compiler/checker-narrowing.ts +3230 -0
- package/src/compiler/checker-object-literals.ts +575 -0
- package/src/compiler/checker-operators.ts +1422 -0
- package/src/compiler/checker-overloads.ts +328 -0
- package/src/compiler/checker-property-access.ts +906 -0
- package/src/compiler/checker-services.ts +1149 -0
- package/src/compiler/checker-signatures.ts +1032 -0
- package/src/compiler/checker-source-file.ts +732 -0
- package/src/compiler/checker-statements.ts +292 -0
- package/src/compiler/checker-super.ts +261 -0
- package/src/compiler/checker-symbol-types.ts +2107 -0
- package/src/compiler/checker-symbols.ts +2150 -0
- package/src/compiler/checker-type-factory.ts +2579 -0
- package/src/compiler/checker-type-nodes.ts +1033 -0
- package/src/compiler/checker-type-operators.ts +2502 -0
- package/src/compiler/checker-types.ts +2340 -0
- package/src/compiler/checker-unused.ts +642 -0
- package/src/compiler/checker-utilities.ts +161 -0
- package/src/compiler/checker.ts +1116 -0
- package/src/compiler/command-line.ts +436 -0
- package/src/compiler/compile-program.ts +439 -0
- package/src/compiler/decoder.ts +1209 -0
- package/src/compiler/diagnostic-locales.ts +86 -0
- package/src/compiler/diagnostic-messages.ts +2349 -0
- package/src/compiler/diagnostics.ts +897 -0
- package/src/compiler/emitter.ts +434 -0
- package/src/compiler/encoder.ts +1945 -0
- package/src/compiler/file-include.ts +673 -0
- package/src/compiler/file-loader.ts +1528 -0
- package/src/compiler/file-system.ts +143 -0
- package/src/compiler/flow.ts +89 -0
- package/src/compiler/help.ts +473 -0
- package/src/compiler/incremental.ts +2784 -0
- package/src/compiler/init.ts +141 -0
- package/src/compiler/instantiation.ts +894 -0
- package/src/compiler/jsdoc.ts +1386 -0
- package/src/compiler/link-tables.ts +98 -0
- package/src/compiler/locale-data.ts +203 -0
- package/src/compiler/locale.ts +307 -0
- package/src/compiler/locales/cs-CZ.ts +5 -0
- package/src/compiler/locales/de-DE.ts +5 -0
- package/src/compiler/locales/es-ES.ts +5 -0
- package/src/compiler/locales/fr-FR.ts +5 -0
- package/src/compiler/locales/it-IT.ts +5 -0
- package/src/compiler/locales/ja-JP.ts +5 -0
- package/src/compiler/locales/ko-KR.ts +5 -0
- package/src/compiler/locales/pl-PL.ts +5 -0
- package/src/compiler/locales/pt-BR.ts +5 -0
- package/src/compiler/locales/ru-RU.ts +5 -0
- package/src/compiler/locales/tr-TR.ts +5 -0
- package/src/compiler/locales/zh-CN.ts +5 -0
- package/src/compiler/locales/zh-TW.ts +5 -0
- package/src/compiler/module-resolution-types.ts +243 -0
- package/src/compiler/module-resolution.ts +2072 -0
- package/src/compiler/module-specifiers.ts +1491 -0
- package/src/compiler/name-resolver.ts +646 -0
- package/src/compiler/node-builder-names.ts +1069 -0
- package/src/compiler/node-builder-pseudo.ts +892 -0
- package/src/compiler/node-builder-reuse.ts +764 -0
- package/src/compiler/node-builder.ts +3425 -0
- package/src/compiler/option-declarations.ts +1560 -0
- package/src/compiler/options.ts +1576 -0
- package/src/compiler/output-paths.ts +334 -0
- package/src/compiler/package-json.ts +1083 -0
- package/src/compiler/parallel-check.ts +1951 -0
- package/src/compiler/parallel-parse.ts +590 -0
- package/src/compiler/parse-thread.ts +140 -0
- package/src/compiler/parser.ts +7716 -0
- package/src/compiler/path.ts +717 -0
- package/src/compiler/printer/async-helpers.ts +183 -0
- package/src/compiler/printer/auto-generate.ts +27 -0
- package/src/compiler/printer/decorator-helpers.ts +218 -0
- package/src/compiler/printer/emit-context.ts +679 -0
- package/src/compiler/printer/emit-flags.ts +64 -0
- package/src/compiler/printer/factory-base.ts +2577 -0
- package/src/compiler/printer/factory.ts +764 -0
- package/src/compiler/printer/helpers.ts +291 -0
- package/src/compiler/printer/name-generator.ts +372 -0
- package/src/compiler/printer/printer.ts +5072 -0
- package/src/compiler/printer/text-writer.ts +183 -0
- package/src/compiler/printer/utilities.ts +884 -0
- package/src/compiler/program-checker.ts +592 -0
- package/src/compiler/program-utilities.ts +435 -0
- package/src/compiler/program.ts +1419 -0
- package/src/compiler/pseudo-bigint.ts +62 -0
- package/src/compiler/regexp-checker.ts +1142 -0
- package/src/compiler/relations.ts +5149 -0
- package/src/compiler/reparser.ts +1566 -0
- package/src/compiler/scanner.ts +2951 -0
- package/src/compiler/show-config.ts +239 -0
- package/src/compiler/side-state.ts +125 -0
- package/src/compiler/sourcemap.ts +366 -0
- package/src/compiler/spelling.ts +122 -0
- package/src/compiler/symbol-accessibility.ts +1071 -0
- package/src/compiler/symbol.ts +439 -0
- package/src/compiler/symlinks.ts +137 -0
- package/src/compiler/syntax-kind.ts +391 -0
- package/src/compiler/thread-entry.ts +191 -0
- package/src/compiler/timeline.ts +53 -0
- package/src/compiler/transformers/alias-references.ts +757 -0
- package/src/compiler/transformers/async-utilities.ts +335 -0
- package/src/compiler/transformers/async.ts +838 -0
- package/src/compiler/transformers/class-fields.ts +2967 -0
- package/src/compiler/transformers/class-utilities.ts +324 -0
- package/src/compiler/transformers/commonjs-module.ts +1621 -0
- package/src/compiler/transformers/const-enum-inliner.ts +50 -0
- package/src/compiler/transformers/declarations-diagnostics.ts +832 -0
- package/src/compiler/transformers/declarations-pseudo.ts +966 -0
- package/src/compiler/transformers/declarations-resolver.ts +249 -0
- package/src/compiler/transformers/declarations-syntactic.ts +1859 -0
- package/src/compiler/transformers/declarations-tracker.ts +269 -0
- package/src/compiler/transformers/declarations.ts +3120 -0
- package/src/compiler/transformers/decorator-metadata.ts +697 -0
- package/src/compiler/transformers/decorator-utilities.ts +283 -0
- package/src/compiler/transformers/destructuring.ts +708 -0
- package/src/compiler/transformers/downlevel.ts +50 -0
- package/src/compiler/transformers/emit-resolver.ts +258 -0
- package/src/compiler/transformers/es-decorators.ts +2682 -0
- package/src/compiler/transformers/exponentiation.ts +80 -0
- package/src/compiler/transformers/external-module-info.ts +412 -0
- package/src/compiler/transformers/for-await.ts +687 -0
- package/src/compiler/transformers/import-elision.ts +152 -0
- package/src/compiler/transformers/jsx-entities.ts +256 -0
- package/src/compiler/transformers/jsx.ts +824 -0
- package/src/compiler/transformers/legacy-decorators.ts +726 -0
- package/src/compiler/transformers/logical-assignment.ts +75 -0
- package/src/compiler/transformers/module-utilities.ts +42 -0
- package/src/compiler/transformers/module.ts +474 -0
- package/src/compiler/transformers/named-evaluation.ts +389 -0
- package/src/compiler/transformers/nullish-coalescing.ts +35 -0
- package/src/compiler/transformers/object-rest-spread.ts +577 -0
- package/src/compiler/transformers/optional-catch.ts +29 -0
- package/src/compiler/transformers/optional-chain.ts +246 -0
- package/src/compiler/transformers/reference-resolver.ts +1201 -0
- package/src/compiler/transformers/runtime-syntax.ts +942 -0
- package/src/compiler/transformers/subtree-facts.ts +245 -0
- package/src/compiler/transformers/syntax-facts.ts +353 -0
- package/src/compiler/transformers/tagged-template.ts +167 -0
- package/src/compiler/transformers/transformer.ts +56 -0
- package/src/compiler/transformers/type-eraser.ts +520 -0
- package/src/compiler/transformers/type-serialization.ts +374 -0
- package/src/compiler/transformers/using.ts +613 -0
- package/src/compiler/transformers/utilities.ts +419 -0
- package/src/compiler/transformers/visitor-base.ts +1601 -0
- package/src/compiler/transformers/visitor-hooks.ts +252 -0
- package/src/compiler/tsc-build.ts +1418 -0
- package/src/compiler/tsc-cli.ts +666 -0
- package/src/compiler/tsc-compile.ts +437 -0
- package/src/compiler/tsc-watch.ts +854 -0
- package/src/compiler/tsconfig.ts +1574 -0
- package/src/compiler/type-printer.ts +110 -0
- package/src/compiler/types.ts +115 -0
- package/src/compiler/unicode-identifiers.ts +212 -0
- package/src/compiler/unicode-properties.ts +537 -0
- package/src/compiler/vfs-match.ts +597 -0
- package/src/compiler/xxh3.ts +650 -0
- package/src/library/ast.generated.ts +141 -167
- package/src/library/ast.ts +4 -1
- package/src/library/checker.ts +384 -0
- package/src/library/diagnostics.ts +72 -0
- package/src/library/disk.ts +73 -0
- package/src/library/errors.ts +26 -0
- package/src/library/host.ts +63 -0
- package/src/library/index.ts +21 -0
- package/src/library/nodes.ts +232 -0
- package/src/library/options.ts +449 -0
- package/src/library/parse.ts +63 -0
- package/src/library/program.ts +293 -0
- package/src/library/types.ts +14 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Node } from './ast.js';
|
|
2
|
+
import type { Checker } from './checker.js';
|
|
3
|
+
import { type Diagnostic, type DiagnosticMessage } from './diagnostics.js';
|
|
4
|
+
/** A collision check that waits until the file is checked, when the flags it reads are complete. */
|
|
5
|
+
export declare class DeferredCollisionCheck {
|
|
6
|
+
readonly node: Node;
|
|
7
|
+
/** `Reflect` rather than `WeakMap` and `WeakSet`. */
|
|
8
|
+
readonly reflect: boolean;
|
|
9
|
+
constructor(node: Node,
|
|
10
|
+
/** `Reflect` rather than `WeakMap` and `WeakSet`. */
|
|
11
|
+
reflect: boolean);
|
|
12
|
+
}
|
|
13
|
+
/** An error that is not reported under noEmit, since it is about the emitted code. */
|
|
14
|
+
export declare function errorSkippedOnNoEmit(c: Checker, node: Node, message: DiagnosticMessage, ...args: string[]): Diagnostic;
|
|
15
|
+
/** Checks the name of a declaration against the names the emitted code reserves. */
|
|
16
|
+
export declare function checkCollisionsForDeclarationName(c: Checker, node: Node, name: Node | undefined): void;
|
|
17
|
+
/**
|
|
18
|
+
* A private name downleveled (before ESNext, or without useDefineForClassFields) is emitted with `WeakMap` or
|
|
19
|
+
* `WeakSet`: marks the block scopes around its class.
|
|
20
|
+
*/
|
|
21
|
+
export declare function markPrivateIdentifierScope(c: Checker, node: Node): void;
|
|
22
|
+
/** `super.x` in a static initializer before ES2022 is emitted with `Reflect`: marks the block scopes around it. */
|
|
23
|
+
export declare function markSuperPropertyInStaticInitializer(c: Checker, node: Node): void;
|
|
24
|
+
/** Reports the `WeakMap`, `WeakSet` and `Reflect` collisions found while checking the file. */
|
|
25
|
+
export declare function produceDeferredCollisionChecks(c: Checker): void;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
// Declarations whose names collide with names the emitted code uses: `require` and `exports` in CommonJS
|
|
2
|
+
// output, `Object`, `Promise` (async functions before ES2017), `WeakMap` and `WeakSet` (downleveled private
|
|
3
|
+
// names) and `Reflect` (downleveled `super` in static initializers). These errors are skipped under noEmit.
|
|
4
|
+
import { getBody, getMembers, getName, getText } from './ast.js';
|
|
5
|
+
import { declarationNameToString, getRootDeclaration, getSourceFileOfNode, isClassLike, isExternalOrCommonJSModule, getModuleInstanceState, } from './binder-utilities.js';
|
|
6
|
+
import { getDeclarationContainer, isTypeOnlyImportOrExportDeclaration } from './checker-modules.js';
|
|
7
|
+
import { getEnclosingBlockScopeContainer } from './checker-declaration-order.js';
|
|
8
|
+
import { ModuleKind, ScriptTarget, getEmitModuleKind, getUseDefineForClassFields } from './options.js';
|
|
9
|
+
import { moduleKindName } from './program-utilities.js';
|
|
10
|
+
/** A collision check that waits until the file is checked, when the flags it reads are complete. */
|
|
11
|
+
export class DeferredCollisionCheck {
|
|
12
|
+
node;
|
|
13
|
+
reflect;
|
|
14
|
+
constructor(node,
|
|
15
|
+
/** `Reflect` rather than `WeakMap` and `WeakSet`. */
|
|
16
|
+
reflect) {
|
|
17
|
+
this.node = node;
|
|
18
|
+
this.reflect = reflect;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/** An error that is not reported under noEmit, since it is about the emitted code. */
|
|
22
|
+
export function errorSkippedOnNoEmit(c, node, message, ...args) {
|
|
23
|
+
const diagnostic = c.error(node, message, ...args);
|
|
24
|
+
diagnostic.skippedOnNoEmit = true;
|
|
25
|
+
return diagnostic;
|
|
26
|
+
}
|
|
27
|
+
/** Checks the name of a declaration against the names the emitted code reserves. */
|
|
28
|
+
export function checkCollisionsForDeclarationName(c, node, name) {
|
|
29
|
+
if (name === undefined)
|
|
30
|
+
return;
|
|
31
|
+
checkCollisionWithRequireExportsInGeneratedCode(c, node, name);
|
|
32
|
+
checkCollisionWithGlobalObjectInGeneratedCode(c, node, name);
|
|
33
|
+
checkCollisionWithGlobalPromiseInGeneratedCode(c, node, name);
|
|
34
|
+
if (c.languageVersion <= ScriptTarget.ES2021 &&
|
|
35
|
+
(needCollisionCheckForIdentifier(node, name, 'WeakMap') || needCollisionCheckForIdentifier(node, name, 'WeakSet')))
|
|
36
|
+
c.deferredCollisionChecks.push(new DeferredCollisionCheck(node, false));
|
|
37
|
+
if (c.languageVersion <= ScriptTarget.ES2021 && needCollisionCheckForIdentifier(node, name, 'Reflect'))
|
|
38
|
+
c.deferredCollisionChecks.push(new DeferredCollisionCheck(node, true));
|
|
39
|
+
if (isClassLike(node) && (node.flags & 8388608 /* NodeFlags.Ambient */) === 0 && getText(name) === 'Object') {
|
|
40
|
+
if (c.host.getEmitModuleFormatOfFile(getSourceFileOfNode(name)) < ModuleKind.ES2015)
|
|
41
|
+
c.error(name, 857 /* Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_and_above_with_module_0 */, moduleKindName(getEmitModuleKind(c.compilerOptions)));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function checkCollisionWithRequireExportsInGeneratedCode(c, node, name) {
|
|
45
|
+
if (!needCollisionCheckForIdentifier(node, name, 'require') &&
|
|
46
|
+
!needCollisionCheckForIdentifier(node, name, 'exports'))
|
|
47
|
+
return;
|
|
48
|
+
// ES modules don't use `require` or `exports`.
|
|
49
|
+
if (c.host.getEmitModuleFormatOfFile(getSourceFileOfNode(node)) >= ModuleKind.ES2015)
|
|
50
|
+
return;
|
|
51
|
+
if (node.kind === 268 /* SyntaxKind.ModuleDeclaration */ && getModuleInstanceState(node) !== 2 /* ModuleInstanceState.Instantiated */)
|
|
52
|
+
return;
|
|
53
|
+
const parent = getDeclarationContainer(node);
|
|
54
|
+
if (parent.kind === 307 /* SyntaxKind.SourceFile */ && isExternalOrCommonJSModule(parent))
|
|
55
|
+
reportReservedTopLevelName(c, name, 609 /* Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module */);
|
|
56
|
+
}
|
|
57
|
+
function checkCollisionWithGlobalObjectInGeneratedCode(c, node, name) {
|
|
58
|
+
if (isClassLike(node) || !needCollisionCheckForIdentifier(node, name, 'Object'))
|
|
59
|
+
return;
|
|
60
|
+
if (node.kind === 268 /* SyntaxKind.ModuleDeclaration */ && getModuleInstanceState(node) !== 2 /* ModuleInstanceState.Instantiated */)
|
|
61
|
+
return;
|
|
62
|
+
const parent = getDeclarationContainer(node);
|
|
63
|
+
if (parent.kind === 307 /* SyntaxKind.SourceFile */ &&
|
|
64
|
+
isExternalOrCommonJSModule(parent) &&
|
|
65
|
+
c.host.getEmitModuleFormatOfFile(parent) === ModuleKind.CommonJS)
|
|
66
|
+
reportReservedTopLevelName(c, name, 609 /* Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module */);
|
|
67
|
+
}
|
|
68
|
+
function checkCollisionWithGlobalPromiseInGeneratedCode(c, node, name) {
|
|
69
|
+
if (c.languageVersion >= ScriptTarget.ES2017 || !needCollisionCheckForIdentifier(node, name, 'Promise'))
|
|
70
|
+
return;
|
|
71
|
+
if (node.kind === 268 /* SyntaxKind.ModuleDeclaration */ && getModuleInstanceState(node) !== 2 /* ModuleInstanceState.Instantiated */)
|
|
72
|
+
return;
|
|
73
|
+
const parent = getDeclarationContainer(node);
|
|
74
|
+
if (parent.kind === 307 /* SyntaxKind.SourceFile */ &&
|
|
75
|
+
isExternalOrCommonJSModule(parent) &&
|
|
76
|
+
(parent.flags & 262144 /* NodeFlags.HasAsyncFunctions */) !== 0)
|
|
77
|
+
reportReservedTopLevelName(c, name, 687 /* Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions */);
|
|
78
|
+
}
|
|
79
|
+
function reportReservedTopLevelName(c, name, message) {
|
|
80
|
+
const text = declarationNameToString(getSourceFileOfNode(name), name);
|
|
81
|
+
errorSkippedOnNoEmit(c, name, message, text, text);
|
|
82
|
+
}
|
|
83
|
+
/** Whether the declaration `node` binds `name` where the emitted code could see it. */
|
|
84
|
+
function needCollisionCheckForIdentifier(node, identifier, name) {
|
|
85
|
+
if (identifier.kind !== 79 /* SyntaxKind.Identifier */ || getText(identifier) !== name)
|
|
86
|
+
return false;
|
|
87
|
+
switch (node.kind) {
|
|
88
|
+
case 173 /* SyntaxKind.PropertyDeclaration */:
|
|
89
|
+
case 172 /* SyntaxKind.PropertySignature */:
|
|
90
|
+
case 175 /* SyntaxKind.MethodDeclaration */:
|
|
91
|
+
case 174 /* SyntaxKind.MethodSignature */:
|
|
92
|
+
case 178 /* SyntaxKind.GetAccessor */:
|
|
93
|
+
case 179 /* SyntaxKind.SetAccessor */:
|
|
94
|
+
case 303 /* SyntaxKind.PropertyAssignment */:
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
if ((node.flags & 8388608 /* NodeFlags.Ambient */) !== 0)
|
|
98
|
+
return false;
|
|
99
|
+
if ((node.kind === 274 /* SyntaxKind.ImportClause */ ||
|
|
100
|
+
node.kind === 272 /* SyntaxKind.ImportEqualsDeclaration */ ||
|
|
101
|
+
node.kind === 277 /* SyntaxKind.ImportSpecifier */) &&
|
|
102
|
+
isTypeOnlyImportOrExportDeclaration(node))
|
|
103
|
+
return false;
|
|
104
|
+
const root = getRootDeclaration(node);
|
|
105
|
+
return !(root.kind === 170 /* SyntaxKind.Parameter */ && getBody(root.parent) === undefined);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* A private name downleveled (before ESNext, or without useDefineForClassFields) is emitted with `WeakMap` or
|
|
109
|
+
* `WeakSet`: marks the block scopes around its class.
|
|
110
|
+
*/
|
|
111
|
+
export function markPrivateIdentifierScope(c, node) {
|
|
112
|
+
const name = getName(node);
|
|
113
|
+
if (name === undefined || name.kind !== 80 /* SyntaxKind.PrivateIdentifier */)
|
|
114
|
+
return;
|
|
115
|
+
if (c.languageVersion >= ScriptTarget.ESNext && getUseDefineForClassFields(c.compilerOptions))
|
|
116
|
+
return;
|
|
117
|
+
for (let scope = getEnclosingBlockScopeContainer(node); scope !== undefined; scope = getEnclosingBlockScopeContainer(scope))
|
|
118
|
+
c.nodeLinks(scope).flags |= 1048576 /* NodeCheckFlags.ContainsClassWithPrivateIdentifiers */;
|
|
119
|
+
}
|
|
120
|
+
/** `super.x` in a static initializer before ES2022 is emitted with `Reflect`: marks the block scopes around it. */
|
|
121
|
+
export function markSuperPropertyInStaticInitializer(c, node) {
|
|
122
|
+
for (let scope = getEnclosingBlockScopeContainer(node.parent); scope !== undefined; scope = getEnclosingBlockScopeContainer(scope))
|
|
123
|
+
if (scope.kind !== 307 /* SyntaxKind.SourceFile */ || isExternalOrCommonJSModule(scope))
|
|
124
|
+
c.nodeLinks(scope).flags |= 2097152 /* NodeCheckFlags.ContainsSuperPropertyInStaticInitializer */;
|
|
125
|
+
}
|
|
126
|
+
/** Reports the `WeakMap`, `WeakSet` and `Reflect` collisions found while checking the file. */
|
|
127
|
+
export function produceDeferredCollisionChecks(c) {
|
|
128
|
+
const checks = c.deferredCollisionChecks;
|
|
129
|
+
if (checks.length === 0)
|
|
130
|
+
return;
|
|
131
|
+
c.deferredCollisionChecks = [];
|
|
132
|
+
for (const check of checks) {
|
|
133
|
+
if (check.reflect)
|
|
134
|
+
checkReflectCollision(c, check.node);
|
|
135
|
+
else
|
|
136
|
+
checkWeakMapSetCollision(c, check.node);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
function checkWeakMapSetCollision(c, node) {
|
|
140
|
+
const scope = getEnclosingBlockScopeContainer(node);
|
|
141
|
+
if (scope === undefined || (c.nodeLinks(scope).flags & 1048576 /* NodeCheckFlags.ContainsClassWithPrivateIdentifiers */) === 0)
|
|
142
|
+
return;
|
|
143
|
+
const name = getName(node);
|
|
144
|
+
if (name !== undefined && name.kind === 79 /* SyntaxKind.Identifier */)
|
|
145
|
+
errorSkippedOnNoEmit(c, node, 1844 /* Diagnostics.Compiler_reserves_name_0_when_emitting_private_identifier_downlevel */, getText(name));
|
|
146
|
+
}
|
|
147
|
+
function checkReflectCollision(c, node) {
|
|
148
|
+
let hasCollision = false;
|
|
149
|
+
if (node.kind === 232 /* SyntaxKind.ClassExpression */) {
|
|
150
|
+
for (const member of getMembers(node).nodes)
|
|
151
|
+
if ((c.nodeLinks(member).flags & 2097152 /* NodeCheckFlags.ContainsSuperPropertyInStaticInitializer */) !== 0) {
|
|
152
|
+
hasCollision = true;
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else if (node.kind === 219 /* SyntaxKind.FunctionExpression */)
|
|
157
|
+
hasCollision = (c.nodeLinks(node).flags & 2097152 /* NodeCheckFlags.ContainsSuperPropertyInStaticInitializer */) !== 0;
|
|
158
|
+
else {
|
|
159
|
+
const scope = getEnclosingBlockScopeContainer(node);
|
|
160
|
+
hasCollision =
|
|
161
|
+
scope !== undefined && (c.nodeLinks(scope).flags & 2097152 /* NodeCheckFlags.ContainsSuperPropertyInStaticInitializer */) !== 0;
|
|
162
|
+
}
|
|
163
|
+
if (!hasCollision)
|
|
164
|
+
return;
|
|
165
|
+
const name = getName(node);
|
|
166
|
+
if (name !== undefined && name.kind === 79 /* SyntaxKind.Identifier */)
|
|
167
|
+
errorSkippedOnNoEmit(c, node, 949 /* Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers */, declarationNameToString(getSourceFileOfNode(name), name), 'Reflect');
|
|
168
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Checker } from './checker.js';
|
|
2
|
+
import type { Type } from './checker-types.js';
|
|
3
|
+
export declare function getGlobalESSymbolType(c: Checker): Type;
|
|
4
|
+
export declare function getGlobalBigIntType(c: Checker): Type;
|
|
5
|
+
export declare function getGlobalTemplateStringsArrayType(c: Checker): Type;
|
|
6
|
+
export declare function getGlobalTypedPropertyDescriptorType(c: Checker): Type;
|
|
7
|
+
export declare function getGlobalClassDecoratorContextType(c: Checker): Type;
|
|
8
|
+
export declare function getGlobalClassMethodDecoratorContextType(c: Checker): Type;
|
|
9
|
+
export declare function getGlobalClassGetterDecoratorContextType(c: Checker): Type;
|
|
10
|
+
export declare function getGlobalClassSetterDecoratorContextType(c: Checker): Type;
|
|
11
|
+
export declare function getGlobalClassAccessorDecoratorContextType(c: Checker): Type;
|
|
12
|
+
export declare function getGlobalClassAccessorDecoratorTargetType(c: Checker): Type;
|
|
13
|
+
export declare function getGlobalClassAccessorDecoratorResultType(c: Checker): Type;
|
|
14
|
+
export declare function getGlobalClassFieldDecoratorContextType(c: Checker): Type;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { getCachedGlobalType } from './checker-symbols.js';
|
|
2
|
+
export function getGlobalESSymbolType(c) {
|
|
3
|
+
return getCachedGlobalType(c, 'Symbol', 0, false);
|
|
4
|
+
}
|
|
5
|
+
export function getGlobalBigIntType(c) {
|
|
6
|
+
return getCachedGlobalType(c, 'BigInt', 0, false);
|
|
7
|
+
}
|
|
8
|
+
export function getGlobalTemplateStringsArrayType(c) {
|
|
9
|
+
return getCachedGlobalType(c, 'TemplateStringsArray', 0, true);
|
|
10
|
+
}
|
|
11
|
+
export function getGlobalTypedPropertyDescriptorType(c) {
|
|
12
|
+
return getCachedGlobalType(c, 'TypedPropertyDescriptor', 1, true);
|
|
13
|
+
}
|
|
14
|
+
export function getGlobalClassDecoratorContextType(c) {
|
|
15
|
+
return getCachedGlobalType(c, 'ClassDecoratorContext', 1, true);
|
|
16
|
+
}
|
|
17
|
+
export function getGlobalClassMethodDecoratorContextType(c) {
|
|
18
|
+
return getCachedGlobalType(c, 'ClassMethodDecoratorContext', 2, true);
|
|
19
|
+
}
|
|
20
|
+
export function getGlobalClassGetterDecoratorContextType(c) {
|
|
21
|
+
return getCachedGlobalType(c, 'ClassGetterDecoratorContext', 2, true);
|
|
22
|
+
}
|
|
23
|
+
export function getGlobalClassSetterDecoratorContextType(c) {
|
|
24
|
+
return getCachedGlobalType(c, 'ClassSetterDecoratorContext', 2, true);
|
|
25
|
+
}
|
|
26
|
+
export function getGlobalClassAccessorDecoratorContextType(c) {
|
|
27
|
+
return getCachedGlobalType(c, 'ClassAccessorDecoratorContext', 2, true);
|
|
28
|
+
}
|
|
29
|
+
export function getGlobalClassAccessorDecoratorTargetType(c) {
|
|
30
|
+
return getCachedGlobalType(c, 'ClassAccessorDecoratorTarget', 2, true);
|
|
31
|
+
}
|
|
32
|
+
export function getGlobalClassAccessorDecoratorResultType(c) {
|
|
33
|
+
return getCachedGlobalType(c, 'ClassAccessorDecoratorResult', 2, true);
|
|
34
|
+
}
|
|
35
|
+
export function getGlobalClassFieldDecoratorContextType(c) {
|
|
36
|
+
return getCachedGlobalType(c, 'ClassFieldDecoratorContext', 2, true);
|
|
37
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type Node, type NodeList, NodeVisitor, type ObjectLiteralExpression, type SourceFile } from './ast.js';
|
|
2
|
+
import { type Checker } from './checker.js';
|
|
3
|
+
import { ModuleKind } from './options.js';
|
|
4
|
+
import { SourceFileMetadata } from './program-utilities.js';
|
|
5
|
+
import { Scanner } from './scanner.js';
|
|
6
|
+
/** Runs the grammar checks of every node of `file`. */
|
|
7
|
+
export declare function checkGrammarSourceFile(c: Checker, file: SourceFile): void;
|
|
8
|
+
/** Checks the grammar of an object literal each time it is checked, as tsgo does. */
|
|
9
|
+
export declare function checkGrammarObjectLiteralOfExpression(c: Checker, node: ObjectLiteralExpression, inDestructuring: boolean): void;
|
|
10
|
+
/** Reports a trailing comma after the rest element of a destructuring assignment. */
|
|
11
|
+
export declare function checkGrammarRestTrailingComma(c: Checker, node: Node, list: NodeList): void;
|
|
12
|
+
/** Checks the grammar of a function expression or arrow function each time it is checked. */
|
|
13
|
+
export declare function checkGrammarFunctionExpression(c: Checker, node: Node): void;
|
|
14
|
+
/** Checks the grammar of an `await` expression each time it is checked. */
|
|
15
|
+
export declare function checkGrammarAwaitExpression(c: Checker, node: Node): void;
|
|
16
|
+
/** Checks the grammar of a `yield` expression each time it is checked. */
|
|
17
|
+
export declare function checkGrammarYieldOfExpression(c: Checker, node: Node): void;
|
|
18
|
+
/** Per-file state of the grammar walk. */
|
|
19
|
+
export declare class GrammarChecker extends NodeVisitor {
|
|
20
|
+
readonly c: Checker;
|
|
21
|
+
readonly file: SourceFile;
|
|
22
|
+
/** Grammar errors are only reported in files without parse errors. */
|
|
23
|
+
readonly hasParseErrors: boolean;
|
|
24
|
+
readonly moduleKind: ModuleKind;
|
|
25
|
+
readonly metadata: SourceFileMetadata;
|
|
26
|
+
readonly legacyDecorators: boolean;
|
|
27
|
+
/** Blocks and statements that already reported a statement in an ambient context. */
|
|
28
|
+
readonly reportedAmbientStatements: Set<number>;
|
|
29
|
+
private scanner;
|
|
30
|
+
constructor(c: Checker, file: SourceFile);
|
|
31
|
+
visitNode(node: Node): boolean;
|
|
32
|
+
/** A scanner over the file's text, for rescanning tokens. */
|
|
33
|
+
getScanner(): Scanner;
|
|
34
|
+
}
|
|
35
|
+
export declare function getContainingFunctionOrClassStaticBlock(node: Node): Node | undefined;
|