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.
Files changed (367) hide show
  1. package/README.md +1 -1
  2. package/bin/tsc-ts.js +70 -1
  3. package/dist/api/compiler/ast-utilities.d.ts +19 -1
  4. package/dist/api/compiler/ast-utilities.js +180 -95
  5. package/dist/api/compiler/ast.d.ts +20 -15
  6. package/dist/api/compiler/ast.js +1023 -995
  7. package/dist/api/compiler/astnav.js +15 -15
  8. package/dist/api/compiler/binder-utilities.js +186 -186
  9. package/dist/api/compiler/binder.js +290 -263
  10. package/dist/api/compiler/character-codes.js +2 -2
  11. package/dist/api/compiler/checker-calls.js +173 -123
  12. package/dist/api/compiler/checker-classes.d.ts +14 -3
  13. package/dist/api/compiler/checker-classes.js +134 -90
  14. package/dist/api/compiler/checker-contextual.js +64 -61
  15. package/dist/api/compiler/checker-declaration-order.js +79 -79
  16. package/dist/api/compiler/checker-declarations.d.ts +1 -0
  17. package/dist/api/compiler/checker-declarations.js +160 -136
  18. package/dist/api/compiler/checker-declared-types.js +67 -65
  19. package/dist/api/compiler/checker-decorators.js +77 -77
  20. package/dist/api/compiler/checker-deprecation.d.ts +8 -3
  21. package/dist/api/compiler/checker-deprecation.js +76 -55
  22. package/dist/api/compiler/checker-destructuring.js +47 -45
  23. package/dist/api/compiler/checker-elaboration.js +24 -24
  24. package/dist/api/compiler/checker-emit-helpers.js +4 -4
  25. package/dist/api/compiler/checker-emit-resolver.d.ts +4 -2
  26. package/dist/api/compiler/checker-emit-resolver.js +25 -13
  27. package/dist/api/compiler/checker-evaluator.js +9 -9
  28. package/dist/api/compiler/checker-expressions.js +244 -211
  29. package/dist/api/compiler/checker-functions.js +113 -107
  30. package/dist/api/compiler/checker-generated-code.d.ts +0 -11
  31. package/dist/api/compiler/checker-generated-code.js +28 -52
  32. package/dist/api/compiler/checker-grammar.d.ts +1 -0
  33. package/dist/api/compiler/checker-grammar.js +469 -438
  34. package/dist/api/compiler/checker-heritage.js +91 -93
  35. package/dist/api/compiler/checker-inference.d.ts +77 -5
  36. package/dist/api/compiler/checker-inference.js +487 -113
  37. package/dist/api/compiler/checker-iteration.d.ts +0 -10
  38. package/dist/api/compiler/checker-iteration.js +35 -52
  39. package/dist/api/compiler/checker-javascript.js +14 -14
  40. package/dist/api/compiler/checker-jsdoc.d.ts +8 -10
  41. package/dist/api/compiler/checker-jsdoc.js +67 -58
  42. package/dist/api/compiler/checker-jsx.js +105 -88
  43. package/dist/api/compiler/checker-members.d.ts +9 -2
  44. package/dist/api/compiler/checker-members.js +210 -74
  45. package/dist/api/compiler/checker-modules.d.ts +15 -6
  46. package/dist/api/compiler/checker-modules.js +469 -309
  47. package/dist/api/compiler/checker-narrowing.js +273 -189
  48. package/dist/api/compiler/checker-object-literals.js +25 -22
  49. package/dist/api/compiler/checker-operators.js +126 -118
  50. package/dist/api/compiler/checker-overloads.js +27 -27
  51. package/dist/api/compiler/checker-property-access.js +59 -55
  52. package/dist/api/compiler/checker-services.d.ts +1 -0
  53. package/dist/api/compiler/checker-services.js +222 -210
  54. package/dist/api/compiler/checker-signatures.js +65 -49
  55. package/dist/api/compiler/checker-source-file.d.ts +5 -0
  56. package/dist/api/compiler/checker-source-file.js +154 -130
  57. package/dist/api/compiler/checker-statements.js +33 -32
  58. package/dist/api/compiler/checker-super.js +50 -50
  59. package/dist/api/compiler/checker-symbol-types.js +109 -93
  60. package/dist/api/compiler/checker-symbols.d.ts +13 -1
  61. package/dist/api/compiler/checker-symbols.js +264 -149
  62. package/dist/api/compiler/checker-type-factory.d.ts +5 -0
  63. package/dist/api/compiler/checker-type-factory.js +137 -34
  64. package/dist/api/compiler/checker-type-nodes.d.ts +1 -0
  65. package/dist/api/compiler/checker-type-nodes.js +179 -141
  66. package/dist/api/compiler/checker-type-operators.d.ts +2 -0
  67. package/dist/api/compiler/checker-type-operators.js +110 -63
  68. package/dist/api/compiler/checker-types.d.ts +80 -3
  69. package/dist/api/compiler/checker-types.js +121 -2
  70. package/dist/api/compiler/checker-unused.js +114 -118
  71. package/dist/api/compiler/checker-utilities.js +11 -11
  72. package/dist/api/compiler/checker.d.ts +93 -31
  73. package/dist/api/compiler/checker.js +143 -35
  74. package/dist/api/compiler/command-line.d.ts +1 -3
  75. package/dist/api/compiler/command-line.js +47 -44
  76. package/dist/api/compiler/compile-program.d.ts +19 -4
  77. package/dist/api/compiler/compile-program.js +45 -26
  78. package/dist/api/compiler/diagnostic-messages.d.ts +1849 -1774
  79. package/dist/api/compiler/diagnostic-messages.js +128 -122
  80. package/dist/api/compiler/diagnostics.js +7 -7
  81. package/dist/api/compiler/emitter.d.ts +7 -1
  82. package/dist/api/compiler/emitter.js +53 -11
  83. package/dist/api/compiler/file-include.d.ts +2 -1
  84. package/dist/api/compiler/file-include.js +11 -7
  85. package/dist/api/compiler/file-loader.d.ts +10 -0
  86. package/dist/api/compiler/file-loader.js +138 -41
  87. package/dist/api/compiler/instantiation.d.ts +7 -0
  88. package/dist/api/compiler/instantiation.js +101 -49
  89. package/dist/api/compiler/jsdoc.js +23 -23
  90. package/dist/api/compiler/link-tables.d.ts +48 -18
  91. package/dist/api/compiler/link-tables.js +80 -37
  92. package/dist/api/compiler/locales/cs-CZ.d.ts +1 -1
  93. package/dist/api/compiler/locales/cs-CZ.js +1 -1
  94. package/dist/api/compiler/locales/de-DE.d.ts +1 -1
  95. package/dist/api/compiler/locales/de-DE.js +1 -1
  96. package/dist/api/compiler/locales/es-ES.d.ts +1 -1
  97. package/dist/api/compiler/locales/es-ES.js +1 -1
  98. package/dist/api/compiler/locales/fr-FR.d.ts +1 -1
  99. package/dist/api/compiler/locales/fr-FR.js +1 -1
  100. package/dist/api/compiler/locales/it-IT.d.ts +1 -1
  101. package/dist/api/compiler/locales/it-IT.js +1 -1
  102. package/dist/api/compiler/locales/ja-JP.d.ts +1 -1
  103. package/dist/api/compiler/locales/ja-JP.js +1 -1
  104. package/dist/api/compiler/locales/ko-KR.d.ts +1 -1
  105. package/dist/api/compiler/locales/ko-KR.js +1 -1
  106. package/dist/api/compiler/locales/pl-PL.d.ts +1 -1
  107. package/dist/api/compiler/locales/pl-PL.js +1 -1
  108. package/dist/api/compiler/locales/pt-BR.d.ts +1 -1
  109. package/dist/api/compiler/locales/pt-BR.js +1 -1
  110. package/dist/api/compiler/locales/ru-RU.d.ts +1 -1
  111. package/dist/api/compiler/locales/ru-RU.js +1 -1
  112. package/dist/api/compiler/locales/tr-TR.d.ts +1 -1
  113. package/dist/api/compiler/locales/tr-TR.js +1 -1
  114. package/dist/api/compiler/locales/zh-CN.d.ts +1 -1
  115. package/dist/api/compiler/locales/zh-CN.js +1 -1
  116. package/dist/api/compiler/locales/zh-TW.d.ts +1 -1
  117. package/dist/api/compiler/locales/zh-TW.js +1 -1
  118. package/dist/api/compiler/module-resolution-types.js +6 -6
  119. package/dist/api/compiler/module-resolution.d.ts +10 -1
  120. package/dist/api/compiler/module-resolution.js +115 -84
  121. package/dist/api/compiler/module-specifiers.d.ts +15 -0
  122. package/dist/api/compiler/module-specifiers.js +24 -18
  123. package/dist/api/compiler/name-resolver.js +74 -65
  124. package/dist/api/compiler/node-builder-names.d.ts +11 -3
  125. package/dist/api/compiler/node-builder-names.js +210 -90
  126. package/dist/api/compiler/node-builder-pseudo.js +29 -31
  127. package/dist/api/compiler/node-builder-reuse.js +23 -22
  128. package/dist/api/compiler/node-builder.d.ts +18 -1
  129. package/dist/api/compiler/node-builder.js +191 -102
  130. package/dist/api/compiler/option-declarations.d.ts +2 -6
  131. package/dist/api/compiler/option-declarations.js +315 -375
  132. package/dist/api/compiler/options.d.ts +15 -33
  133. package/dist/api/compiler/options.js +21 -54
  134. package/dist/api/compiler/output-paths.d.ts +4 -1
  135. package/dist/api/compiler/output-paths.js +6 -11
  136. package/dist/api/compiler/package-json.d.ts +3 -3
  137. package/dist/api/compiler/package-json.js +11 -10
  138. package/dist/api/compiler/parser.d.ts +40 -19
  139. package/dist/api/compiler/parser.js +308 -216
  140. package/dist/api/compiler/path.d.ts +9 -0
  141. package/dist/api/compiler/path.js +20 -3
  142. package/dist/api/compiler/printer/emit-context.d.ts +3 -1
  143. package/dist/api/compiler/printer/emit-context.js +16 -1
  144. package/dist/api/compiler/printer/factory-base.d.ts +2 -2
  145. package/dist/api/compiler/printer/factory-base.js +7 -3
  146. package/dist/api/compiler/printer/factory.js +3 -1
  147. package/dist/api/compiler/printer/helpers.js +10 -1
  148. package/dist/api/compiler/printer/name-generator.d.ts +1 -1
  149. package/dist/api/compiler/printer/name-generator.js +35 -16
  150. package/dist/api/compiler/printer/printer.d.ts +1 -0
  151. package/dist/api/compiler/printer/printer.js +303 -281
  152. package/dist/api/compiler/printer/utilities.js +149 -147
  153. package/dist/api/compiler/program-checker.d.ts +8 -2
  154. package/dist/api/compiler/program-checker.js +84 -34
  155. package/dist/api/compiler/program-utilities.d.ts +3 -1
  156. package/dist/api/compiler/program-utilities.js +28 -15
  157. package/dist/api/compiler/program.d.ts +2 -0
  158. package/dist/api/compiler/program.js +69 -57
  159. package/dist/api/compiler/pseudo-bigint.d.ts +2 -0
  160. package/dist/api/compiler/pseudo-bigint.js +18 -0
  161. package/dist/api/compiler/regexp-checker.d.ts +1 -1
  162. package/dist/api/compiler/regexp-checker.js +93 -76
  163. package/dist/api/compiler/relations.d.ts +27 -4
  164. package/dist/api/compiler/relations.js +337 -180
  165. package/dist/api/compiler/reparser.js +60 -56
  166. package/dist/api/compiler/scanner.d.ts +19 -2
  167. package/dist/api/compiler/scanner.js +123 -108
  168. package/dist/api/compiler/shared-results.d.ts +463 -0
  169. package/dist/api/compiler/shared-results.js +2128 -0
  170. package/dist/api/compiler/sourcemap.js +2 -2
  171. package/dist/api/compiler/symbol-accessibility.js +87 -74
  172. package/dist/api/compiler/symbol.d.ts +22 -13
  173. package/dist/api/compiler/symbol.js +15 -1
  174. package/dist/api/compiler/syntax-kind.d.ts +198 -197
  175. package/dist/api/compiler/transformers/alias-references.js +247 -139
  176. package/dist/api/compiler/transformers/async-utilities.js +25 -25
  177. package/dist/api/compiler/transformers/async.d.ts +0 -1
  178. package/dist/api/compiler/transformers/async.js +64 -77
  179. package/dist/api/compiler/transformers/class-fields.d.ts +1 -0
  180. package/dist/api/compiler/transformers/class-fields.js +81 -78
  181. package/dist/api/compiler/transformers/commonjs-module.js +18 -15
  182. package/dist/api/compiler/transformers/const-enum-inliner.js +1 -1
  183. package/dist/api/compiler/transformers/declarations-diagnostics.js +247 -244
  184. package/dist/api/compiler/transformers/declarations-pseudo.js +100 -100
  185. package/dist/api/compiler/transformers/declarations-resolver.d.ts +0 -3
  186. package/dist/api/compiler/transformers/declarations-syntactic.d.ts +1 -2
  187. package/dist/api/compiler/transformers/declarations-syntactic.js +134 -156
  188. package/dist/api/compiler/transformers/declarations-tracker.js +18 -18
  189. package/dist/api/compiler/transformers/declarations.d.ts +4 -1
  190. package/dist/api/compiler/transformers/declarations.js +305 -238
  191. package/dist/api/compiler/transformers/decorator-metadata.d.ts +1 -1
  192. package/dist/api/compiler/transformers/decorator-metadata.js +53 -45
  193. package/dist/api/compiler/transformers/decorator-utilities.js +24 -24
  194. package/dist/api/compiler/transformers/destructuring.js +19 -18
  195. package/dist/api/compiler/transformers/emit-resolver.js +1 -1
  196. package/dist/api/compiler/transformers/es-decorators.js +55 -55
  197. package/dist/api/compiler/transformers/external-module-info.js +3 -3
  198. package/dist/api/compiler/transformers/for-await.js +25 -25
  199. package/dist/api/compiler/transformers/import-elision.js +14 -14
  200. package/dist/api/compiler/transformers/jsx.js +12 -12
  201. package/dist/api/compiler/transformers/legacy-decorators.js +17 -17
  202. package/dist/api/compiler/transformers/module.js +8 -8
  203. package/dist/api/compiler/transformers/named-evaluation.js +4 -4
  204. package/dist/api/compiler/transformers/object-rest-spread.js +20 -20
  205. package/dist/api/compiler/transformers/optional-chain.js +10 -10
  206. package/dist/api/compiler/transformers/reference-resolver.d.ts +12 -1
  207. package/dist/api/compiler/transformers/reference-resolver.js +131 -69
  208. package/dist/api/compiler/transformers/runtime-syntax.js +35 -31
  209. package/dist/api/compiler/transformers/subtree-facts.js +47 -47
  210. package/dist/api/compiler/transformers/syntax-facts.js +56 -58
  211. package/dist/api/compiler/transformers/type-eraser.js +73 -66
  212. package/dist/api/compiler/transformers/type-serialization.js +24 -24
  213. package/dist/api/compiler/transformers/using.js +12 -12
  214. package/dist/api/compiler/transformers/utilities.js +77 -77
  215. package/dist/api/compiler/transformers/visitor-base.js +172 -172
  216. package/dist/api/compiler/transformers/visitor-hooks.js +6 -2
  217. package/dist/api/compiler/tsconfig.d.ts +10 -2
  218. package/dist/api/compiler/tsconfig.js +136 -48
  219. package/dist/api/compiler/type-printer.js +40 -3
  220. package/dist/api/compiler/types.d.ts +2 -1
  221. package/dist/api/library/ast.generated.d.ts +42 -39
  222. package/dist/api/library/ast.generated.js +1 -1
  223. package/dist/api/library/compiler-options.generated.d.ts +111 -100
  224. package/dist/api/library/compiler-options.generated.js +1 -1
  225. package/dist/api/library/disk.js +12 -1
  226. package/dist/api/library/enums.generated.d.ts +206 -206
  227. package/dist/api/library/enums.generated.js +206 -206
  228. package/dist/api/library/nodes.js +26 -26
  229. package/package.json +9 -9
  230. package/src/compiler/ast-utilities.ts +99 -7
  231. package/src/compiler/ast.ts +55 -26
  232. package/src/compiler/binder.ts +39 -4
  233. package/src/compiler/character-codes.ts +2 -2
  234. package/src/compiler/checker-calls.ts +76 -8
  235. package/src/compiler/checker-classes.ts +78 -24
  236. package/src/compiler/checker-contextual.ts +6 -1
  237. package/src/compiler/checker-declarations.ts +31 -4
  238. package/src/compiler/checker-declared-types.ts +8 -5
  239. package/src/compiler/checker-decorators.ts +1 -1
  240. package/src/compiler/checker-deprecation.ts +29 -8
  241. package/src/compiler/checker-destructuring.ts +10 -3
  242. package/src/compiler/checker-emit-helpers.ts +1 -0
  243. package/src/compiler/checker-emit-resolver.ts +16 -6
  244. package/src/compiler/checker-expressions.ts +79 -46
  245. package/src/compiler/checker-functions.ts +21 -6
  246. package/src/compiler/checker-generated-code.ts +2 -22
  247. package/src/compiler/checker-grammar.ts +133 -60
  248. package/src/compiler/checker-heritage.ts +22 -21
  249. package/src/compiler/checker-inference.ts +514 -87
  250. package/src/compiler/checker-iteration.ts +18 -31
  251. package/src/compiler/checker-javascript.ts +1 -1
  252. package/src/compiler/checker-jsdoc.ts +50 -27
  253. package/src/compiler/checker-jsx.ts +26 -4
  254. package/src/compiler/checker-members.ts +197 -55
  255. package/src/compiler/checker-modules.ts +332 -65
  256. package/src/compiler/checker-narrowing.ts +98 -19
  257. package/src/compiler/checker-object-literals.ts +3 -0
  258. package/src/compiler/checker-operators.ts +11 -4
  259. package/src/compiler/checker-property-access.ts +7 -2
  260. package/src/compiler/checker-services.ts +39 -12
  261. package/src/compiler/checker-signatures.ts +15 -1
  262. package/src/compiler/checker-source-file.ts +39 -13
  263. package/src/compiler/checker-statements.ts +3 -2
  264. package/src/compiler/checker-symbol-types.ts +29 -6
  265. package/src/compiler/checker-symbols.ts +158 -15
  266. package/src/compiler/checker-type-factory.ts +120 -21
  267. package/src/compiler/checker-type-nodes.ts +46 -3
  268. package/src/compiler/checker-type-operators.ts +83 -26
  269. package/src/compiler/checker-types.ts +147 -4
  270. package/src/compiler/checker-unused.ts +9 -14
  271. package/src/compiler/checker.ts +168 -41
  272. package/src/compiler/command-line.ts +28 -28
  273. package/src/compiler/compile-program.ts +51 -25
  274. package/src/compiler/decoder.ts +13 -4
  275. package/src/compiler/diagnostic-messages.ts +1973 -1892
  276. package/src/compiler/emitter.ts +57 -8
  277. package/src/compiler/encoder.ts +23 -8
  278. package/src/compiler/file-include.ts +9 -3
  279. package/src/compiler/file-loader.ts +139 -32
  280. package/src/compiler/help.ts +10 -14
  281. package/src/compiler/incremental.ts +86 -18
  282. package/src/compiler/init.ts +2 -7
  283. package/src/compiler/instantiation.ts +77 -22
  284. package/src/compiler/jsdoc.ts +3 -1
  285. package/src/compiler/link-tables.ts +82 -37
  286. package/src/compiler/locales/cs-CZ.ts +1 -1
  287. package/src/compiler/locales/de-DE.ts +1 -1
  288. package/src/compiler/locales/es-ES.ts +1 -1
  289. package/src/compiler/locales/fr-FR.ts +1 -1
  290. package/src/compiler/locales/it-IT.ts +1 -1
  291. package/src/compiler/locales/ja-JP.ts +1 -1
  292. package/src/compiler/locales/ko-KR.ts +1 -1
  293. package/src/compiler/locales/pl-PL.ts +1 -1
  294. package/src/compiler/locales/pt-BR.ts +1 -1
  295. package/src/compiler/locales/ru-RU.ts +1 -1
  296. package/src/compiler/locales/tr-TR.ts +1 -1
  297. package/src/compiler/locales/zh-CN.ts +1 -1
  298. package/src/compiler/locales/zh-TW.ts +1 -1
  299. package/src/compiler/module-resolution.ts +44 -8
  300. package/src/compiler/module-specifiers.ts +62 -20
  301. package/src/compiler/name-resolver.ts +9 -1
  302. package/src/compiler/node-builder-names.ts +236 -54
  303. package/src/compiler/node-builder-pseudo.ts +4 -7
  304. package/src/compiler/node-builder-reuse.ts +5 -4
  305. package/src/compiler/node-builder.ts +130 -31
  306. package/src/compiler/option-declarations.ts +33 -103
  307. package/src/compiler/options.ts +23 -62
  308. package/src/compiler/output-paths.ts +5 -18
  309. package/src/compiler/package-entrypoints.ts +345 -0
  310. package/src/compiler/package-json.ts +4 -4
  311. package/src/compiler/parallel-check.ts +197 -8
  312. package/src/compiler/parallel-emit.ts +1 -1
  313. package/src/compiler/parser.ts +156 -39
  314. package/src/compiler/path.ts +22 -2
  315. package/src/compiler/printer/emit-context.ts +16 -0
  316. package/src/compiler/printer/factory-base.ts +10 -3
  317. package/src/compiler/printer/factory.ts +4 -1
  318. package/src/compiler/printer/helpers.ts +10 -1
  319. package/src/compiler/printer/name-generator.ts +24 -2
  320. package/src/compiler/printer/printer.ts +35 -14
  321. package/src/compiler/printer/utilities.ts +8 -2
  322. package/src/compiler/program-checker.ts +53 -5
  323. package/src/compiler/program-utilities.ts +23 -10
  324. package/src/compiler/program.ts +13 -1
  325. package/src/compiler/pseudo-bigint.ts +17 -0
  326. package/src/compiler/regexp-checker.ts +63 -30
  327. package/src/compiler/relations.ts +233 -77
  328. package/src/compiler/reparser.ts +7 -2
  329. package/src/compiler/scanner.ts +109 -79
  330. package/src/compiler/shared-results.ts +2414 -0
  331. package/src/compiler/show-config.ts +18 -1
  332. package/src/compiler/sourcemap.ts +2 -2
  333. package/src/compiler/symbol-accessibility.ts +26 -3
  334. package/src/compiler/symbol.ts +31 -14
  335. package/src/compiler/syntax-kind.ts +188 -187
  336. package/src/compiler/thread-entry.ts +19 -2
  337. package/src/compiler/transformers/alias-references.ts +123 -4
  338. package/src/compiler/transformers/async.ts +2 -17
  339. package/src/compiler/transformers/class-fields.ts +13 -12
  340. package/src/compiler/transformers/commonjs-module.ts +11 -7
  341. package/src/compiler/transformers/declarations-diagnostics.ts +5 -3
  342. package/src/compiler/transformers/declarations-pseudo.ts +2 -4
  343. package/src/compiler/transformers/declarations-resolver.ts +0 -3
  344. package/src/compiler/transformers/declarations-syntactic.ts +1 -21
  345. package/src/compiler/transformers/declarations.ts +134 -48
  346. package/src/compiler/transformers/decorator-metadata.ts +9 -1
  347. package/src/compiler/transformers/destructuring.ts +4 -3
  348. package/src/compiler/transformers/external-module-info.ts +1 -1
  349. package/src/compiler/transformers/jsx.ts +2 -1
  350. package/src/compiler/transformers/reference-resolver.ts +83 -19
  351. package/src/compiler/transformers/runtime-syntax.ts +6 -1
  352. package/src/compiler/transformers/syntax-facts.ts +2 -7
  353. package/src/compiler/transformers/type-eraser.ts +10 -1
  354. package/src/compiler/transformers/type-serialization.ts +3 -2
  355. package/src/compiler/transformers/visitor-base.ts +2 -1
  356. package/src/compiler/transformers/visitor-hooks.ts +9 -4
  357. package/src/compiler/tsc-build.ts +3 -0
  358. package/src/compiler/tsc-cli.ts +2 -0
  359. package/src/compiler/tsc-compile.ts +7 -2
  360. package/src/compiler/tsc-watch.ts +74 -45
  361. package/src/compiler/tsconfig.ts +176 -19
  362. package/src/compiler/type-printer.ts +36 -2
  363. package/src/compiler/types.ts +2 -1
  364. package/src/library/ast.generated.ts +57 -41
  365. package/src/library/compiler-options.generated.ts +117 -103
  366. package/src/library/disk.ts +10 -1
  367. 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 <= 166 /* SyntaxKind.LastKeyword */;
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 >= 308 /* SyntaxKind.JSDocTypeExpression */ && kind <= 343 /* SyntaxKind.JSDocImportTag */;
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 212 /* SyntaxKind.PropertyAccessExpression */:
70
- case 213 /* SyntaxKind.ElementAccessExpression */:
71
- case 214 /* SyntaxKind.CallExpression */:
72
- case 236 /* SyntaxKind.NonNullExpression */:
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 === 244 /* SyntaxKind.VariableStatement */)
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 212 /* SyntaxKind.PropertyAccessExpression */:
112
- case 213 /* SyntaxKind.ElementAccessExpression */:
113
- case 215 /* SyntaxKind.NewExpression */:
114
- case 214 /* SyntaxKind.CallExpression */:
115
- case 285 /* SyntaxKind.JsxElement */:
116
- case 286 /* SyntaxKind.JsxSelfClosingElement */:
117
- case 289 /* SyntaxKind.JsxFragment */:
118
- case 216 /* SyntaxKind.TaggedTemplateExpression */:
119
- case 210 /* SyntaxKind.ArrayLiteralExpression */:
120
- case 218 /* SyntaxKind.ParenthesizedExpression */:
121
- case 211 /* SyntaxKind.ObjectLiteralExpression */:
122
- case 232 /* SyntaxKind.ClassExpression */:
123
- case 219 /* SyntaxKind.FunctionExpression */:
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 229 /* SyntaxKind.TemplateExpression */:
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 236 /* SyntaxKind.NonNullExpression */:
138
- case 234 /* SyntaxKind.ExpressionWithTypeArguments */:
139
- case 237 /* SyntaxKind.MetaProperty */:
137
+ case 237 /* SyntaxKind.NonNullExpression */:
138
+ case 235 /* SyntaxKind.ExpressionWithTypeArguments */:
139
+ case 238 /* SyntaxKind.MetaProperty */:
140
140
  case 101 /* SyntaxKind.ImportKeyword */:
