tsc-ts 0.0.9 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/tsc-ts.js +70 -1
- package/dist/api/compiler/ast-utilities.d.ts +19 -1
- package/dist/api/compiler/ast-utilities.js +180 -95
- package/dist/api/compiler/ast.d.ts +22 -15
- package/dist/api/compiler/ast.js +1026 -995
- package/dist/api/compiler/astnav.js +15 -15
- package/dist/api/compiler/binder-utilities.js +186 -186
- package/dist/api/compiler/binder.js +290 -263
- package/dist/api/compiler/character-codes.js +2 -2
- package/dist/api/compiler/checker-calls.js +178 -124
- package/dist/api/compiler/checker-classes.d.ts +14 -3
- package/dist/api/compiler/checker-classes.js +134 -90
- package/dist/api/compiler/checker-contextual.js +64 -61
- package/dist/api/compiler/checker-declaration-order.js +79 -79
- package/dist/api/compiler/checker-declarations.d.ts +1 -0
- package/dist/api/compiler/checker-declarations.js +160 -136
- package/dist/api/compiler/checker-declared-types.js +67 -65
- package/dist/api/compiler/checker-decorators.js +77 -77
- package/dist/api/compiler/checker-deprecation.d.ts +8 -3
- package/dist/api/compiler/checker-deprecation.js +76 -55
- package/dist/api/compiler/checker-destructuring.js +47 -45
- package/dist/api/compiler/checker-elaboration.js +24 -24
- package/dist/api/compiler/checker-emit-helpers.js +4 -4
- package/dist/api/compiler/checker-emit-resolver.d.ts +4 -2
- package/dist/api/compiler/checker-emit-resolver.js +25 -13
- package/dist/api/compiler/checker-evaluator.js +9 -9
- package/dist/api/compiler/checker-expressions.js +244 -211
- package/dist/api/compiler/checker-functions.js +113 -107
- package/dist/api/compiler/checker-generated-code.d.ts +0 -11
- package/dist/api/compiler/checker-generated-code.js +28 -52
- package/dist/api/compiler/checker-grammar.d.ts +1 -0
- package/dist/api/compiler/checker-grammar.js +472 -440
- package/dist/api/compiler/checker-heritage.js +91 -93
- package/dist/api/compiler/checker-inference.d.ts +77 -5
- package/dist/api/compiler/checker-inference.js +487 -107
- package/dist/api/compiler/checker-iteration.d.ts +0 -10
- package/dist/api/compiler/checker-iteration.js +35 -52
- package/dist/api/compiler/checker-javascript.js +14 -14
- package/dist/api/compiler/checker-jsdoc.d.ts +8 -10
- package/dist/api/compiler/checker-jsdoc.js +67 -58
- package/dist/api/compiler/checker-jsx.js +105 -88
- package/dist/api/compiler/checker-members.d.ts +9 -2
- package/dist/api/compiler/checker-members.js +212 -75
- package/dist/api/compiler/checker-modules.d.ts +15 -6
- package/dist/api/compiler/checker-modules.js +469 -309
- package/dist/api/compiler/checker-narrowing.js +273 -189
- package/dist/api/compiler/checker-object-literals.js +25 -22
- package/dist/api/compiler/checker-operators.js +126 -118
- package/dist/api/compiler/checker-overloads.js +27 -27
- package/dist/api/compiler/checker-property-access.js +59 -55
- package/dist/api/compiler/checker-services.d.ts +1 -0
- package/dist/api/compiler/checker-services.js +222 -210
- package/dist/api/compiler/checker-signatures.js +65 -49
- package/dist/api/compiler/checker-source-file.d.ts +5 -0
- package/dist/api/compiler/checker-source-file.js +154 -130
- package/dist/api/compiler/checker-statements.js +33 -32
- package/dist/api/compiler/checker-super.js +50 -50
- package/dist/api/compiler/checker-symbol-types.js +109 -93
- package/dist/api/compiler/checker-symbols.d.ts +13 -1
- package/dist/api/compiler/checker-symbols.js +264 -149
- package/dist/api/compiler/checker-type-factory.d.ts +5 -0
- package/dist/api/compiler/checker-type-factory.js +145 -36
- package/dist/api/compiler/checker-type-nodes.d.ts +1 -0
- package/dist/api/compiler/checker-type-nodes.js +179 -141
- package/dist/api/compiler/checker-type-operators.d.ts +2 -0
- package/dist/api/compiler/checker-type-operators.js +110 -63
- package/dist/api/compiler/checker-types.d.ts +80 -3
- package/dist/api/compiler/checker-types.js +121 -2
- package/dist/api/compiler/checker-unused.js +114 -118
- package/dist/api/compiler/checker-utilities.js +11 -11
- package/dist/api/compiler/checker.d.ts +104 -31
- package/dist/api/compiler/checker.js +181 -33
- package/dist/api/compiler/command-line.d.ts +1 -3
- package/dist/api/compiler/command-line.js +47 -44
- package/dist/api/compiler/compile-program.d.ts +42 -3
- package/dist/api/compiler/compile-program.js +139 -27
- package/dist/api/compiler/diagnostic-messages.d.ts +1849 -1774
- package/dist/api/compiler/diagnostic-messages.js +128 -122
- package/dist/api/compiler/diagnostics.d.ts +22 -0
- package/dist/api/compiler/diagnostics.js +93 -11
- package/dist/api/compiler/emitter.d.ts +7 -1
- package/dist/api/compiler/emitter.js +53 -11
- package/dist/api/compiler/file-include.d.ts +2 -1
- package/dist/api/compiler/file-include.js +11 -7
- package/dist/api/compiler/file-loader.d.ts +21 -1
- package/dist/api/compiler/file-loader.js +201 -48
- package/dist/api/compiler/instantiation.d.ts +7 -0
- package/dist/api/compiler/instantiation.js +101 -49
- package/dist/api/compiler/jsdoc.js +23 -23
- package/dist/api/compiler/link-tables.d.ts +48 -18
- package/dist/api/compiler/link-tables.js +80 -37
- package/dist/api/compiler/locales/cs-CZ.d.ts +1 -1
- package/dist/api/compiler/locales/cs-CZ.js +1 -1
- package/dist/api/compiler/locales/de-DE.d.ts +1 -1
- package/dist/api/compiler/locales/de-DE.js +1 -1
- package/dist/api/compiler/locales/es-ES.d.ts +1 -1
- package/dist/api/compiler/locales/es-ES.js +1 -1
- package/dist/api/compiler/locales/fr-FR.d.ts +1 -1
- package/dist/api/compiler/locales/fr-FR.js +1 -1
- package/dist/api/compiler/locales/it-IT.d.ts +1 -1
- package/dist/api/compiler/locales/it-IT.js +1 -1
- package/dist/api/compiler/locales/ja-JP.d.ts +1 -1
- package/dist/api/compiler/locales/ja-JP.js +1 -1
- package/dist/api/compiler/locales/ko-KR.d.ts +1 -1
- package/dist/api/compiler/locales/ko-KR.js +1 -1
- package/dist/api/compiler/locales/pl-PL.d.ts +1 -1
- package/dist/api/compiler/locales/pl-PL.js +1 -1
- package/dist/api/compiler/locales/pt-BR.d.ts +1 -1
- package/dist/api/compiler/locales/pt-BR.js +1 -1
- package/dist/api/compiler/locales/ru-RU.d.ts +1 -1
- package/dist/api/compiler/locales/ru-RU.js +1 -1
- package/dist/api/compiler/locales/tr-TR.d.ts +1 -1
- package/dist/api/compiler/locales/tr-TR.js +1 -1
- package/dist/api/compiler/locales/zh-CN.d.ts +1 -1
- package/dist/api/compiler/locales/zh-CN.js +1 -1
- package/dist/api/compiler/locales/zh-TW.d.ts +1 -1
- package/dist/api/compiler/locales/zh-TW.js +1 -1
- package/dist/api/compiler/module-resolution-types.js +6 -6
- package/dist/api/compiler/module-resolution.d.ts +10 -1
- package/dist/api/compiler/module-resolution.js +115 -84
- package/dist/api/compiler/module-specifiers.d.ts +15 -0
- package/dist/api/compiler/module-specifiers.js +24 -18
- package/dist/api/compiler/name-resolver.js +74 -65
- package/dist/api/compiler/node-builder-names.d.ts +11 -3
- package/dist/api/compiler/node-builder-names.js +210 -90
- package/dist/api/compiler/node-builder-pseudo.js +29 -31
- package/dist/api/compiler/node-builder-reuse.js +23 -22
- package/dist/api/compiler/node-builder.d.ts +18 -1
- package/dist/api/compiler/node-builder.js +191 -102
- package/dist/api/compiler/option-declarations.d.ts +2 -6
- package/dist/api/compiler/option-declarations.js +315 -375
- package/dist/api/compiler/options.d.ts +15 -33
- package/dist/api/compiler/options.js +21 -54
- package/dist/api/compiler/output-paths.d.ts +4 -1
- package/dist/api/compiler/output-paths.js +6 -11
- package/dist/api/compiler/package-json.d.ts +3 -3
- package/dist/api/compiler/package-json.js +11 -10
- package/dist/api/compiler/parallel-parse.d.ts +3 -2
- package/dist/api/compiler/parallel-parse.js +17 -5
- package/dist/api/compiler/parser.d.ts +40 -19
- package/dist/api/compiler/parser.js +308 -216
- package/dist/api/compiler/path.d.ts +9 -0
- package/dist/api/compiler/path.js +20 -3
- package/dist/api/compiler/printer/emit-context.d.ts +5 -1
- package/dist/api/compiler/printer/emit-context.js +20 -1
- package/dist/api/compiler/printer/factory-base.d.ts +2 -2
- package/dist/api/compiler/printer/factory-base.js +7 -3
- package/dist/api/compiler/printer/factory.js +3 -1
- package/dist/api/compiler/printer/helpers.js +10 -1
- package/dist/api/compiler/printer/name-generator.d.ts +1 -1
- package/dist/api/compiler/printer/name-generator.js +35 -16
- package/dist/api/compiler/printer/printer.d.ts +49 -2
- package/dist/api/compiler/printer/printer.js +539 -293
- package/dist/api/compiler/printer/utilities.js +149 -147
- package/dist/api/compiler/program-checker.d.ts +12 -2
- package/dist/api/compiler/program-checker.js +88 -34
- package/dist/api/compiler/program-utilities.d.ts +3 -1
- package/dist/api/compiler/program-utilities.js +28 -15
- package/dist/api/compiler/program.d.ts +4 -6
- package/dist/api/compiler/program.js +74 -87
- package/dist/api/compiler/pseudo-bigint.d.ts +2 -0
- package/dist/api/compiler/pseudo-bigint.js +18 -0
- package/dist/api/compiler/regexp-checker.d.ts +1 -1
- package/dist/api/compiler/regexp-checker.js +93 -76
- package/dist/api/compiler/relations.d.ts +27 -4
- package/dist/api/compiler/relations.js +347 -180
- package/dist/api/compiler/reparser.js +60 -56
- package/dist/api/compiler/scanner.d.ts +19 -2
- package/dist/api/compiler/scanner.js +123 -108
- package/dist/api/compiler/shared-results.d.ts +463 -0
- package/dist/api/compiler/shared-results.js +2128 -0
- package/dist/api/compiler/sourcemap.js +2 -2
- package/dist/api/compiler/symbol-accessibility.js +87 -74
- package/dist/api/compiler/symbol.d.ts +23 -14
- package/dist/api/compiler/symbol.js +23 -11
- package/dist/api/compiler/syntax-kind.d.ts +198 -197
- package/dist/api/compiler/transformers/alias-references.js +247 -139
- package/dist/api/compiler/transformers/async-utilities.js +25 -25
- package/dist/api/compiler/transformers/async.d.ts +0 -1
- package/dist/api/compiler/transformers/async.js +64 -77
- package/dist/api/compiler/transformers/class-fields.d.ts +1 -0
- package/dist/api/compiler/transformers/class-fields.js +81 -78
- package/dist/api/compiler/transformers/commonjs-module.js +18 -15
- package/dist/api/compiler/transformers/const-enum-inliner.js +1 -1
- package/dist/api/compiler/transformers/declarations-diagnostics.js +247 -244
- package/dist/api/compiler/transformers/declarations-pseudo.js +100 -100
- package/dist/api/compiler/transformers/declarations-resolver.d.ts +0 -3
- package/dist/api/compiler/transformers/declarations-syntactic.d.ts +1 -2
- package/dist/api/compiler/transformers/declarations-syntactic.js +134 -156
- package/dist/api/compiler/transformers/declarations-tracker.js +18 -18
- package/dist/api/compiler/transformers/declarations.d.ts +4 -1
- package/dist/api/compiler/transformers/declarations.js +305 -238
- package/dist/api/compiler/transformers/decorator-metadata.d.ts +1 -1
- package/dist/api/compiler/transformers/decorator-metadata.js +53 -45
- package/dist/api/compiler/transformers/decorator-utilities.js +24 -24
- package/dist/api/compiler/transformers/destructuring.js +19 -18
- package/dist/api/compiler/transformers/emit-resolver.js +1 -1
- package/dist/api/compiler/transformers/es-decorators.js +55 -55
- package/dist/api/compiler/transformers/external-module-info.js +3 -3
- package/dist/api/compiler/transformers/for-await.js +25 -25
- package/dist/api/compiler/transformers/import-elision.js +14 -14
- package/dist/api/compiler/transformers/jsx.js +12 -12
- package/dist/api/compiler/transformers/legacy-decorators.js +17 -17
- package/dist/api/compiler/transformers/module.js +8 -8
- package/dist/api/compiler/transformers/named-evaluation.js +4 -4
- package/dist/api/compiler/transformers/object-rest-spread.js +20 -20
- package/dist/api/compiler/transformers/optional-chain.js +10 -10
- package/dist/api/compiler/transformers/reference-resolver.d.ts +12 -1
- package/dist/api/compiler/transformers/reference-resolver.js +131 -69
- package/dist/api/compiler/transformers/runtime-syntax.js +35 -31
- package/dist/api/compiler/transformers/subtree-facts.js +47 -47
- package/dist/api/compiler/transformers/syntax-facts.js +56 -58
- package/dist/api/compiler/transformers/type-eraser.js +73 -66
- package/dist/api/compiler/transformers/type-serialization.js +24 -24
- package/dist/api/compiler/transformers/using.js +12 -12
- package/dist/api/compiler/transformers/utilities.js +77 -77
- package/dist/api/compiler/transformers/visitor-base.js +172 -172
- package/dist/api/compiler/transformers/visitor-hooks.js +6 -2
- package/dist/api/compiler/tsconfig.d.ts +10 -2
- package/dist/api/compiler/tsconfig.js +136 -48
- package/dist/api/compiler/type-printer.js +40 -3
- package/dist/api/compiler/types.d.ts +2 -1
- package/dist/api/library/ast.generated.d.ts +42 -39
- package/dist/api/library/ast.generated.js +1 -1
- package/dist/api/library/compiler-options.generated.d.ts +111 -100
- package/dist/api/library/compiler-options.generated.js +1 -1
- package/dist/api/library/disk.js +12 -1
- package/dist/api/library/enums.generated.d.ts +206 -206
- package/dist/api/library/enums.generated.js +206 -206
- package/dist/api/library/nodes.js +26 -26
- package/package.json +9 -9
- package/src/compiler/ast-utilities.ts +99 -7
- package/src/compiler/ast.ts +58 -26
- package/src/compiler/binder.ts +39 -4
- package/src/compiler/character-codes.ts +2 -2
- package/src/compiler/checker-calls.ts +79 -9
- package/src/compiler/checker-classes.ts +78 -24
- package/src/compiler/checker-contextual.ts +6 -1
- package/src/compiler/checker-declarations.ts +31 -4
- package/src/compiler/checker-declared-types.ts +8 -5
- package/src/compiler/checker-decorators.ts +1 -1
- package/src/compiler/checker-deprecation.ts +29 -8
- package/src/compiler/checker-destructuring.ts +10 -3
- package/src/compiler/checker-emit-helpers.ts +1 -0
- package/src/compiler/checker-emit-resolver.ts +16 -6
- package/src/compiler/checker-expressions.ts +79 -46
- package/src/compiler/checker-functions.ts +21 -6
- package/src/compiler/checker-generated-code.ts +2 -22
- package/src/compiler/checker-grammar.ts +136 -62
- package/src/compiler/checker-heritage.ts +22 -21
- package/src/compiler/checker-inference.ts +514 -82
- package/src/compiler/checker-iteration.ts +18 -31
- package/src/compiler/checker-javascript.ts +1 -1
- package/src/compiler/checker-jsdoc.ts +50 -27
- package/src/compiler/checker-jsx.ts +26 -4
- package/src/compiler/checker-members.ts +200 -56
- package/src/compiler/checker-modules.ts +332 -65
- package/src/compiler/checker-narrowing.ts +98 -19
- package/src/compiler/checker-object-literals.ts +3 -0
- package/src/compiler/checker-operators.ts +11 -4
- package/src/compiler/checker-property-access.ts +7 -2
- package/src/compiler/checker-services.ts +39 -12
- package/src/compiler/checker-signatures.ts +15 -1
- package/src/compiler/checker-source-file.ts +39 -13
- package/src/compiler/checker-statements.ts +3 -2
- package/src/compiler/checker-symbol-types.ts +29 -6
- package/src/compiler/checker-symbols.ts +158 -15
- package/src/compiler/checker-type-factory.ts +124 -23
- package/src/compiler/checker-type-nodes.ts +46 -3
- package/src/compiler/checker-type-operators.ts +83 -26
- package/src/compiler/checker-types.ts +147 -4
- package/src/compiler/checker-unused.ts +9 -14
- package/src/compiler/checker.ts +203 -39
- package/src/compiler/command-line.ts +28 -28
- package/src/compiler/compile-program.ts +167 -27
- package/src/compiler/decoder.ts +13 -4
- package/src/compiler/diagnostic-messages.ts +1973 -1892
- package/src/compiler/diagnostics.ts +84 -3
- package/src/compiler/emitter.ts +57 -8
- package/src/compiler/encoder.ts +23 -8
- package/src/compiler/file-include.ts +9 -3
- package/src/compiler/file-loader.ts +197 -38
- package/src/compiler/help.ts +10 -14
- package/src/compiler/incremental.ts +165 -30
- package/src/compiler/init.ts +2 -7
- package/src/compiler/instantiation.ts +77 -22
- package/src/compiler/jsdoc.ts +3 -1
- package/src/compiler/link-tables.ts +82 -37
- package/src/compiler/locales/cs-CZ.ts +1 -1
- package/src/compiler/locales/de-DE.ts +1 -1
- package/src/compiler/locales/es-ES.ts +1 -1
- package/src/compiler/locales/fr-FR.ts +1 -1
- package/src/compiler/locales/it-IT.ts +1 -1
- package/src/compiler/locales/ja-JP.ts +1 -1
- package/src/compiler/locales/ko-KR.ts +1 -1
- package/src/compiler/locales/pl-PL.ts +1 -1
- package/src/compiler/locales/pt-BR.ts +1 -1
- package/src/compiler/locales/ru-RU.ts +1 -1
- package/src/compiler/locales/tr-TR.ts +1 -1
- package/src/compiler/locales/zh-CN.ts +1 -1
- package/src/compiler/locales/zh-TW.ts +1 -1
- package/src/compiler/module-resolution.ts +44 -8
- package/src/compiler/module-specifiers.ts +62 -20
- package/src/compiler/name-resolver.ts +9 -1
- package/src/compiler/node-builder-names.ts +236 -54
- package/src/compiler/node-builder-pseudo.ts +4 -7
- package/src/compiler/node-builder-reuse.ts +5 -4
- package/src/compiler/node-builder.ts +130 -31
- package/src/compiler/option-declarations.ts +33 -103
- package/src/compiler/options.ts +23 -62
- package/src/compiler/output-paths.ts +5 -18
- package/src/compiler/package-entrypoints.ts +345 -0
- package/src/compiler/package-json.ts +4 -4
- package/src/compiler/parallel-check.ts +326 -52
- package/src/compiler/parallel-emit.ts +320 -0
- package/src/compiler/parallel-parse.ts +16 -5
- package/src/compiler/parse-thread.ts +3 -0
- package/src/compiler/parser.ts +156 -39
- package/src/compiler/path.ts +22 -2
- package/src/compiler/printer/emit-context.ts +21 -0
- package/src/compiler/printer/factory-base.ts +10 -3
- package/src/compiler/printer/factory.ts +4 -1
- package/src/compiler/printer/helpers.ts +10 -1
- package/src/compiler/printer/name-generator.ts +24 -2
- package/src/compiler/printer/printer.ts +266 -30
- package/src/compiler/printer/utilities.ts +8 -2
- package/src/compiler/program-checker.ts +57 -5
- package/src/compiler/program-utilities.ts +23 -10
- package/src/compiler/program.ts +18 -26
- package/src/compiler/pseudo-bigint.ts +17 -0
- package/src/compiler/regexp-checker.ts +63 -30
- package/src/compiler/relations.ts +240 -77
- package/src/compiler/reparser.ts +7 -2
- package/src/compiler/scanner.ts +109 -79
- package/src/compiler/shared-results.ts +2414 -0
- package/src/compiler/show-config.ts +18 -1
- package/src/compiler/sourcemap.ts +2 -2
- package/src/compiler/symbol-accessibility.ts +26 -3
- package/src/compiler/symbol.ts +46 -24
- package/src/compiler/syntax-kind.ts +188 -187
- package/src/compiler/thread-entry.ts +64 -4
- package/src/compiler/transformers/alias-references.ts +123 -4
- package/src/compiler/transformers/async.ts +2 -17
- package/src/compiler/transformers/class-fields.ts +13 -12
- package/src/compiler/transformers/commonjs-module.ts +11 -7
- package/src/compiler/transformers/declarations-diagnostics.ts +5 -3
- package/src/compiler/transformers/declarations-pseudo.ts +2 -4
- package/src/compiler/transformers/declarations-resolver.ts +0 -3
- package/src/compiler/transformers/declarations-syntactic.ts +1 -21
- package/src/compiler/transformers/declarations.ts +134 -48
- package/src/compiler/transformers/decorator-metadata.ts +9 -1
- package/src/compiler/transformers/destructuring.ts +4 -3
- package/src/compiler/transformers/external-module-info.ts +1 -1
- package/src/compiler/transformers/jsx.ts +2 -1
- package/src/compiler/transformers/reference-resolver.ts +83 -19
- package/src/compiler/transformers/runtime-syntax.ts +6 -1
- package/src/compiler/transformers/syntax-facts.ts +2 -7
- package/src/compiler/transformers/type-eraser.ts +10 -1
- package/src/compiler/transformers/type-serialization.ts +3 -2
- package/src/compiler/transformers/visitor-base.ts +2 -1
- package/src/compiler/transformers/visitor-hooks.ts +9 -4
- package/src/compiler/tsc-build.ts +66 -9
- package/src/compiler/tsc-cli.ts +7 -0
- package/src/compiler/tsc-compile.ts +284 -4
- package/src/compiler/tsc-watch.ts +74 -45
- package/src/compiler/tsconfig.ts +176 -19
- package/src/compiler/type-printer.ts +36 -2
- package/src/compiler/types.ts +2 -1
- package/src/library/ast.generated.ts +57 -41
- package/src/library/compiler-options.generated.ts +117 -103
- package/src/library/disk.ts +10 -1
- package/src/library/enums.generated.ts +196 -196
|
@@ -42,7 +42,7 @@ function ambient(node) {
|
|
|
42
42
|
/** TypeScript syntax of the node itself, beyond what its children contribute. */
|
|
43
43
|
function ownFacts(node) {
|
|
44
44
|
const kind = node.kind;
|
|
45
|
-
if (isTypeNodeKind(kind) && kind !==
|
|
45
|
+
if (isTypeNodeKind(kind) && kind !== 235 /* SyntaxKind.ExpressionWithTypeArguments */)
|
|
46
46
|
return 1 /* Facts.TypeScript */;
|
|
47
47
|
switch (kind) {
|
|
48
48
|
case 124 /* SyntaxKind.PublicKeyword */:
|
|
@@ -56,33 +56,33 @@ function ownFacts(node) {
|
|
|
56
56
|
case 147 /* SyntaxKind.OutKeyword */:
|
|
57
57
|
case 164 /* SyntaxKind.OverrideKeyword */:
|
|
58
58
|
case 94 /* SyntaxKind.ExportKeyword */:
|
|
59
|
-
case
|
|
60
|
-
case
|
|
61
|
-
case
|
|
62
|
-
case
|
|
63
|
-
case
|
|
64
|
-
case
|
|
65
|
-
case
|
|
66
|
-
case
|
|
67
|
-
case
|
|
68
|
-
case
|
|
69
|
-
case
|
|
70
|
-
case
|
|
71
|
-
case
|
|
72
|
-
case
|
|
73
|
-
case
|
|
74
|
-
case
|
|
75
|
-
case
|
|
76
|
-
case
|
|
77
|
-
case
|
|
59
|
+
case 172 /* SyntaxKind.Decorator */:
|
|
60
|
+
case 307 /* SyntaxKind.EnumMember */:
|
|
61
|
+
case 268 /* SyntaxKind.EnumDeclaration */:
|
|
62
|
+
case 269 /* SyntaxKind.ModuleDeclaration */:
|
|
63
|
+
case 305 /* SyntaxKind.ShorthandPropertyAssignment */:
|
|
64
|
+
case 236 /* SyntaxKind.AsExpression */:
|
|
65
|
+
case 240 /* SyntaxKind.SatisfiesExpression */:
|
|
66
|
+
case 237 /* SyntaxKind.NonNullExpression */:
|
|
67
|
+
case 218 /* SyntaxKind.TypeAssertionExpression */:
|
|
68
|
+
case 266 /* SyntaxKind.InterfaceDeclaration */:
|
|
69
|
+
case 267 /* SyntaxKind.TypeAliasDeclaration */:
|
|
70
|
+
case 346 /* SyntaxKind.JSTypeAliasDeclaration */:
|
|
71
|
+
case 272 /* SyntaxKind.NamespaceExportDeclaration */:
|
|
72
|
+
case 181 /* SyntaxKind.CallSignature */:
|
|
73
|
+
case 182 /* SyntaxKind.ConstructSignature */:
|
|
74
|
+
case 183 /* SyntaxKind.IndexSignature */:
|
|
75
|
+
case 175 /* SyntaxKind.MethodSignature */:
|
|
76
|
+
case 173 /* SyntaxKind.PropertySignature */:
|
|
77
|
+
case 170 /* SyntaxKind.TypeParameter */:
|
|
78
78
|
return 1 /* Facts.TypeScript */;
|
|
79
|
-
case
|
|
79
|
+
case 245 /* SyntaxKind.VariableStatement */:
|
|
80
80
|
return node instanceof VariableStatement && ambient(node) ? 1 /* Facts.TypeScript */ : 0 /* Facts.None */;
|
|
81
|
-
case
|
|
81
|
+
case 262 /* SyntaxKind.VariableDeclaration */:
|
|
82
82
|
return node instanceof VariableDeclaration && (node.exclamationToken !== undefined || node.type !== undefined)
|
|
83
83
|
? 1 /* Facts.TypeScript */
|
|
84
84
|
: 0 /* Facts.None */;
|
|
85
|
-
case
|
|
85
|
+
case 171 /* SyntaxKind.Parameter */:
|
|
86
86
|
if (node instanceof ParameterDeclaration)
|
|
87
87
|
return (node.name instanceof Identifier && node.name.text === 'this') ||
|
|
88
88
|
node.questionToken !== undefined ||
|
|
@@ -90,7 +90,7 @@ function ownFacts(node) {
|
|
|
90
90
|
? 1 /* Facts.TypeScript */
|
|
91
91
|
: 0 /* Facts.None */;
|
|
92
92
|
break;
|
|
93
|
-
case
|
|
93
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
94
94
|
if (node instanceof FunctionDeclaration)
|
|
95
95
|
return node.body === undefined ||
|
|
96
96
|
ambient(node) ||
|
|
@@ -100,40 +100,40 @@ function ownFacts(node) {
|
|
|
100
100
|
? 1 /* Facts.TypeScript */
|
|
101
101
|
: 0 /* Facts.None */;
|
|
102
102
|
break;
|
|
103
|
-
case
|
|
103
|
+
case 265 /* SyntaxKind.ClassDeclaration */:
|
|
104
104
|
if (node instanceof ClassDeclaration)
|
|
105
105
|
return ambient(node) || node.typeParameters !== undefined ? 1 /* Facts.TypeScript */ : 0 /* Facts.None */;
|
|
106
106
|
break;
|
|
107
|
-
case
|
|
107
|
+
case 233 /* SyntaxKind.ClassExpression */:
|
|
108
108
|
if (node instanceof ClassExpression)
|
|
109
109
|
return ambient(node) || node.typeParameters !== undefined ? 1 /* Facts.TypeScript */ : 0 /* Facts.None */;
|
|
110
110
|
break;
|
|
111
|
-
case
|
|
111
|
+
case 300 /* SyntaxKind.HeritageClause */:
|
|
112
112
|
if (node instanceof HeritageClause) {
|
|
113
113
|
if (node.token === 118 /* SyntaxKind.ImplementsKeyword */)
|
|
114
114
|
return 1 /* Facts.TypeScript */;
|
|
115
115
|
return node.token === 95 /* SyntaxKind.ExtendsKeyword */ ? 0 /* Facts.None */ : 2 /* Facts.Final */;
|
|
116
116
|
}
|
|
117
117
|
break;
|
|
118
|
-
case
|
|
118
|
+
case 273 /* SyntaxKind.ImportEqualsDeclaration */:
|
|
119
119
|
if (node instanceof ImportEqualsDeclaration)
|
|
120
|
-
return node.isTypeOnly || node.moduleReference.kind !==
|
|
120
|
+
return node.isTypeOnly || node.moduleReference.kind !== 285 /* SyntaxKind.ExternalModuleReference */
|
|
121
121
|
? 1 /* Facts.TypeScript */
|
|
122
122
|
: 0 /* Facts.None */;
|
|
123
123
|
break;
|
|
124
|
-
case
|
|
124
|
+
case 278 /* SyntaxKind.ImportSpecifier */:
|
|
125
125
|
return node instanceof ImportSpecifier && node.isTypeOnly ? 1 /* Facts.TypeScript */ : 0 /* Facts.None */;
|
|
126
|
-
case
|
|
126
|
+
case 275 /* SyntaxKind.ImportClause */:
|
|
127
127
|
return node instanceof ImportClause && node.phaseModifier === 156 /* SyntaxKind.TypeKeyword */
|
|
128
128
|
? 1 /* Facts.TypeScript */
|
|
129
129
|
: 0 /* Facts.None */;
|
|
130
|
-
case
|
|
130
|
+
case 279 /* SyntaxKind.ExportAssignment */:
|
|
131
131
|
return node instanceof ExportAssignment && node.isExportEquals ? 1 /* Facts.TypeScript */ : 0 /* Facts.None */;
|
|
132
|
-
case
|
|
132
|
+
case 280 /* SyntaxKind.ExportDeclaration */:
|
|
133
133
|
return node instanceof ExportDeclaration && node.isTypeOnly ? 1 /* Facts.TypeScript */ : 0 /* Facts.None */;
|
|
134
|
-
case
|
|
134
|
+
case 283 /* SyntaxKind.ExportSpecifier */:
|
|
135
135
|
return node instanceof ExportSpecifier && node.isTypeOnly ? 1 /* Facts.TypeScript */ : 0 /* Facts.None */;
|
|
136
|
-
case
|
|
136
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
137
137
|
if (node instanceof ConstructorDeclaration)
|
|
138
138
|
return node.body === undefined ||
|
|
139
139
|
node.typeParameters !== undefined ||
|
|
@@ -142,7 +142,7 @@ function ownFacts(node) {
|
|
|
142
142
|
? 1 /* Facts.TypeScript */
|
|
143
143
|
: 0 /* Facts.None */;
|
|
144
144
|
break;
|
|
145
|
-
case
|
|
145
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
146
146
|
if (node instanceof GetAccessorDeclaration)
|
|
147
147
|
return node.body === undefined ||
|
|
148
148
|
node.typeParameters !== undefined ||
|
|
@@ -151,7 +151,7 @@ function ownFacts(node) {
|
|
|
151
151
|
? 1 /* Facts.TypeScript */
|
|
152
152
|
: 0 /* Facts.None */;
|
|
153
153
|
break;
|
|
154
|
-
case
|
|
154
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
155
155
|
if (node instanceof SetAccessorDeclaration)
|
|
156
156
|
return node.body === undefined ||
|
|
157
157
|
node.typeParameters !== undefined ||
|
|
@@ -160,7 +160,7 @@ function ownFacts(node) {
|
|
|
160
160
|
? 1 /* Facts.TypeScript */
|
|
161
161
|
: 0 /* Facts.None */;
|
|
162
162
|
break;
|
|
163
|
-
case
|
|
163
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
164
164
|
if (node instanceof MethodDeclaration)
|
|
165
165
|
return node.body === undefined ||
|
|
166
166
|
node.postfixToken !== undefined ||
|
|
@@ -170,35 +170,35 @@ function ownFacts(node) {
|
|
|
170
170
|
? 1 /* Facts.TypeScript */
|
|
171
171
|
: 0 /* Facts.None */;
|
|
172
172
|
break;
|
|
173
|
-
case
|
|
173
|
+
case 174 /* SyntaxKind.PropertyDeclaration */:
|
|
174
174
|
return node instanceof PropertyDeclaration && (node.postfixToken !== undefined || node.type !== undefined)
|
|
175
175
|
? 1 /* Facts.TypeScript */
|
|
176
176
|
: 0 /* Facts.None */;
|
|
177
|
-
case
|
|
177
|
+
case 221 /* SyntaxKind.ArrowFunction */:
|
|
178
178
|
return node instanceof ArrowFunction &&
|
|
179
179
|
(node.typeParameters !== undefined || node.type !== undefined || node.fullSignature !== undefined)
|
|
180
180
|
? 1 /* Facts.TypeScript */
|
|
181
181
|
: 0 /* Facts.None */;
|
|
182
|
-
case
|
|
182
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
183
183
|
return node instanceof FunctionExpression &&
|
|
184
184
|
(node.typeParameters !== undefined || node.type !== undefined || node.fullSignature !== undefined)
|
|
185
185
|
? 1 /* Facts.TypeScript */
|
|
186
186
|
: 0 /* Facts.None */;
|
|
187
|
-
case
|
|
187
|
+
case 215 /* SyntaxKind.CallExpression */:
|
|
188
188
|
return node instanceof CallExpression && callTypeArguments(node) !== undefined ? 1 /* Facts.TypeScript */ : 0 /* Facts.None */;
|
|
189
|
-
case
|
|
189
|
+
case 216 /* SyntaxKind.NewExpression */:
|
|
190
190
|
return node instanceof NewExpression && node.typeArguments !== undefined ? 1 /* Facts.TypeScript */ : 0 /* Facts.None */;
|
|
191
|
-
case
|
|
191
|
+
case 217 /* SyntaxKind.TaggedTemplateExpression */:
|
|
192
192
|
return node instanceof TaggedTemplateExpression && node.typeArguments !== undefined
|
|
193
193
|
? 1 /* Facts.TypeScript */
|
|
194
194
|
: 0 /* Facts.None */;
|
|
195
|
-
case
|
|
195
|
+
case 235 /* SyntaxKind.ExpressionWithTypeArguments */:
|
|
196
196
|
return node instanceof ExpressionWithTypeArguments && node.typeArguments !== undefined
|
|
197
197
|
? 1 /* Facts.TypeScript */
|
|
198
198
|
: 0 /* Facts.None */;
|
|
199
|
-
case
|
|
199
|
+
case 288 /* SyntaxKind.JsxOpeningElement */:
|
|
200
200
|
return node instanceof JsxOpeningElement && node.typeArguments !== undefined ? 1 /* Facts.TypeScript */ : 0 /* Facts.None */;
|
|
201
|
-
case
|
|
201
|
+
case 287 /* SyntaxKind.JsxSelfClosingElement */:
|
|
202
202
|
return node instanceof JsxSelfClosingElement && node.typeArguments !== undefined ? 1 /* Facts.TypeScript */ : 0 /* Facts.None */;
|
|
203
203
|
}
|
|
204
204
|
return 0 /* Facts.None */;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// What syntax a subtree contains, computed as tsgo's subtree facts are. Downlevel transforms
|
|
2
2
|
// skip subtrees without the syntax they lower.
|
|
3
|
-
import { BindingElement,
|
|
3
|
+
import { BindingElement, CatchClause, ForInOrOfStatement, Identifier, MetaProperty, NodeVisitor, NoSubstitutionTemplateLiteral, PropertyAccessExpression, TemplateHead, TemplateMiddle, TemplateTail, VariableDeclarationList, getModifiers, getName, } from '../ast.js';
|
|
4
4
|
import { ClusteredIntLinkTable } from '../link-tables.js';
|
|
5
5
|
import { isTypeNodeKind } from '../printer/utilities.js';
|
|
6
|
+
import { isImportCall } from '../ast-utilities.js';
|
|
6
7
|
import { getElementsOfBindingOrAssignmentPattern, getTargetOfBindingOrAssignmentElement } from './destructuring.js';
|
|
7
8
|
/** Marks a computed entry of `SyntaxFacts.cache`, whose facts may be `None`. */
|
|
8
9
|
const computedFacts = 1 << 30;
|
|
@@ -40,30 +41,30 @@ export class SyntaxFacts extends NodeVisitor {
|
|
|
40
41
|
if (node === undefined)
|
|
41
42
|
return 0 /* SubtreeFacts.None */;
|
|
42
43
|
const kind = node.kind;
|
|
43
|
-
if (isTypeNodeKind(kind) && kind !==
|
|
44
|
+
if (isTypeNodeKind(kind) && kind !== 235 /* SyntaxKind.ExpressionWithTypeArguments */)
|
|
44
45
|
return 1 /* SubtreeFacts.ContainsTypeScript */;
|
|
45
46
|
const facts = this.of(node);
|
|
46
47
|
switch (kind) {
|
|
47
|
-
case
|
|
48
|
+
case 221 /* SyntaxKind.ArrowFunction */:
|
|
48
49
|
return facts & ~49152 /* Exclusions.ArrowFunction */;
|
|
49
|
-
case
|
|
50
|
-
case
|
|
51
|
-
case
|
|
50
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
51
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
52
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
52
53
|
return facts & ~55296 /* Exclusions.Function */;
|
|
53
|
-
case
|
|
54
|
-
case
|
|
55
|
-
case
|
|
54
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
55
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
56
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
56
57
|
return (facts & ~55296 /* Exclusions.Function */) | this.propagate(getName(node));
|
|
57
|
-
case
|
|
58
|
+
case 174 /* SyntaxKind.PropertyDeclaration */:
|
|
58
59
|
return (facts & ~6144 /* Exclusions.Property */) | this.propagate(getName(node));
|
|
59
|
-
case
|
|
60
|
+
case 269 /* SyntaxKind.ModuleDeclaration */:
|
|
60
61
|
return facts & ~6144 /* Exclusions.Module */;
|
|
61
|
-
case
|
|
62
|
-
case
|
|
63
|
-
case
|
|
62
|
+
case 212 /* SyntaxKind.ObjectLiteralExpression */:
|
|
63
|
+
case 263 /* SyntaxKind.VariableDeclarationList */:
|
|
64
|
+
case 301 /* SyntaxKind.CatchClause */:
|
|
64
65
|
return facts & ~16384 /* Exclusions.ObjectRestOrSpread */;
|
|
65
|
-
case
|
|
66
|
-
case
|
|
66
|
+
case 208 /* SyntaxKind.ObjectBindingPattern */:
|
|
67
|
+
case 209 /* SyntaxKind.ArrayBindingPattern */:
|
|
67
68
|
return facts & ~8192 /* Exclusions.BindingPattern */;
|
|
68
69
|
}
|
|
69
70
|
return facts;
|
|
@@ -122,82 +123,79 @@ export class SyntaxFacts extends NodeVisitor {
|
|
|
122
123
|
return node instanceof TemplateTail && invalidEscape(node.templateFlags)
|
|
123
124
|
? 2097152 /* SubtreeFacts.ContainsInvalidTemplateEscape */
|
|
124
125
|
: 0 /* SubtreeFacts.None */;
|
|
125
|
-
case
|
|
126
|
+
case 172 /* SyntaxKind.Decorator */:
|
|
126
127
|
return this.children(node) | 1 /* SubtreeFacts.ContainsTypeScript */ | 262144 /* SubtreeFacts.ContainsDecorators */;
|
|
127
|
-
case
|
|
128
|
-
case
|
|
128
|
+
case 251 /* SyntaxKind.ForInStatement */:
|
|
129
|
+
case 252 /* SyntaxKind.ForOfStatement */:
|
|
129
130
|
return (this.children(node) |
|
|
130
131
|
(node instanceof ForInOrOfStatement && node.awaitModifier !== undefined
|
|
131
132
|
? 256 /* SubtreeFacts.ContainsForAwaitOrAsyncGenerator */
|
|
132
133
|
: 0 /* SubtreeFacts.None */));
|
|
133
|
-
case
|
|
134
|
-
case
|
|
134
|
+
case 255 /* SyntaxKind.ReturnStatement */:
|
|
135
|
+
case 231 /* SyntaxKind.YieldExpression */:
|
|
135
136
|
// Returns and yields in an ES2018 async generator are awaited.
|
|
136
137
|
return this.children(node) | 256 /* SubtreeFacts.ContainsForAwaitOrAsyncGenerator */;
|
|
137
|
-
case
|
|
138
|
+
case 225 /* SyntaxKind.AwaitExpression */:
|
|
138
139
|
return (this.children(node) |
|
|
139
140
|
32768 /* SubtreeFacts.ContainsAwait */ |
|
|
140
141
|
512 /* SubtreeFacts.ContainsAnyAwait */ |
|
|
141
142
|
256 /* SubtreeFacts.ContainsForAwaitOrAsyncGenerator */);
|
|
142
|
-
case
|
|
143
|
+
case 301 /* SyntaxKind.CatchClause */:
|
|
143
144
|
return (this.children(node) |
|
|
144
145
|
(node instanceof CatchClause && node.variableDeclaration === undefined
|
|
145
146
|
? 64 /* SubtreeFacts.ContainsMissingCatchClauseVariable */
|
|
146
147
|
: 0 /* SubtreeFacts.None */));
|
|
147
|
-
case
|
|
148
|
+
case 263 /* SyntaxKind.VariableDeclarationList */:
|
|
148
149
|
return (this.children(node) |
|
|
149
150
|
(node instanceof VariableDeclarationList && (node.flags & 4 /* NodeFlags.Using */) !== 0
|
|
150
151
|
? 4 /* SubtreeFacts.ContainsUsing */
|
|
151
152
|
: 0 /* SubtreeFacts.None */));
|
|
152
|
-
case
|
|
153
|
-
case
|
|
153
|
+
case 208 /* SyntaxKind.ObjectBindingPattern */:
|
|
154
|
+
case 209 /* SyntaxKind.ArrayBindingPattern */:
|
|
154
155
|
return this.bindingPattern(node);
|
|
155
|
-
case
|
|
156
|
+
case 210 /* SyntaxKind.BindingElement */:
|
|
156
157
|
return (this.children(node) |
|
|
157
158
|
(node instanceof BindingElement && node.dotDotDotToken !== undefined
|
|
158
159
|
? 8192 /* SubtreeFacts.ContainsRestOrSpread */
|
|
159
160
|
: 0 /* SubtreeFacts.None */));
|
|
160
|
-
case
|
|
161
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
161
162
|
return this.children(node) | asyncFacts(node, node.asteriskToken !== undefined);
|
|
162
|
-
case
|
|
163
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
163
164
|
return this.children(node) | asyncFacts(node, node.asteriskToken !== undefined);
|
|
164
|
-
case
|
|
165
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
165
166
|
return this.children(node) | asyncFacts(node, node.asteriskToken !== undefined);
|
|
166
|
-
case
|
|
167
|
+
case 221 /* SyntaxKind.ArrowFunction */:
|
|
167
168
|
return this.children(node) | asyncFacts(node, false);
|
|
168
|
-
case
|
|
169
|
-
case
|
|
169
|
+
case 174 /* SyntaxKind.PropertyDeclaration */:
|
|
170
|
+
case 177 /* SyntaxKind.ClassStaticBlockDeclaration */:
|
|
170
171
|
return this.children(node) | 131072 /* SubtreeFacts.ContainsClassFields */;
|
|
171
|
-
case
|
|
172
|
+
case 228 /* SyntaxKind.BinaryExpression */:
|
|
172
173
|
return this.children(node) | this.binaryFacts(node);
|
|
173
|
-
case
|
|
174
|
+
case 213 /* SyntaxKind.PropertyAccessExpression */:
|
|
174
175
|
return (this.children(node) |
|
|
175
176
|
(node instanceof PropertyAccessExpression && !(node.name instanceof Identifier)
|
|
176
177
|
? 1048576 /* SubtreeFacts.ContainsPrivateIdentifierInExpression */
|
|
177
178
|
: 0 /* SubtreeFacts.None */));
|
|
178
|
-
case
|
|
179
|
-
return
|
|
180
|
-
|
|
181
|
-
? 65536 /* SubtreeFacts.ContainsDynamicImport */
|
|
182
|
-
: 0 /* SubtreeFacts.None */));
|
|
183
|
-
case 237 /* SyntaxKind.MetaProperty */:
|
|
179
|
+
case 215 /* SyntaxKind.CallExpression */:
|
|
180
|
+
return this.children(node) | (isImportCall(node) ? 65536 /* SubtreeFacts.ContainsDynamicImport */ : 0 /* SubtreeFacts.None */);
|
|
181
|
+
case 238 /* SyntaxKind.MetaProperty */:
|
|
184
182
|
return node instanceof MetaProperty ? this.propagate(node.name) & ~524288 /* SubtreeFacts.ContainsIdentifier */ : 0;
|
|
185
|
-
case
|
|
183
|
+
case 232 /* SyntaxKind.SpreadElement */:
|
|
186
184
|
return this.children(node) | 8192 /* SubtreeFacts.ContainsRestOrSpread */;
|
|
187
|
-
case
|
|
185
|
+
case 306 /* SyntaxKind.SpreadAssignment */:
|
|
188
186
|
return (this.children(node) | 128 /* SubtreeFacts.ContainsESObjectRestOrSpread */ | 16384 /* SubtreeFacts.ContainsObjectRestOrSpread */);
|
|
189
|
-
case
|
|
190
|
-
case
|
|
191
|
-
case
|
|
192
|
-
case
|
|
193
|
-
case
|
|
194
|
-
case
|
|
195
|
-
case
|
|
196
|
-
case
|
|
197
|
-
case
|
|
198
|
-
case
|
|
199
|
-
case
|
|
200
|
-
case
|
|
187
|
+
case 286 /* SyntaxKind.JsxElement */:
|
|
188
|
+
case 294 /* SyntaxKind.JsxAttributes */:
|
|
189
|
+
case 297 /* SyntaxKind.JsxNamespacedName */:
|
|
190
|
+
case 288 /* SyntaxKind.JsxOpeningElement */:
|
|
191
|
+
case 287 /* SyntaxKind.JsxSelfClosingElement */:
|
|
192
|
+
case 290 /* SyntaxKind.JsxFragment */:
|
|
193
|
+
case 291 /* SyntaxKind.JsxOpeningFragment */:
|
|
194
|
+
case 292 /* SyntaxKind.JsxClosingFragment */:
|
|
195
|
+
case 293 /* SyntaxKind.JsxAttribute */:
|
|
196
|
+
case 295 /* SyntaxKind.JsxSpreadAttribute */:
|
|
197
|
+
case 289 /* SyntaxKind.JsxClosingElement */:
|
|
198
|
+
case 296 /* SyntaxKind.JsxExpression */:
|
|
201
199
|
case 11 /* SyntaxKind.JsxText */:
|
|
202
200
|
return this.children(node) | 2 /* SubtreeFacts.ContainsJsx */;
|
|
203
201
|
}
|
|
@@ -205,7 +203,7 @@ export class SyntaxFacts extends NodeVisitor {
|
|
|
205
203
|
}
|
|
206
204
|
bindingPattern(node) {
|
|
207
205
|
const elements = node.elements.nodes;
|
|
208
|
-
const object = node.kind ===
|
|
206
|
+
const object = node.kind === 208 /* SyntaxKind.ObjectBindingPattern */;
|
|
209
207
|
let facts = 0 /* SubtreeFacts.None */;
|
|
210
208
|
for (const child of elements) {
|
|
211
209
|
let element = this.propagate(child);
|
|
@@ -223,7 +221,7 @@ export class SyntaxFacts extends NodeVisitor {
|
|
|
223
221
|
if (operator === 102 /* SyntaxKind.InKeyword */ && node.left.kind === 80 /* SyntaxKind.PrivateIdentifier */)
|
|
224
222
|
return 131072 /* SubtreeFacts.ContainsClassFields */ | 1048576 /* SubtreeFacts.ContainsPrivateIdentifierInExpression */;
|
|
225
223
|
if (operator === 63 /* SyntaxKind.EqualsToken */ &&
|
|
226
|
-
(node.left.kind ===
|
|
224
|
+
(node.left.kind === 212 /* SyntaxKind.ObjectLiteralExpression */ || node.left.kind === 211 /* SyntaxKind.ArrayLiteralExpression */) &&
|
|
227
225
|
this.containsObjectRestOrSpread(node.left))
|
|
228
226
|
return 16384 /* SubtreeFacts.ContainsObjectRestOrSpread */;
|
|
229
227
|
return 0 /* SubtreeFacts.None */;
|
|
@@ -240,7 +238,7 @@ export class SyntaxFacts extends NodeVisitor {
|
|
|
240
238
|
for (const element of elements) {
|
|
241
239
|
const target = getTargetOfBindingOrAssignmentElement(element);
|
|
242
240
|
if (target !== undefined &&
|
|
243
|
-
(target.kind ===
|
|
241
|
+
(target.kind === 212 /* SyntaxKind.ObjectLiteralExpression */ || target.kind === 211 /* SyntaxKind.ArrayLiteralExpression */) &&
|
|
244
242
|
this.containsObjectRestOrSpread(target))
|
|
245
243
|
return true;
|
|
246
244
|
}
|