tsc-ts 0.0.10 → 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 +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 +20 -15
- package/dist/api/compiler/ast.js +1023 -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 +173 -123
- 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 +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 +105 -88
- 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 +137 -34
- 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 +93 -31
- package/dist/api/compiler/checker.js +143 -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 +19 -4
- package/dist/api/compiler/compile-program.js +45 -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/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/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/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 +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 +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 +1 -0
- package/dist/api/compiler/printer/printer.js +303 -281
- 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 +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 +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 +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 +55 -26
- package/src/compiler/binder.ts +39 -4
- package/src/compiler/character-codes.ts +2 -2
- package/src/compiler/checker-calls.ts +76 -8
- 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 +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 +26 -4
- 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 +120 -21
- 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 +168 -41
- package/src/compiler/command-line.ts +28 -28
- package/src/compiler/compile-program.ts +51 -25
- package/src/compiler/decoder.ts +13 -4
- package/src/compiler/diagnostic-messages.ts +1973 -1892
- 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 +139 -32
- package/src/compiler/help.ts +10 -14
- 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 +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 +197 -8
- package/src/compiler/parallel-emit.ts +1 -1
- package/src/compiler/parser.ts +156 -39
- 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 +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 +35 -14
- 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 +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 +31 -14
- package/src/compiler/syntax-kind.ts +188 -187
- package/src/compiler/thread-entry.ts +19 -2
- 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 +3 -0
- package/src/compiler/tsc-cli.ts +2 -0
- package/src/compiler/tsc-compile.ts +7 -2
- 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
|
@@ -7,17 +7,6 @@ import { getDeclarationContainer, isTypeOnlyImportOrExportDeclaration } from './
|
|
|
7
7
|
import { getEnclosingBlockScopeContainer } from './checker-declaration-order.js';
|
|
8
8
|
import { ModuleKind, ScriptTarget, getEmitModuleKind, getUseDefineForClassFields } from './options.js';
|
|
9
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
10
|
/** An error that is not reported under noEmit, since it is about the emitted code. */
|
|
22
11
|
export function errorSkippedOnNoEmit(c, node, message, ...args) {
|
|
23
12
|
const diagnostic = c.error(node, message, ...args);
|
|
@@ -33,12 +22,12 @@ export function checkCollisionsForDeclarationName(c, node, name) {
|
|
|
33
22
|
checkCollisionWithGlobalPromiseInGeneratedCode(c, node, name);
|
|
34
23
|
if (c.languageVersion <= ScriptTarget.ES2021 &&
|
|
35
24
|
(needCollisionCheckForIdentifier(node, name, 'WeakMap') || needCollisionCheckForIdentifier(node, name, 'WeakSet')))
|
|
36
|
-
c.
|
|
25
|
+
c.deferDiagnostic(node, () => checkWeakMapSetCollision(c, node));
|
|
37
26
|
if (c.languageVersion <= ScriptTarget.ES2021 && needCollisionCheckForIdentifier(node, name, 'Reflect'))
|
|
38
|
-
c.
|
|
27
|
+
c.deferDiagnostic(node, () => checkReflectCollision(c, node));
|
|
39
28
|
if (isClassLike(node) && (node.flags & 8388608 /* NodeFlags.Ambient */) === 0 && getText(name) === 'Object') {
|
|
40
29
|
if (c.host.getEmitModuleFormatOfFile(getSourceFileOfNode(name)) < ModuleKind.ES2015)
|
|
41
|
-
c.error(name,
|
|
30
|
+
c.error(name, 864 /* Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_and_above_with_module_0 */, moduleKindName(getEmitModuleKind(c.compilerOptions)));
|
|
42
31
|
}
|
|
43
32
|
}
|
|
44
33
|
function checkCollisionWithRequireExportsInGeneratedCode(c, node, name) {
|
|
@@ -48,33 +37,33 @@ function checkCollisionWithRequireExportsInGeneratedCode(c, node, name) {
|
|
|
48
37
|
// ES modules don't use `require` or `exports`.
|
|
49
38
|
if (c.host.getEmitModuleFormatOfFile(getSourceFileOfNode(node)) >= ModuleKind.ES2015)
|
|
50
39
|
return;
|
|
51
|
-
if (node.kind ===
|
|
40
|
+
if (node.kind === 269 /* SyntaxKind.ModuleDeclaration */ && getModuleInstanceState(node) !== 2 /* ModuleInstanceState.Instantiated */)
|
|
52
41
|
return;
|
|
53
42
|
const parent = getDeclarationContainer(node);
|
|
54
|
-
if (parent.kind ===
|
|
55
|
-
reportReservedTopLevelName(c, name,
|
|
43
|
+
if (parent.kind === 308 /* SyntaxKind.SourceFile */ && isExternalOrCommonJSModule(parent))
|
|
44
|
+
reportReservedTopLevelName(c, name, 616 /* Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module */);
|
|
56
45
|
}
|
|
57
46
|
function checkCollisionWithGlobalObjectInGeneratedCode(c, node, name) {
|
|
58
47
|
if (isClassLike(node) || !needCollisionCheckForIdentifier(node, name, 'Object'))
|
|
59
48
|
return;
|
|
60
|
-
if (node.kind ===
|
|
49
|
+
if (node.kind === 269 /* SyntaxKind.ModuleDeclaration */ && getModuleInstanceState(node) !== 2 /* ModuleInstanceState.Instantiated */)
|
|
61
50
|
return;
|
|
62
51
|
const parent = getDeclarationContainer(node);
|
|
63
|
-
if (parent.kind ===
|
|
52
|
+
if (parent.kind === 308 /* SyntaxKind.SourceFile */ &&
|
|
64
53
|
isExternalOrCommonJSModule(parent) &&
|
|
65
54
|
c.host.getEmitModuleFormatOfFile(parent) === ModuleKind.CommonJS)
|
|
66
|
-
reportReservedTopLevelName(c, name,
|
|
55
|
+
reportReservedTopLevelName(c, name, 616 /* Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module */);
|
|
67
56
|
}
|
|
68
57
|
function checkCollisionWithGlobalPromiseInGeneratedCode(c, node, name) {
|
|
69
58
|
if (c.languageVersion >= ScriptTarget.ES2017 || !needCollisionCheckForIdentifier(node, name, 'Promise'))
|
|
70
59
|
return;
|
|
71
|
-
if (node.kind ===
|
|
60
|
+
if (node.kind === 269 /* SyntaxKind.ModuleDeclaration */ && getModuleInstanceState(node) !== 2 /* ModuleInstanceState.Instantiated */)
|
|
72
61
|
return;
|
|
73
62
|
const parent = getDeclarationContainer(node);
|
|
74
|
-
if (parent.kind ===
|
|
63
|
+
if (parent.kind === 308 /* SyntaxKind.SourceFile */ &&
|
|
75
64
|
isExternalOrCommonJSModule(parent) &&
|
|
76
65
|
(parent.flags & 262144 /* NodeFlags.HasAsyncFunctions */) !== 0)
|
|
77
|
-
reportReservedTopLevelName(c, name,
|
|
66
|
+
reportReservedTopLevelName(c, name, 694 /* Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions */);
|
|
78
67
|
}
|
|
79
68
|
function reportReservedTopLevelName(c, name, message) {
|
|
80
69
|
const text = declarationNameToString(getSourceFileOfNode(name), name);
|
|
@@ -85,24 +74,24 @@ function needCollisionCheckForIdentifier(node, identifier, name) {
|
|
|
85
74
|
if (identifier.kind !== 79 /* SyntaxKind.Identifier */ || getText(identifier) !== name)
|
|
86
75
|
return false;
|
|
87
76
|
switch (node.kind) {
|
|
88
|
-
case
|
|
89
|
-
case
|
|
90
|
-
case
|
|
91
|
-
case
|
|
92
|
-
case
|
|
93
|
-
case
|
|
94
|
-
case
|
|
77
|
+
case 174 /* SyntaxKind.PropertyDeclaration */:
|
|
78
|
+
case 173 /* SyntaxKind.PropertySignature */:
|
|
79
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
80
|
+
case 175 /* SyntaxKind.MethodSignature */:
|
|
81
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
82
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
83
|
+
case 304 /* SyntaxKind.PropertyAssignment */:
|
|
95
84
|
return false;
|
|
96
85
|
}
|
|
97
86
|
if ((node.flags & 8388608 /* NodeFlags.Ambient */) !== 0)
|
|
98
87
|
return false;
|
|
99
|
-
if ((node.kind ===
|
|
100
|
-
node.kind ===
|
|
101
|
-
node.kind ===
|
|
88
|
+
if ((node.kind === 275 /* SyntaxKind.ImportClause */ ||
|
|
89
|
+
node.kind === 273 /* SyntaxKind.ImportEqualsDeclaration */ ||
|
|
90
|
+
node.kind === 278 /* SyntaxKind.ImportSpecifier */) &&
|
|
102
91
|
isTypeOnlyImportOrExportDeclaration(node))
|
|
103
92
|
return false;
|
|
104
93
|
const root = getRootDeclaration(node);
|
|
105
|
-
return !(root.kind ===
|
|
94
|
+
return !(root.kind === 171 /* SyntaxKind.Parameter */ && getBody(root.parent) === undefined);
|
|
106
95
|
}
|
|
107
96
|
/**
|
|
108
97
|
* A private name downleveled (before ESNext, or without useDefineForClassFields) is emitted with `WeakMap` or
|
|
@@ -120,40 +109,27 @@ export function markPrivateIdentifierScope(c, node) {
|
|
|
120
109
|
/** `super.x` in a static initializer before ES2022 is emitted with `Reflect`: marks the block scopes around it. */
|
|
121
110
|
export function markSuperPropertyInStaticInitializer(c, node) {
|
|
122
111
|
for (let scope = getEnclosingBlockScopeContainer(node.parent); scope !== undefined; scope = getEnclosingBlockScopeContainer(scope))
|
|
123
|
-
if (scope.kind !==
|
|
112
|
+
if (scope.kind !== 308 /* SyntaxKind.SourceFile */ || isExternalOrCommonJSModule(scope))
|
|
124
113
|
c.nodeLinks(scope).flags |= 2097152 /* NodeCheckFlags.ContainsSuperPropertyInStaticInitializer */;
|
|
125
114
|
}
|
|
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
115
|
function checkWeakMapSetCollision(c, node) {
|
|
140
116
|
const scope = getEnclosingBlockScopeContainer(node);
|
|
141
117
|
if (scope === undefined || (c.nodeLinks(scope).flags & 1048576 /* NodeCheckFlags.ContainsClassWithPrivateIdentifiers */) === 0)
|
|
142
118
|
return;
|
|
143
119
|
const name = getName(node);
|
|
144
120
|
if (name !== undefined && name.kind === 79 /* SyntaxKind.Identifier */)
|
|
145
|
-
errorSkippedOnNoEmit(c, node,
|
|
121
|
+
errorSkippedOnNoEmit(c, node, 1864 /* Diagnostics.Compiler_reserves_name_0_when_emitting_private_identifier_downlevel */, getText(name));
|
|
146
122
|
}
|
|
147
123
|
function checkReflectCollision(c, node) {
|
|
148
124
|
let hasCollision = false;
|
|
149
|
-
if (node.kind ===
|
|
125
|
+
if (node.kind === 233 /* SyntaxKind.ClassExpression */) {
|
|
150
126
|
for (const member of getMembers(node).nodes)
|
|
151
127
|
if ((c.nodeLinks(member).flags & 2097152 /* NodeCheckFlags.ContainsSuperPropertyInStaticInitializer */) !== 0) {
|
|
152
128
|
hasCollision = true;
|
|
153
129
|
break;
|
|
154
130
|
}
|
|
155
131
|
}
|
|
156
|
-
else if (node.kind ===
|
|
132
|
+
else if (node.kind === 220 /* SyntaxKind.FunctionExpression */)
|
|
157
133
|
hasCollision = (c.nodeLinks(node).flags & 2097152 /* NodeCheckFlags.ContainsSuperPropertyInStaticInitializer */) !== 0;
|
|
158
134
|
else {
|
|
159
135
|
const scope = getEnclosingBlockScopeContainer(node);
|
|
@@ -164,5 +140,5 @@ function checkReflectCollision(c, node) {
|
|
|
164
140
|
return;
|
|
165
141
|
const name = getName(node);
|
|
166
142
|
if (name !== undefined && name.kind === 79 /* SyntaxKind.Identifier */)
|
|
167
|
-
errorSkippedOnNoEmit(c, node,
|
|
143
|
+
errorSkippedOnNoEmit(c, node, 956 /* Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers */, declarationNameToString(getSourceFileOfNode(name), name), 'Reflect');
|
|
168
144
|
}
|
|
@@ -33,3 +33,4 @@ export declare class GrammarChecker extends NodeVisitor {
|
|
|
33
33
|
getScanner(): Scanner;
|
|
34
34
|
}
|
|
35
35
|
export declare function getContainingFunctionOrClassStaticBlock(node: Node): Node | undefined;
|
|
36
|
+
export declare function isInParameterInitializerBeforeContainingFunction(node: Node): boolean;
|