141
- case 283 /* SyntaxKind.MissingDeclaration */:
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 225 /* SyntaxKind.PrefixUnaryExpression */:
149
- case 226 /* SyntaxKind.PostfixUnaryExpression */:
150
- case 221 /* SyntaxKind.DeleteExpression */:
151
- case 222 /* SyntaxKind.TypeOfExpression */:
152
- case 223 /* SyntaxKind.VoidExpression */:
153
- case 224 /* SyntaxKind.AwaitExpression */:
154
- case 217 /* SyntaxKind.TypeAssertionExpression */:
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 228 /* SyntaxKind.ConditionalExpression */:
162
- case 230 /* SyntaxKind.YieldExpression */:
163
- case 220 /* SyntaxKind.ArrowFunction */:
164
- case 227 /* SyntaxKind.BinaryExpression */:
165
- case 231 /* SyntaxKind.SpreadElement */:
166
- case 235 /* SyntaxKind.AsExpression */:
167
- case 233 /* SyntaxKind.OmittedExpression */:
168
- case 348 /* SyntaxKind.PartiallyEmittedExpression */:
169
- case 239 /* SyntaxKind.SatisfiesExpression */:
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 234 /* SyntaxKind.ExpressionWithTypeArguments */:
192
- case 310 /* SyntaxKind.JSDocAllType */:
193
- case 311 /* SyntaxKind.JSDocNullableType */:
194
- case 312 /* SyntaxKind.JSDocNonNullableType */:
195
- case 313 /* SyntaxKind.JSDocOptionalType */:
196
- case 314 /* SyntaxKind.JSDocVariadicType */:
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 >= 183 /* SyntaxKind.FirstTypeNode */ && kind <= 206 /* SyntaxKind.LastTypeNode */;
199
+ return kind >= 184 /* SyntaxKind.FirstTypeNode */ && kind <= 207 /* SyntaxKind.LastTypeNode */;
200
200
  }
