tsc-ts 0.0.10 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/tsc-ts.js +70 -1
- package/dist/api/compiler/ast-utilities.d.ts +19 -1
- package/dist/api/compiler/ast-utilities.js +180 -95
- package/dist/api/compiler/ast.d.ts +29 -18
- package/dist/api/compiler/ast.js +1040 -1007
- package/dist/api/compiler/astnav.js +15 -15
- package/dist/api/compiler/binder-utilities.js +186 -186
- package/dist/api/compiler/binder.js +290 -263
- package/dist/api/compiler/character-codes.js +2 -2
- package/dist/api/compiler/checker-calls.js +173 -123
- package/dist/api/compiler/checker-classes.d.ts +14 -3
- package/dist/api/compiler/checker-classes.js +136 -91
- package/dist/api/compiler/checker-contextual.d.ts +20 -0
- package/dist/api/compiler/checker-contextual.js +175 -62
- package/dist/api/compiler/checker-declaration-order.js +79 -79
- package/dist/api/compiler/checker-declarations.d.ts +1 -0
- package/dist/api/compiler/checker-declarations.js +160 -136
- package/dist/api/compiler/checker-declared-types.js +67 -65
- package/dist/api/compiler/checker-decorators.js +77 -77
- package/dist/api/compiler/checker-deprecation.d.ts +8 -3
- package/dist/api/compiler/checker-deprecation.js +76 -55
- package/dist/api/compiler/checker-destructuring.js +47 -45
- package/dist/api/compiler/checker-elaboration.js +24 -24
- package/dist/api/compiler/checker-emit-helpers.js +4 -4
- package/dist/api/compiler/checker-emit-resolver.d.ts +4 -2
- package/dist/api/compiler/checker-emit-resolver.js +25 -13
- package/dist/api/compiler/checker-evaluator.js +9 -9
- package/dist/api/compiler/checker-expressions.js +258 -212
- package/dist/api/compiler/checker-functions.js +113 -107
- package/dist/api/compiler/checker-generated-code.d.ts +0 -11
- package/dist/api/compiler/checker-generated-code.js +28 -52
- package/dist/api/compiler/checker-grammar.d.ts +1 -0
- package/dist/api/compiler/checker-grammar.js +469 -438
- package/dist/api/compiler/checker-heritage.js +91 -93
- package/dist/api/compiler/checker-inference.d.ts +77 -5
- package/dist/api/compiler/checker-inference.js +487 -113
- package/dist/api/compiler/checker-iteration.d.ts +0 -10
- package/dist/api/compiler/checker-iteration.js +35 -52
- package/dist/api/compiler/checker-javascript.js +14 -14
- package/dist/api/compiler/checker-jsdoc.d.ts +8 -10
- package/dist/api/compiler/checker-jsdoc.js +67 -58
- package/dist/api/compiler/checker-jsx.js +107 -89
- package/dist/api/compiler/checker-members.d.ts +9 -2
- package/dist/api/compiler/checker-members.js +210 -74
- package/dist/api/compiler/checker-modules.d.ts +15 -6
- package/dist/api/compiler/checker-modules.js +469 -309
- package/dist/api/compiler/checker-narrowing.js +273 -189
- package/dist/api/compiler/checker-object-literals.js +25 -22
- package/dist/api/compiler/checker-operators.js +126 -118
- package/dist/api/compiler/checker-overloads.js +27 -27
- package/dist/api/compiler/checker-property-access.js +59 -55
- package/dist/api/compiler/checker-services.d.ts +1 -0
- package/dist/api/compiler/checker-services.js +222 -210
- package/dist/api/compiler/checker-signatures.js +65 -49
- package/dist/api/compiler/checker-source-file.d.ts +5 -0
- package/dist/api/compiler/checker-source-file.js +154 -130
- package/dist/api/compiler/checker-statements.js +33 -32
- package/dist/api/compiler/checker-super.js +50 -50
- package/dist/api/compiler/checker-symbol-types.js +109 -93
- package/dist/api/compiler/checker-symbols.d.ts +13 -1
- package/dist/api/compiler/checker-symbols.js +264 -149
- package/dist/api/compiler/checker-type-factory.d.ts +5 -0
- package/dist/api/compiler/checker-type-factory.js +190 -46
- package/dist/api/compiler/checker-type-nodes.d.ts +1 -0
- package/dist/api/compiler/checker-type-nodes.js +179 -141
- package/dist/api/compiler/checker-type-operators.d.ts +2 -0
- package/dist/api/compiler/checker-type-operators.js +110 -63
- package/dist/api/compiler/checker-types.d.ts +80 -3
- package/dist/api/compiler/checker-types.js +121 -2
- package/dist/api/compiler/checker-unused.js +114 -118
- package/dist/api/compiler/checker-utilities.js +11 -11
- package/dist/api/compiler/checker.d.ts +97 -31
- package/dist/api/compiler/checker.js +149 -35
- package/dist/api/compiler/command-line.d.ts +1 -3
- package/dist/api/compiler/command-line.js +47 -44
- package/dist/api/compiler/compile-program.d.ts +24 -4
- package/dist/api/compiler/compile-program.js +53 -26
- package/dist/api/compiler/diagnostic-messages.d.ts +1849 -1774
- package/dist/api/compiler/diagnostic-messages.js +128 -122
- package/dist/api/compiler/diagnostics.js +7 -7
- package/dist/api/compiler/emitter.d.ts +7 -1
- package/dist/api/compiler/emitter.js +53 -11
- package/dist/api/compiler/expr-record.d.ts +11 -0
- package/dist/api/compiler/expr-record.js +53 -0
- package/dist/api/compiler/file-include.d.ts +2 -1
- package/dist/api/compiler/file-include.js +11 -7
- package/dist/api/compiler/file-loader.d.ts +10 -0
- package/dist/api/compiler/file-loader.js +138 -41
- package/dist/api/compiler/identifier-name.d.ts +9 -0
- package/dist/api/compiler/identifier-name.js +10 -0
- package/dist/api/compiler/instantiation.d.ts +7 -0
- package/dist/api/compiler/instantiation.js +101 -49
- package/dist/api/compiler/jsdoc.js +27 -25
- package/dist/api/compiler/link-tables.d.ts +48 -18
- package/dist/api/compiler/link-tables.js +80 -37
- package/dist/api/compiler/locales/cs-CZ.d.ts +1 -1
- package/dist/api/compiler/locales/cs-CZ.js +1 -1
- package/dist/api/compiler/locales/de-DE.d.ts +1 -1
- package/dist/api/compiler/locales/de-DE.js +1 -1
- package/dist/api/compiler/locales/es-ES.d.ts +1 -1
- package/dist/api/compiler/locales/es-ES.js +1 -1
- package/dist/api/compiler/locales/fr-FR.d.ts +1 -1
- package/dist/api/compiler/locales/fr-FR.js +1 -1
- package/dist/api/compiler/locales/it-IT.d.ts +1 -1
- package/dist/api/compiler/locales/it-IT.js +1 -1
- package/dist/api/compiler/locales/ja-JP.d.ts +1 -1
- package/dist/api/compiler/locales/ja-JP.js +1 -1
- package/dist/api/compiler/locales/ko-KR.d.ts +1 -1
- package/dist/api/compiler/locales/ko-KR.js +1 -1
- package/dist/api/compiler/locales/pl-PL.d.ts +1 -1
- package/dist/api/compiler/locales/pl-PL.js +1 -1
- package/dist/api/compiler/locales/pt-BR.d.ts +1 -1
- package/dist/api/compiler/locales/pt-BR.js +1 -1
- package/dist/api/compiler/locales/ru-RU.d.ts +1 -1
- package/dist/api/compiler/locales/ru-RU.js +1 -1
- package/dist/api/compiler/locales/tr-TR.d.ts +1 -1
- package/dist/api/compiler/locales/tr-TR.js +1 -1
- package/dist/api/compiler/locales/zh-CN.d.ts +1 -1
- package/dist/api/compiler/locales/zh-CN.js +1 -1
- package/dist/api/compiler/locales/zh-TW.d.ts +1 -1
- package/dist/api/compiler/locales/zh-TW.js +1 -1
- package/dist/api/compiler/module-resolution-types.js +6 -6
- package/dist/api/compiler/module-resolution.d.ts +10 -1
- package/dist/api/compiler/module-resolution.js +115 -84
- package/dist/api/compiler/module-specifiers.d.ts +15 -0
- package/dist/api/compiler/module-specifiers.js +24 -18
- package/dist/api/compiler/name-resolver.js +74 -65
- package/dist/api/compiler/node-builder-names.d.ts +11 -3
- package/dist/api/compiler/node-builder-names.js +210 -90
- package/dist/api/compiler/node-builder-pseudo.js +29 -31
- package/dist/api/compiler/node-builder-reuse.js +23 -22
- package/dist/api/compiler/node-builder.d.ts +18 -1
- package/dist/api/compiler/node-builder.js +191 -102
- package/dist/api/compiler/option-declarations.d.ts +2 -6
- package/dist/api/compiler/option-declarations.js +315 -375
- package/dist/api/compiler/options.d.ts +15 -33
- package/dist/api/compiler/options.js +21 -54
- package/dist/api/compiler/output-paths.d.ts +4 -1
- package/dist/api/compiler/output-paths.js +6 -11
- package/dist/api/compiler/package-json.d.ts +3 -3
- package/dist/api/compiler/package-json.js +11 -10
- package/dist/api/compiler/parser.d.ts +42 -20
- package/dist/api/compiler/parser.js +318 -224
- package/dist/api/compiler/path.d.ts +9 -0
- package/dist/api/compiler/path.js +20 -3
- package/dist/api/compiler/printer/emit-context.d.ts +3 -1
- package/dist/api/compiler/printer/emit-context.js +16 -1
- package/dist/api/compiler/printer/factory-base.d.ts +2 -2
- package/dist/api/compiler/printer/factory-base.js +7 -3
- package/dist/api/compiler/printer/factory.js +6 -3
- package/dist/api/compiler/printer/helpers.js +10 -1
- package/dist/api/compiler/printer/name-generator.d.ts +1 -1
- package/dist/api/compiler/printer/name-generator.js +35 -16
- package/dist/api/compiler/printer/printer.d.ts +1 -0
- package/dist/api/compiler/printer/printer.js +306 -283
- package/dist/api/compiler/printer/utilities.js +149 -147
- package/dist/api/compiler/program-checker.d.ts +8 -2
- package/dist/api/compiler/program-checker.js +84 -34
- package/dist/api/compiler/program-utilities.d.ts +3 -1
- package/dist/api/compiler/program-utilities.js +28 -15
- package/dist/api/compiler/program.d.ts +2 -0
- package/dist/api/compiler/program.js +69 -57
- package/dist/api/compiler/pseudo-bigint.d.ts +2 -0
- package/dist/api/compiler/pseudo-bigint.js +18 -0
- package/dist/api/compiler/regexp-checker.d.ts +1 -1
- package/dist/api/compiler/regexp-checker.js +93 -76
- package/dist/api/compiler/relations.d.ts +27 -4
- package/dist/api/compiler/relations.js +337 -180
- package/dist/api/compiler/reparser.js +64 -59
- package/dist/api/compiler/scanner.d.ts +27 -2
- package/dist/api/compiler/scanner.js +181 -150
- package/dist/api/compiler/shared-results.d.ts +696 -0
- package/dist/api/compiler/shared-results.js +2905 -0
- package/dist/api/compiler/sourcemap.js +2 -2
- package/dist/api/compiler/symbol-accessibility.js +87 -74
- package/dist/api/compiler/symbol.d.ts +22 -13
- package/dist/api/compiler/symbol.js +15 -1
- package/dist/api/compiler/syntax-kind.d.ts +198 -197
- package/dist/api/compiler/transformers/alias-references.js +247 -139
- package/dist/api/compiler/transformers/async-utilities.js +25 -25
- package/dist/api/compiler/transformers/async.d.ts +0 -1
- package/dist/api/compiler/transformers/async.js +64 -77
- package/dist/api/compiler/transformers/class-fields.d.ts +1 -0
- package/dist/api/compiler/transformers/class-fields.js +81 -78
- package/dist/api/compiler/transformers/commonjs-module.js +18 -15
- package/dist/api/compiler/transformers/const-enum-inliner.js +1 -1
- package/dist/api/compiler/transformers/declarations-diagnostics.js +247 -244
- package/dist/api/compiler/transformers/declarations-pseudo.js +100 -100
- package/dist/api/compiler/transformers/declarations-resolver.d.ts +0 -3
- package/dist/api/compiler/transformers/declarations-syntactic.d.ts +1 -2
- package/dist/api/compiler/transformers/declarations-syntactic.js +134 -156
- package/dist/api/compiler/transformers/declarations-tracker.js +18 -18
- package/dist/api/compiler/transformers/declarations.d.ts +4 -1
- package/dist/api/compiler/transformers/declarations.js +307 -239
- package/dist/api/compiler/transformers/decorator-metadata.d.ts +1 -1
- package/dist/api/compiler/transformers/decorator-metadata.js +53 -45
- package/dist/api/compiler/transformers/decorator-utilities.js +24 -24
- package/dist/api/compiler/transformers/destructuring.js +19 -18
- package/dist/api/compiler/transformers/emit-resolver.js +1 -1
- package/dist/api/compiler/transformers/es-decorators.js +55 -55
- package/dist/api/compiler/transformers/external-module-info.js +3 -3
- package/dist/api/compiler/transformers/for-await.js +25 -25
- package/dist/api/compiler/transformers/import-elision.js +14 -14
- package/dist/api/compiler/transformers/jsx.js +12 -12
- package/dist/api/compiler/transformers/legacy-decorators.js +17 -17
- package/dist/api/compiler/transformers/module.js +8 -8
- package/dist/api/compiler/transformers/named-evaluation.js +4 -4
- package/dist/api/compiler/transformers/object-rest-spread.js +20 -20
- package/dist/api/compiler/transformers/optional-chain.js +10 -10
- package/dist/api/compiler/transformers/reference-resolver.d.ts +12 -1
- package/dist/api/compiler/transformers/reference-resolver.js +131 -69
- package/dist/api/compiler/transformers/runtime-syntax.js +35 -31
- package/dist/api/compiler/transformers/subtree-facts.js +47 -47
- package/dist/api/compiler/transformers/syntax-facts.js +56 -58
- package/dist/api/compiler/transformers/type-eraser.js +73 -66
- package/dist/api/compiler/transformers/type-serialization.js +24 -24
- package/dist/api/compiler/transformers/using.js +12 -12
- package/dist/api/compiler/transformers/utilities.js +77 -77
- package/dist/api/compiler/transformers/visitor-base.js +172 -172
- package/dist/api/compiler/transformers/visitor-hooks.js +6 -2
- package/dist/api/compiler/tsconfig.d.ts +10 -2
- package/dist/api/compiler/tsconfig.js +136 -48
- package/dist/api/compiler/type-printer.js +40 -3
- package/dist/api/compiler/types.d.ts +2 -1
- package/dist/api/library/ast.generated.d.ts +42 -39
- package/dist/api/library/ast.generated.js +1 -1
- package/dist/api/library/compiler-options.generated.d.ts +111 -100
- package/dist/api/library/compiler-options.generated.js +1 -1
- package/dist/api/library/disk.js +12 -1
- package/dist/api/library/enums.generated.d.ts +206 -206
- package/dist/api/library/enums.generated.js +206 -206
- package/dist/api/library/nodes.js +26 -26
- package/package.json +9 -9
- package/src/compiler/ast-utilities.ts +99 -7
- package/src/compiler/ast.ts +74 -38
- package/src/compiler/binder.ts +39 -4
- package/src/compiler/cgroup.ts +157 -0
- package/src/compiler/character-codes.ts +2 -2
- package/src/compiler/checker-calls.ts +76 -8
- package/src/compiler/checker-classes.ts +80 -25
- package/src/compiler/checker-contextual.ts +110 -1
- package/src/compiler/checker-declarations.ts +31 -4
- package/src/compiler/checker-declared-types.ts +8 -5
- package/src/compiler/checker-decorators.ts +1 -1
- package/src/compiler/checker-deprecation.ts +29 -8
- package/src/compiler/checker-destructuring.ts +10 -3
- package/src/compiler/checker-emit-helpers.ts +1 -0
- package/src/compiler/checker-emit-resolver.ts +16 -6
- package/src/compiler/checker-expressions.ts +95 -47
- package/src/compiler/checker-functions.ts +21 -6
- package/src/compiler/checker-generated-code.ts +2 -22
- package/src/compiler/checker-grammar.ts +133 -60
- package/src/compiler/checker-heritage.ts +22 -21
- package/src/compiler/checker-inference.ts +514 -87
- package/src/compiler/checker-iteration.ts +18 -31
- package/src/compiler/checker-javascript.ts +1 -1
- package/src/compiler/checker-jsdoc.ts +50 -27
- package/src/compiler/checker-jsx.ts +28 -5
- package/src/compiler/checker-members.ts +197 -55
- package/src/compiler/checker-modules.ts +332 -65
- package/src/compiler/checker-narrowing.ts +98 -19
- package/src/compiler/checker-object-literals.ts +3 -0
- package/src/compiler/checker-operators.ts +11 -4
- package/src/compiler/checker-property-access.ts +7 -2
- package/src/compiler/checker-services.ts +39 -12
- package/src/compiler/checker-signatures.ts +15 -1
- package/src/compiler/checker-source-file.ts +39 -13
- package/src/compiler/checker-statements.ts +3 -2
- package/src/compiler/checker-symbol-types.ts +29 -6
- package/src/compiler/checker-symbols.ts +158 -15
- package/src/compiler/checker-type-factory.ts +173 -35
- package/src/compiler/checker-type-nodes.ts +46 -3
- package/src/compiler/checker-type-operators.ts +83 -26
- package/src/compiler/checker-types.ts +147 -4
- package/src/compiler/checker-unused.ts +9 -14
- package/src/compiler/checker.ts +175 -41
- package/src/compiler/command-line.ts +28 -28
- package/src/compiler/compile-program.ts +59 -25
- package/src/compiler/decoder.ts +15 -5
- package/src/compiler/diagnostic-messages.ts +1973 -1892
- package/src/compiler/doctor-report.ts +133 -0
- package/src/compiler/emitter.ts +57 -8
- package/src/compiler/encoder.ts +23 -8
- package/src/compiler/expr-record.ts +59 -0
- package/src/compiler/file-include.ts +9 -3
- package/src/compiler/file-loader.ts +139 -32
- package/src/compiler/help.ts +10 -14
- package/src/compiler/identifier-name.ts +13 -0
- package/src/compiler/incremental.ts +86 -18
- package/src/compiler/init.ts +2 -7
- package/src/compiler/instantiation.ts +77 -22
- package/src/compiler/jsdoc.ts +7 -3
- package/src/compiler/link-tables.ts +82 -37
- package/src/compiler/locales/cs-CZ.ts +1 -1
- package/src/compiler/locales/de-DE.ts +1 -1
- package/src/compiler/locales/es-ES.ts +1 -1
- package/src/compiler/locales/fr-FR.ts +1 -1
- package/src/compiler/locales/it-IT.ts +1 -1
- package/src/compiler/locales/ja-JP.ts +1 -1
- package/src/compiler/locales/ko-KR.ts +1 -1
- package/src/compiler/locales/pl-PL.ts +1 -1
- package/src/compiler/locales/pt-BR.ts +1 -1
- package/src/compiler/locales/ru-RU.ts +1 -1
- package/src/compiler/locales/tr-TR.ts +1 -1
- package/src/compiler/locales/zh-CN.ts +1 -1
- package/src/compiler/locales/zh-TW.ts +1 -1
- package/src/compiler/module-resolution.ts +44 -8
- package/src/compiler/module-specifiers.ts +62 -20
- package/src/compiler/name-resolver.ts +9 -1
- package/src/compiler/node-builder-names.ts +236 -54
- package/src/compiler/node-builder-pseudo.ts +4 -7
- package/src/compiler/node-builder-reuse.ts +5 -4
- package/src/compiler/node-builder.ts +130 -31
- package/src/compiler/option-declarations.ts +33 -103
- package/src/compiler/options.ts +23 -62
- package/src/compiler/output-paths.ts +5 -18
- package/src/compiler/package-entrypoints.ts +345 -0
- package/src/compiler/package-json.ts +4 -4
- package/src/compiler/parallel-check.ts +543 -147
- package/src/compiler/parallel-emit.ts +4 -4
- package/src/compiler/parser.ts +166 -47
- package/src/compiler/path.ts +22 -2
- package/src/compiler/printer/emit-context.ts +16 -0
- package/src/compiler/printer/factory-base.ts +10 -3
- package/src/compiler/printer/factory.ts +7 -3
- package/src/compiler/printer/helpers.ts +10 -1
- package/src/compiler/printer/name-generator.ts +24 -2
- package/src/compiler/printer/printer.ts +39 -16
- package/src/compiler/printer/utilities.ts +8 -2
- package/src/compiler/program-checker.ts +53 -5
- package/src/compiler/program-utilities.ts +23 -10
- package/src/compiler/program.ts +13 -1
- package/src/compiler/pseudo-bigint.ts +17 -0
- package/src/compiler/regexp-checker.ts +63 -30
- package/src/compiler/relations.ts +233 -77
- package/src/compiler/reparser.ts +14 -5
- package/src/compiler/run-config.ts +1383 -0
- package/src/compiler/run-record-read.ts +87 -0
- package/src/compiler/run-records.ts +575 -0
- package/src/compiler/scanner.ts +166 -120
- package/src/compiler/shared-results.ts +3144 -0
- package/src/compiler/show-config.ts +18 -1
- package/src/compiler/sourcemap.ts +2 -2
- package/src/compiler/symbol-accessibility.ts +26 -3
- package/src/compiler/symbol.ts +31 -14
- package/src/compiler/syntax-kind.ts +188 -187
- package/src/compiler/thread-entry.ts +22 -3
- package/src/compiler/transformers/alias-references.ts +123 -4
- package/src/compiler/transformers/async.ts +2 -17
- package/src/compiler/transformers/class-fields.ts +13 -12
- package/src/compiler/transformers/commonjs-module.ts +11 -7
- package/src/compiler/transformers/declarations-diagnostics.ts +5 -3
- package/src/compiler/transformers/declarations-pseudo.ts +2 -4
- package/src/compiler/transformers/declarations-resolver.ts +0 -3
- package/src/compiler/transformers/declarations-syntactic.ts +1 -21
- package/src/compiler/transformers/declarations.ts +136 -49
- package/src/compiler/transformers/decorator-metadata.ts +9 -1
- package/src/compiler/transformers/destructuring.ts +4 -3
- package/src/compiler/transformers/external-module-info.ts +1 -1
- package/src/compiler/transformers/jsx.ts +2 -1
- package/src/compiler/transformers/reference-resolver.ts +83 -19
- package/src/compiler/transformers/runtime-syntax.ts +6 -1
- package/src/compiler/transformers/syntax-facts.ts +2 -7
- package/src/compiler/transformers/type-eraser.ts +10 -1
- package/src/compiler/transformers/type-serialization.ts +3 -2
- package/src/compiler/transformers/visitor-base.ts +2 -1
- package/src/compiler/transformers/visitor-hooks.ts +9 -4
- package/src/compiler/tsc-build.ts +67 -6
- package/src/compiler/tsc-cli.ts +35 -4
- package/src/compiler/tsc-compile.ts +220 -10
- package/src/compiler/tsc-watch.ts +97 -47
- package/src/compiler/tsconfig.ts +176 -19
- package/src/compiler/type-printer.ts +36 -2
- package/src/compiler/types.ts +2 -1
- package/src/library/ast.generated.ts +57 -41
- package/src/library/compiler-options.generated.ts +117 -103
- package/src/library/disk.ts +10 -1
- package/src/library/enums.generated.ts +196 -196
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Node predicates, literal text and line helpers shared by the printer and transforms.
|
|
2
2
|
import { BigIntLiteral, BinaryExpression, CallExpression, ConditionalExpression, ElementAccessExpression, InferTypeNode, NewExpression, NoSubstitutionTemplateLiteral, NonNullExpression, NumericLiteral, ParenthesizedExpression, PartiallyEmittedExpression, PostfixUnaryExpression, PrefixUnaryExpression, PropertyAccessExpression, RegularExpressionLiteral, AsExpression, SatisfiesExpression, SourceFile, StringLiteral, TaggedTemplateExpression, TemplateHead, TemplateMiddle, TemplateTail, ExpressionStatement, Identifier, PrivateIdentifier, getExpression, } from '../ast.js';
|
|
3
|
-
import { getBinaryOperatorPrecedence } from '../ast-utilities.js';
|
|
3
|
+
import { getBinaryOperatorPrecedence, isJSDocTypeExpressionOrChild, normalizeJSDocTypeSourceText, } from '../ast-utilities.js';
|
|
4
4
|
import { isDigit, isLineBreak, isUnicodeWhiteSpace, isWhiteSpaceLike, isWhiteSpaceSingleLine, } from '../character-codes.js';
|
|
5
5
|
import { computeLineOfPosition, skipTrivia } from '../scanner.js';
|
|
6
6
|
import { getBaseFileName } from '../path.js';
|
|
@@ -27,7 +27,7 @@ export function isPrologueDirective(node) {
|
|
|
27
27
|
return (node instanceof ExpressionStatement && node.expression.kind === 10 /* SyntaxKind.StringLiteral */);
|
|
28
28
|
}
|
|
29
29
|
export function isKeywordKind(kind) {
|
|
30
|
-
return kind >= 82 /* SyntaxKind.FirstKeyword */ && kind <=
|
|
30
|
+
return kind >= 82 /* SyntaxKind.FirstKeyword */ && kind <= 167 /* SyntaxKind.LastKeyword */;
|
|
31
31
|
}
|
|
32
32
|
export function isPunctuationKind(kind) {
|
|
33
33
|
return kind >= 18 /* SyntaxKind.FirstPunctuation */ && kind <= 78 /* SyntaxKind.LastPunctuation */;
|
|
@@ -36,7 +36,7 @@ export function isLiteralKind(kind) {
|
|
|
36
36
|
return kind >= 8 /* SyntaxKind.FirstLiteralToken */ && kind <= 14 /* SyntaxKind.LastLiteralToken */;
|
|
37
37
|
}
|
|
38
38
|
export function isJSDocKind(kind) {
|
|
39
|
-
return kind >=
|
|
39
|
+
return kind >= 309 /* SyntaxKind.JSDocTypeExpression */ && kind <= 344 /* SyntaxKind.JSDocImportTag */;
|
|
40
40
|
}
|
|
41
41
|
export function isMemberName(node) {
|
|
42
42
|
return node.kind === 79 /* SyntaxKind.Identifier */ || node.kind === 80 /* SyntaxKind.PrivateIdentifier */;
|
|
@@ -66,10 +66,10 @@ export function isOptionalChain(node) {
|
|
|
66
66
|
if ((node.flags & 32 /* NodeFlags.OptionalChain */) === 0)
|
|
67
67
|
return false;
|
|
68
68
|
switch (node.kind) {
|
|
69
|
-
case
|
|
70
|
-
case
|
|
71
|
-
case
|
|
72
|
-
case
|
|
69
|
+
case 213 /* SyntaxKind.PropertyAccessExpression */:
|
|
70
|
+
case 214 /* SyntaxKind.ElementAccessExpression */:
|
|
71
|
+
case 215 /* SyntaxKind.CallExpression */:
|
|
72
|
+
case 237 /* SyntaxKind.NonNullExpression */:
|
|
73
73
|
return true;
|
|
74
74
|
}
|
|
75
75
|
return false;
|
|
@@ -102,25 +102,25 @@ export function skipPartiallyEmittedExpressions(node) {
|
|
|
102
102
|
export function blockScopeFlags(node) {
|
|
103
103
|
let flags = node.flags;
|
|
104
104
|
const parent = node.parent;
|
|
105
|
-
if (parent !== undefined && parent.kind ===
|
|
105
|
+
if (parent !== undefined && parent.kind === 245 /* SyntaxKind.VariableStatement */)
|
|
106
106
|
flags |= parent.flags;
|
|
107
107
|
return flags & 7 /* NodeFlags.BlockScoped */;
|
|
108
108
|
}
|
|
109
109
|
function isLeftHandSideExpressionKind(kind) {
|
|
110
110
|
switch (kind) {
|
|
111
|
-
case
|
|
112
|
-
case
|
|
113
|
-
case
|
|
114
|
-
case
|
|
115
|
-
case
|
|
116
|
-
case
|
|
117
|
-
case
|
|
118
|
-
case
|
|
119
|
-
case
|
|
120
|
-
case
|
|
121
|
-
case
|
|
122
|
-
case
|
|
123
|
-
case
|
|
111
|
+
case 213 /* SyntaxKind.PropertyAccessExpression */:
|
|
112
|
+
case 214 /* SyntaxKind.ElementAccessExpression */:
|
|
113
|
+
case 216 /* SyntaxKind.NewExpression */:
|
|
114
|
+
case 215 /* SyntaxKind.CallExpression */:
|
|
115
|
+
case 286 /* SyntaxKind.JsxElement */:
|
|
116
|
+
case 287 /* SyntaxKind.JsxSelfClosingElement */:
|
|
117
|
+
case 290 /* SyntaxKind.JsxFragment */:
|
|
118
|
+
case 217 /* SyntaxKind.TaggedTemplateExpression */:
|
|
119
|
+
case 211 /* SyntaxKind.ArrayLiteralExpression */:
|
|
120
|
+
case 219 /* SyntaxKind.ParenthesizedExpression */:
|
|
121
|
+
case 212 /* SyntaxKind.ObjectLiteralExpression */:
|
|
122
|
+
case 233 /* SyntaxKind.ClassExpression */:
|
|
123
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
124
124
|
case 79 /* SyntaxKind.Identifier */:
|
|
125
125
|
case 80 /* SyntaxKind.PrivateIdentifier */:
|
|
126
126
|
case 13 /* SyntaxKind.RegularExpressionLiteral */:
|
|
@@ -128,45 +128,45 @@ function isLeftHandSideExpressionKind(kind) {
|
|
|
128
128
|
case 9 /* SyntaxKind.BigIntLiteral */:
|
|
129
129
|
case 10 /* SyntaxKind.StringLiteral */:
|
|
130
130
|
case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */:
|
|
131
|
-
case
|
|
131
|
+
case 230 /* SyntaxKind.TemplateExpression */:
|
|
132
132
|
case 96 /* SyntaxKind.FalseKeyword */:
|
|
133
133
|
case 105 /* SyntaxKind.NullKeyword */:
|
|
134
134
|
case 109 /* SyntaxKind.ThisKeyword */:
|
|
135
135
|
case 111 /* SyntaxKind.TrueKeyword */:
|
|
136
136
|
case 107 /* SyntaxKind.SuperKeyword */:
|
|
137
|
-
case
|
|
138
|
-
case
|
|
139
|
-
case
|
|
137
|
+
case 237 /* SyntaxKind.NonNullExpression */:
|
|
138
|
+
case 235 /* SyntaxKind.ExpressionWithTypeArguments */:
|
|
139
|
+
case 238 /* SyntaxKind.MetaProperty */:
|
|
140
140
|
case 101 /* SyntaxKind.ImportKeyword */:
|
|
141
|
-
case
|
|
141
|
+
case 284 /* SyntaxKind.MissingDeclaration */:
|
|
142
142
|
return true;
|
|
143
143
|
}
|
|
144
144
|
return false;
|
|
145
145
|
}
|
|
146
146
|
function isUnaryExpressionKind(kind) {
|
|
147
147
|
switch (kind) {
|
|
148
|
-
case
|
|
149
|
-
case
|
|
150
|
-
case
|
|
151
|
-
case
|
|
152
|
-
case
|
|
153
|
-
case
|
|
154
|
-
case
|
|
148
|
+
case 226 /* SyntaxKind.PrefixUnaryExpression */:
|
|
149
|
+
case 227 /* SyntaxKind.PostfixUnaryExpression */:
|
|
150
|
+
case 222 /* SyntaxKind.DeleteExpression */:
|
|
151
|
+
case 223 /* SyntaxKind.TypeOfExpression */:
|
|
152
|
+
case 224 /* SyntaxKind.VoidExpression */:
|
|
153
|
+
case 225 /* SyntaxKind.AwaitExpression */:
|
|
154
|
+
case 218 /* SyntaxKind.TypeAssertionExpression */:
|
|
155
155
|
return true;
|
|
156
156
|
}
|
|
157
157
|
return isLeftHandSideExpressionKind(kind);
|
|
158
158
|
}
|
|
159
159
|
export function isExpressionKind(kind) {
|
|
160
160
|
switch (kind) {
|
|
161
|
-
case
|
|
162
|
-
case
|
|
163
|
-
case
|
|
164
|
-
case
|
|
165
|
-
case
|
|
166
|
-
case
|
|
167
|
-
case
|
|
168
|
-
case
|
|
169
|
-
case
|
|
161
|
+
case 229 /* SyntaxKind.ConditionalExpression */:
|
|
162
|
+
case 231 /* SyntaxKind.YieldExpression */:
|
|
163
|
+
case 221 /* SyntaxKind.ArrowFunction */:
|
|
164
|
+
case 228 /* SyntaxKind.BinaryExpression */:
|
|
165
|
+
case 232 /* SyntaxKind.SpreadElement */:
|
|
166
|
+
case 236 /* SyntaxKind.AsExpression */:
|
|
167
|
+
case 234 /* SyntaxKind.OmittedExpression */:
|
|
168
|
+
case 349 /* SyntaxKind.PartiallyEmittedExpression */:
|
|
169
|
+
case 240 /* SyntaxKind.SatisfiesExpression */:
|
|
170
170
|
return true;
|
|
171
171
|
}
|
|
172
172
|
return isUnaryExpressionKind(kind);
|
|
@@ -188,77 +188,77 @@ export function isTypeNodeKind(kind) {
|
|
|
188
188
|
case 157 /* SyntaxKind.UndefinedKeyword */:
|
|
189
189
|
case 146 /* SyntaxKind.NeverKeyword */:
|
|
190
190
|
case 141 /* SyntaxKind.IntrinsicKeyword */:
|
|
191
|
-
case
|
|
192
|
-
case
|
|
193
|
-
case
|
|
194
|
-
case
|
|
195
|
-
case
|
|
196
|
-
case
|
|
191
|
+
case 235 /* SyntaxKind.ExpressionWithTypeArguments */:
|
|
192
|
+
case 311 /* SyntaxKind.JSDocAllType */:
|
|
193
|
+
case 312 /* SyntaxKind.JSDocNullableType */:
|
|
194
|
+
case 313 /* SyntaxKind.JSDocNonNullableType */:
|
|
195
|
+
case 314 /* SyntaxKind.JSDocOptionalType */:
|
|
196
|
+
case 315 /* SyntaxKind.JSDocVariadicType */:
|
|
197
197
|
return true;
|
|
198
198
|
}
|
|
199
|
-
return kind >=
|
|
199
|
+
return kind >= 184 /* SyntaxKind.FirstTypeNode */ && kind <= 207 /* SyntaxKind.LastTypeNode */;
|
|
200
200
|
}
|
|
201
201
|
function isDeclarationStatementKind(kind) {
|
|
202
202
|
switch (kind) {
|
|
203
|
-
case
|
|
204
|
-
case
|
|
205
|
-
case
|
|
206
|
-
case
|
|
207
|
-
case
|
|
208
|
-
case
|
|
209
|
-
case
|
|
210
|
-
case
|
|
211
|
-
case
|
|
212
|
-
case
|
|
213
|
-
case
|
|
214
|
-
case
|
|
215
|
-
case
|
|
216
|
-
case
|
|
203
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
204
|
+
case 284 /* SyntaxKind.MissingDeclaration */:
|
|
205
|
+
case 265 /* SyntaxKind.ClassDeclaration */:
|
|
206
|
+
case 266 /* SyntaxKind.InterfaceDeclaration */:
|
|
207
|
+
case 267 /* SyntaxKind.TypeAliasDeclaration */:
|
|
208
|
+
case 346 /* SyntaxKind.JSTypeAliasDeclaration */:
|
|
209
|
+
case 268 /* SyntaxKind.EnumDeclaration */:
|
|
210
|
+
case 269 /* SyntaxKind.ModuleDeclaration */:
|
|
211
|
+
case 274 /* SyntaxKind.ImportDeclaration */:
|
|
212
|
+
case 347 /* SyntaxKind.JSImportDeclaration */:
|
|
213
|
+
case 273 /* SyntaxKind.ImportEqualsDeclaration */:
|
|
214
|
+
case 280 /* SyntaxKind.ExportDeclaration */:
|
|
215
|
+
case 279 /* SyntaxKind.ExportAssignment */:
|
|
216
|
+
case 272 /* SyntaxKind.NamespaceExportDeclaration */:
|
|
217
217
|
return true;
|
|
218
218
|
}
|
|
219
219
|
return false;
|
|
220
220
|
}
|
|
221
221
|
function isStatementKindButNotDeclarationKind(kind) {
|
|
222
222
|
switch (kind) {
|
|
223
|
-
case
|
|
224
|
-
case
|
|
225
|
-
case
|
|
226
|
-
case
|
|
227
|
-
case
|
|
228
|
-
case
|
|
229
|
-
case
|
|
230
|
-
case
|
|
231
|
-
case
|
|
232
|
-
case
|
|
233
|
-
case
|
|
234
|
-
case
|
|
235
|
-
case
|
|
236
|
-
case
|
|
237
|
-
case
|
|
238
|
-
case
|
|
239
|
-
case
|
|
240
|
-
case
|
|
241
|
-
case
|
|
223
|
+
case 254 /* SyntaxKind.BreakStatement */:
|
|
224
|
+
case 253 /* SyntaxKind.ContinueStatement */:
|
|
225
|
+
case 261 /* SyntaxKind.DebuggerStatement */:
|
|
226
|
+
case 248 /* SyntaxKind.DoStatement */:
|
|
227
|
+
case 246 /* SyntaxKind.ExpressionStatement */:
|
|
228
|
+
case 244 /* SyntaxKind.EmptyStatement */:
|
|
229
|
+
case 251 /* SyntaxKind.ForInStatement */:
|
|
230
|
+
case 252 /* SyntaxKind.ForOfStatement */:
|
|
231
|
+
case 250 /* SyntaxKind.ForStatement */:
|
|
232
|
+
case 247 /* SyntaxKind.IfStatement */:
|
|
233
|
+
case 258 /* SyntaxKind.LabeledStatement */:
|
|
234
|
+
case 255 /* SyntaxKind.ReturnStatement */:
|
|
235
|
+
case 257 /* SyntaxKind.SwitchStatement */:
|
|
236
|
+
case 259 /* SyntaxKind.ThrowStatement */:
|
|
237
|
+
case 260 /* SyntaxKind.TryStatement */:
|
|
238
|
+
case 245 /* SyntaxKind.VariableStatement */:
|
|
239
|
+
case 249 /* SyntaxKind.WhileStatement */:
|
|
240
|
+
case 256 /* SyntaxKind.WithStatement */:
|
|
241
|
+
case 348 /* SyntaxKind.NotEmittedStatement */:
|
|
242
242
|
return true;
|
|
243
243
|
}
|
|
244
244
|
return false;
|
|
245
245
|
}
|
|
246
246
|
export function isFunctionLikeKind(kind) {
|
|
247
247
|
switch (kind) {
|
|
248
|
-
case
|
|
249
|
-
case
|
|
250
|
-
case
|
|
251
|
-
case
|
|
252
|
-
case
|
|
253
|
-
case
|
|
254
|
-
case
|
|
255
|
-
case
|
|
256
|
-
case
|
|
257
|
-
case
|
|
258
|
-
case
|
|
259
|
-
case
|
|
260
|
-
case
|
|
261
|
-
case
|
|
248
|
+
case 264 /* SyntaxKind.FunctionDeclaration */:
|
|
249
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
250
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
251
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
252
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
253
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
254
|
+
case 221 /* SyntaxKind.ArrowFunction */:
|
|
255
|
+
case 175 /* SyntaxKind.MethodSignature */:
|
|
256
|
+
case 181 /* SyntaxKind.CallSignature */:
|
|
257
|
+
case 319 /* SyntaxKind.JSDocSignature */:
|
|
258
|
+
case 182 /* SyntaxKind.ConstructSignature */:
|
|
259
|
+
case 183 /* SyntaxKind.IndexSignature */:
|
|
260
|
+
case 186 /* SyntaxKind.FunctionType */:
|
|
261
|
+
case 187 /* SyntaxKind.ConstructorType */:
|
|
262
262
|
return true;
|
|
263
263
|
}
|
|
264
264
|
return false;
|
|
@@ -267,27 +267,27 @@ export function isStatement(node) {
|
|
|
267
267
|
const kind = node.kind;
|
|
268
268
|
if (isStatementKindButNotDeclarationKind(kind) || isDeclarationStatementKind(kind))
|
|
269
269
|
return true;
|
|
270
|
-
if (kind !==
|
|
270
|
+
if (kind !== 243 /* SyntaxKind.Block */)
|
|
271
271
|
return false;
|
|
272
272
|
const parent = node.parent;
|
|
273
273
|
if (parent === undefined)
|
|
274
274
|
return true;
|
|
275
|
-
return (parent.kind !==
|
|
276
|
-
parent.kind !==
|
|
275
|
+
return (parent.kind !== 260 /* SyntaxKind.TryStatement */ &&
|
|
276
|
+
parent.kind !== 301 /* SyntaxKind.CatchClause */ &&
|
|
277
277
|
!isFunctionLikeKind(parent.kind));
|
|
278
278
|
}
|
|
279
279
|
// Precedence
|
|
280
280
|
export function getExpressionPrecedence(expression) {
|
|
281
281
|
switch (expression.kind) {
|
|
282
|
-
case
|
|
282
|
+
case 232 /* SyntaxKind.SpreadElement */:
|
|
283
283
|
return 1 /* OperatorPrecedence.Spread */;
|
|
284
|
-
case
|
|
284
|
+
case 231 /* SyntaxKind.YieldExpression */:
|
|
285
285
|
return 2 /* OperatorPrecedence.Yield */;
|
|
286
|
-
case
|
|
286
|
+
case 221 /* SyntaxKind.ArrowFunction */:
|
|
287
287
|
return 3 /* OperatorPrecedence.Assignment */;
|
|
288
|
-
case
|
|
288
|
+
case 229 /* SyntaxKind.ConditionalExpression */:
|
|
289
289
|
return 4 /* OperatorPrecedence.Conditional */;
|
|
290
|
-
case
|
|
290
|
+
case 228 /* SyntaxKind.BinaryExpression */:
|
|
291
291
|
if (expression instanceof BinaryExpression) {
|
|
292
292
|
const operator = expression.operatorToken.kind;
|
|
293
293
|
if (operator === 27 /* SyntaxKind.CommaToken */)
|
|
@@ -297,30 +297,30 @@ export function getExpressionPrecedence(expression) {
|
|
|
297
297
|
return getBinaryOperatorPrecedence(operator);
|
|
298
298
|
}
|
|
299
299
|
return -1 /* OperatorPrecedence.Invalid */;
|
|
300
|
-
case
|
|
301
|
-
case
|
|
302
|
-
case
|
|
303
|
-
case
|
|
304
|
-
case
|
|
305
|
-
case
|
|
306
|
-
case
|
|
300
|
+
case 218 /* SyntaxKind.TypeAssertionExpression */:
|
|
301
|
+
case 237 /* SyntaxKind.NonNullExpression */:
|
|
302
|
+
case 226 /* SyntaxKind.PrefixUnaryExpression */:
|
|
303
|
+
case 223 /* SyntaxKind.TypeOfExpression */:
|
|
304
|
+
case 224 /* SyntaxKind.VoidExpression */:
|
|
305
|
+
case 222 /* SyntaxKind.DeleteExpression */:
|
|
306
|
+
case 225 /* SyntaxKind.AwaitExpression */:
|
|
307
307
|
return 16 /* OperatorPrecedence.Unary */;
|
|
308
|
-
case
|
|
308
|
+
case 227 /* SyntaxKind.PostfixUnaryExpression */:
|
|
309
309
|
return 17 /* OperatorPrecedence.Update */;
|
|
310
|
-
case
|
|
311
|
-
case
|
|
312
|
-
case
|
|
310
|
+
case 213 /* SyntaxKind.PropertyAccessExpression */:
|
|
311
|
+
case 214 /* SyntaxKind.ElementAccessExpression */:
|
|
312
|
+
case 215 /* SyntaxKind.CallExpression */:
|
|
313
313
|
return isOptionalChain(expression) ? 19 /* OperatorPrecedence.OptionalChain */ : 20 /* OperatorPrecedence.Member */;
|
|
314
|
-
case
|
|
314
|
+
case 216 /* SyntaxKind.NewExpression */:
|
|
315
315
|
return expression instanceof NewExpression && expression.arguments === undefined
|
|
316
316
|
? 18 /* OperatorPrecedence.LeftHandSide */
|
|
317
317
|
: 20 /* OperatorPrecedence.Member */;
|
|
318
|
-
case
|
|
319
|
-
case
|
|
320
|
-
case
|
|
318
|
+
case 217 /* SyntaxKind.TaggedTemplateExpression */:
|
|
319
|
+
case 238 /* SyntaxKind.MetaProperty */:
|
|
320
|
+
case 235 /* SyntaxKind.ExpressionWithTypeArguments */:
|
|
321
321
|
return 20 /* OperatorPrecedence.Member */;
|
|
322
|
-
case
|
|
323
|
-
case
|
|
322
|
+
case 236 /* SyntaxKind.AsExpression */:
|
|
323
|
+
case 240 /* SyntaxKind.SatisfiesExpression */:
|
|
324
324
|
return 11 /* OperatorPrecedence.Relational */;
|
|
325
325
|
case 109 /* SyntaxKind.ThisKeyword */:
|
|
326
326
|
case 107 /* SyntaxKind.SuperKeyword */:
|
|
@@ -333,48 +333,48 @@ export function getExpressionPrecedence(expression) {
|
|
|
333
333
|
case 8 /* SyntaxKind.NumericLiteral */:
|
|
334
334
|
case 9 /* SyntaxKind.BigIntLiteral */:
|
|
335
335
|
case 10 /* SyntaxKind.StringLiteral */:
|
|
336
|
-
case
|
|
337
|
-
case
|
|
338
|
-
case
|
|
339
|
-
case
|
|
336
|
+
case 211 /* SyntaxKind.ArrayLiteralExpression */:
|
|
337
|
+
case 212 /* SyntaxKind.ObjectLiteralExpression */:
|
|
338
|
+
case 220 /* SyntaxKind.FunctionExpression */:
|
|
339
|
+
case 233 /* SyntaxKind.ClassExpression */:
|
|
340
340
|
case 13 /* SyntaxKind.RegularExpressionLiteral */:
|
|
341
341
|
case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */:
|
|
342
|
-
case
|
|
343
|
-
case
|
|
344
|
-
case
|
|
345
|
-
case
|
|
346
|
-
case
|
|
347
|
-
case
|
|
342
|
+
case 230 /* SyntaxKind.TemplateExpression */:
|
|
343
|
+
case 234 /* SyntaxKind.OmittedExpression */:
|
|
344
|
+
case 286 /* SyntaxKind.JsxElement */:
|
|
345
|
+
case 287 /* SyntaxKind.JsxSelfClosingElement */:
|
|
346
|
+
case 290 /* SyntaxKind.JsxFragment */:
|
|
347
|
+
case 284 /* SyntaxKind.MissingDeclaration */:
|
|
348
348
|
return 21 /* OperatorPrecedence.Primary */;
|
|
349
|
-
case
|
|
349
|
+
case 219 /* SyntaxKind.ParenthesizedExpression */:
|
|
350
350
|
return 22 /* OperatorPrecedence.Parentheses */;
|
|
351
351
|
}
|
|
352
352
|
return -1 /* OperatorPrecedence.Invalid */;
|
|
353
353
|
}
|
|
354
354
|
export function getTypeNodePrecedence(node) {
|
|
355
355
|
switch (node.kind) {
|
|
356
|
-
case
|
|
356
|
+
case 196 /* SyntaxKind.ConditionalType */:
|
|
357
357
|
return 0 /* TypePrecedence.Conditional */;
|
|
358
|
-
case
|
|
359
|
-
case
|
|
358
|
+
case 314 /* SyntaxKind.JSDocOptionalType */:
|
|
359
|
+
case 315 /* SyntaxKind.JSDocVariadicType */:
|
|
360
360
|
return 1 /* TypePrecedence.JSDoc */;
|
|
361
|
-
case
|
|
362
|
-
case
|
|
361
|
+
case 186 /* SyntaxKind.FunctionType */:
|
|
362
|
+
case 187 /* SyntaxKind.ConstructorType */:
|
|
363
363
|
return 2 /* TypePrecedence.Function */;
|
|
364
|
-
case
|
|
364
|
+
case 194 /* SyntaxKind.UnionType */:
|
|
365
365
|
return 3 /* TypePrecedence.Union */;
|
|
366
|
-
case
|
|
366
|
+
case 195 /* SyntaxKind.IntersectionType */:
|
|
367
367
|
return 4 /* TypePrecedence.Intersection */;
|
|
368
|
-
case
|
|
369
|
-
case
|
|
368
|
+
case 200 /* SyntaxKind.TypeOperator */:
|
|
369
|
+
case 188 /* SyntaxKind.TypeQuery */:
|
|
370
370
|
return 5 /* TypePrecedence.TypeOperator */;
|
|
371
|
-
case
|
|
371
|
+
case 197 /* SyntaxKind.InferType */:
|
|
372
372
|
return node instanceof InferTypeNode && node.typeParameter.constraint !== undefined
|
|
373
373
|
? 2 /* TypePrecedence.Function */
|
|
374
374
|
: 5 /* TypePrecedence.TypeOperator */;
|
|
375
|
-
case
|
|
376
|
-
case
|
|
377
|
-
case
|
|
375
|
+
case 201 /* SyntaxKind.IndexedAccessType */:
|
|
376
|
+
case 190 /* SyntaxKind.ArrayType */:
|
|
377
|
+
case 192 /* SyntaxKind.OptionalType */:
|
|
378
378
|
return 6 /* TypePrecedence.Postfix */;
|
|
379
379
|
}
|
|
380
380
|
return 7 /* TypePrecedence.NonArray */;
|
|
@@ -436,7 +436,7 @@ export function isImmediatelyInvokedFunctionExpressionOrArrowFunction(node) {
|
|
|
436
436
|
if (!(node instanceof CallExpression))
|
|
437
437
|
return false;
|
|
438
438
|
const callee = skipPartiallyEmittedExpressions(node.expression);
|
|
439
|
-
return callee.kind ===
|
|
439
|
+
return callee.kind === 220 /* SyntaxKind.FunctionExpression */ || callee.kind === 221 /* SyntaxKind.ArrowFunction */;
|
|
440
440
|
}
|
|
441
441
|
export function getOperatorOfPrefixOperand(node) {
|
|
442
442
|
return node instanceof PrefixUnaryExpression ? node.operator : 0 /* SyntaxKind.Unknown */;
|
|
@@ -621,7 +621,9 @@ export function getLiteralText(node, sourceText, flags) {
|
|
|
621
621
|
export function getSourceTextOfNode(sourceText, node) {
|
|
622
622
|
if (node.pos === node.end && node.pos >= 0 && node.kind !== 1 /* SyntaxKind.EndOfFile */)
|
|
623
623
|
return '';
|
|
624
|
-
|
|
624
|
+
let text = sourceText.substring(skipTrivia(sourceText, node.pos), node.end);
|
|
625
|
+
if (isJSDocTypeExpressionOrChild(node))
|
|
626
|
+
text = normalizeJSDocTypeSourceText(text);
|
|
625
627
|
if ((node.flags & 268435456 /* NodeFlags.ReparserTransformedLiteral */) !== 0) {
|
|
626
628
|
if (node instanceof StringLiteral)
|
|
627
629
|
return (node.tokenFlags & 65536 /* TokenFlags.SingleQuote */) !== 0 ? "'" + text + "'" : '"' + text + '"';
|
|
@@ -109,6 +109,12 @@ export declare class CheckedProgram {
|
|
|
109
109
|
*/
|
|
110
110
|
referenceThreads: number;
|
|
111
111
|
readonly parallelGlobalDiagnostics: Diagnostic[];
|
|
112
|
+
/**
|
|
113
|
+
* Whether the semantic diagnostics of a file include the global diagnostics its checker found while
|
|
114
|
+
* checking it, as an incremental program caches them (IncrementalProgram). Such a program doesn't report
|
|
115
|
+
* the global diagnostics found by checking otherwise (`reportsGlobalDiagnosticsOfChecking`, compile-program.ts).
|
|
116
|
+
*/
|
|
117
|
+
globalsInFileDiagnostics: boolean;
|
|
112
118
|
/**
|
|
113
119
|
* The declaration diagnostics checker threads computed under `noEmit` (PlainProgram,
|
|
114
120
|
* IncrementalProgram), by file index; `undefined` for files they did not. Set once every file is
|
|
@@ -173,8 +179,8 @@ export declare class CheckedProgram {
|
|
|
173
179
|
* those they found checking files.
|
|
174
180
|
*/
|
|
175
181
|
getGlobalDiagnostics(withCheckerThreads?: boolean): Diagnostic[];
|
|
176
|
-
/** Whether `file`'s bind and check diagnostics are
|
|
177
|
-
skipTypeChecking(file: SourceFile): boolean;
|
|
182
|
+
/** Whether `file`'s bind and check diagnostics are skipped; `ignoreNoCheck` leaves `noCheck` out. */
|
|
183
|
+
skipTypeChecking(file: SourceFile, ignoreNoCheck?: boolean): boolean;
|
|
178
184
|
private collect;
|
|
179
185
|
private collectChecked;
|
|
180
186
|
/** `checks` are the checker's diagnostics of `file`. */
|