201
201
  function isDeclarationStatementKind(kind) {
202
202
  switch (kind) {
203
- case 263 /* SyntaxKind.FunctionDeclaration */:
204
- case 283 /* SyntaxKind.MissingDeclaration */:
205
- case 264 /* SyntaxKind.ClassDeclaration */:
206
- case 265 /* SyntaxKind.InterfaceDeclaration */:
207
- case 266 /* SyntaxKind.TypeAliasDeclaration */:
208
- case 345 /* SyntaxKind.JSTypeAliasDeclaration */:
209
- case 267 /* SyntaxKind.EnumDeclaration */:
210
- case 268 /* SyntaxKind.ModuleDeclaration */:
211
- case 273 /* SyntaxKind.ImportDeclaration */:
212
- case 346 /* SyntaxKind.JSImportDeclaration */:
213
- case 272 /* SyntaxKind.ImportEqualsDeclaration */:
214
- case 279 /* SyntaxKind.ExportDeclaration */:
215
- case 278 /* SyntaxKind.ExportAssignment */:
216
- case 271 /* SyntaxKind.NamespaceExportDeclaration */:
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 253 /* SyntaxKind.BreakStatement */:
224
- case 252 /* SyntaxKind.ContinueStatement */:
225
- case 260 /* SyntaxKind.DebuggerStatement */:
226
- case 247 /* SyntaxKind.DoStatement */:
227
- case 245 /* SyntaxKind.ExpressionStatement */:
228
- case 243 /* SyntaxKind.EmptyStatement */:
229
- case 250 /* SyntaxKind.ForInStatement */:
230
- case 251 /* SyntaxKind.ForOfStatement */:
231
- case 249 /* SyntaxKind.ForStatement */:
232
- case 246 /* SyntaxKind.IfStatement */:
233
- case 257 /* SyntaxKind.LabeledStatement */:
234
- case 254 /* SyntaxKind.ReturnStatement */:
235
- case 256 /* SyntaxKind.SwitchStatement */:
236
- case 258 /* SyntaxKind.ThrowStatement */:
237
- case 259 /* SyntaxKind.TryStatement */:
238
- case 244 /* SyntaxKind.VariableStatement */:
239
- case 248 /* SyntaxKind.WhileStatement */:
240
- case 255 /* SyntaxKind.WithStatement */:
241
- case 347 /* SyntaxKind.NotEmittedStatement */:
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 263 /* SyntaxKind.FunctionDeclaration */:
249
- case 175 /* SyntaxKind.MethodDeclaration */:
250
- case 177 /* SyntaxKind.Constructor */:
251
- case 178 /* SyntaxKind.GetAccessor */:
252
- case 179 /* SyntaxKind.SetAccessor */:
253
- case 219 /* SyntaxKind.FunctionExpression */:
254
- case 220 /* SyntaxKind.ArrowFunction */:
255
- case 174 /* SyntaxKind.MethodSignature */:
256
- case 180 /* SyntaxKind.CallSignature */:
257
- case 318 /* SyntaxKind.JSDocSignature */:
258
- case 181 /* SyntaxKind.ConstructSignature */:
259
- case 182 /* SyntaxKind.IndexSignature */:
260
- case 185 /* SyntaxKind.FunctionType */:
261
- case 186 /* SyntaxKind.ConstructorType */:
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 !== 242 /* SyntaxKind.Block */)
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 !== 259 /* SyntaxKind.TryStatement */ &&
276
- parent.kind !== 300 /* SyntaxKind.CatchClause */ &&
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 231 /* SyntaxKind.SpreadElement */:
282
+ case 232 /* SyntaxKind.SpreadElement */:
283
283
  return 1 /* OperatorPrecedence.Spread */;
284
- case 230 /* SyntaxKind.YieldExpression */:
284
+ case 231 /* SyntaxKind.YieldExpression */:
285
285
  return 2 /* OperatorPrecedence.Yield */;
286
- case 220 /* SyntaxKind.ArrowFunction */:
286
+ case 221 /* SyntaxKind.ArrowFunction */:
287
287
  return 3 /* OperatorPrecedence.Assignment */;
288
- case 228 /* SyntaxKind.ConditionalExpression */:
288
+ case 229 /* SyntaxKind.ConditionalExpression */:
289
289
  return 4 /* OperatorPrecedence.Conditional */;
290
- case 227 /* SyntaxKind.BinaryExpression */:
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 217 /* SyntaxKind.TypeAssertionExpression */:
301
- case 236 /* SyntaxKind.NonNullExpression */:
302
- case 225 /* SyntaxKind.PrefixUnaryExpression */:
303
- case 222 /* SyntaxKind.TypeOfExpression */:
304
- case 223 /* SyntaxKind.VoidExpression */:
305
- case 221 /* SyntaxKind.DeleteExpression */:
306
- case 224 /* SyntaxKind.AwaitExpression */:
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 226 /* SyntaxKind.PostfixUnaryExpression */:
308
+ case 227 /* SyntaxKind.PostfixUnaryExpression */:
309
309
  return 17 /* OperatorPrecedence.Update */;
310
- case 212 /* SyntaxKind.PropertyAccessExpression */:
311
- case 213 /* SyntaxKind.ElementAccessExpression */:
312
- case 214 /* SyntaxKind.CallExpression */:
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 215 /* SyntaxKind.NewExpression */:
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 216 /* SyntaxKind.TaggedTemplateExpression */:
319
- case 237 /* SyntaxKind.MetaProperty */:
320
- case 234 /* SyntaxKind.ExpressionWithTypeArguments */:
318
+ case 217 /* SyntaxKind.TaggedTemplateExpression */:
319
+ case 238 /* SyntaxKind.MetaProperty */:
320
+ case 235 /* SyntaxKind.ExpressionWithTypeArguments */:
321
321
  return 20 /* OperatorPrecedence.Member */;
322
- case 235 /* SyntaxKind.AsExpression */:
323
- case 239 /* SyntaxKind.SatisfiesExpression */:
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 210 /* SyntaxKind.ArrayLiteralExpression */:
337
- case 211 /* SyntaxKind.ObjectLiteralExpression */:
338
- case 219 /* SyntaxKind.FunctionExpression */:
339
- case 232 /* SyntaxKind.ClassExpression */:
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 229 /* SyntaxKind.TemplateExpression */:
343
- case 233 /* SyntaxKind.OmittedExpression */:
344
- case 285 /* SyntaxKind.JsxElement */:
345
- case 286 /* SyntaxKind.JsxSelfClosingElement */:
346
- case 289 /* SyntaxKind.JsxFragment */:
347
- case 283 /* SyntaxKind.MissingDeclaration */:
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 218 /* SyntaxKind.ParenthesizedExpression */:
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 195 /* SyntaxKind.ConditionalType */:
356
+ case 196 /* SyntaxKind.ConditionalType */:
357
357
  return 0 /* TypePrecedence.Conditional */;
358
- case 313 /* SyntaxKind.JSDocOptionalType */:
359
- case 314 /* SyntaxKind.JSDocVariadicType */:
358
+ case 314 /* SyntaxKind.JSDocOptionalType */:
359
+ case 315 /* SyntaxKind.JSDocVariadicType */:
360
360
  return 1 /* TypePrecedence.JSDoc */;
361
- case 185 /* SyntaxKind.FunctionType */:
362
- case 186 /* SyntaxKind.ConstructorType */:
361
+ case 186 /* SyntaxKind.FunctionType */:
362
+ case 187 /* SyntaxKind.ConstructorType */:
363
363
  return 2 /* TypePrecedence.Function */;
364
- case 193 /* SyntaxKind.UnionType */:
364
+ case 194 /* SyntaxKind.UnionType */:
365
365
  return 3 /* TypePrecedence.Union */;
366
- case 194 /* SyntaxKind.IntersectionType */:
366
+ case 195 /* SyntaxKind.IntersectionType */:
367
367
  return 4 /* TypePrecedence.Intersection */;
368
- case 199 /* SyntaxKind.TypeOperator */:
369
- case 187 /* SyntaxKind.TypeQuery */:
368
+ case 200 /* SyntaxKind.TypeOperator */:
369
+ case 188 /* SyntaxKind.TypeQuery */:
370
370
  return 5 /* TypePrecedence.TypeOperator */;
371
- case 196 /* SyntaxKind.InferType */:
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 200 /* SyntaxKind.IndexedAccessType */:
376
- case 189 /* SyntaxKind.ArrayType */:
377
- case 191 /* SyntaxKind.OptionalType */:
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 === 219 /* SyntaxKind.FunctionExpression */ || callee.kind === 220 /* SyntaxKind.ArrowFunction */;
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
- const text = sourceText.substring(skipTrivia(sourceText, node.pos), node.end);
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 reported. */
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`. */