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
@@ -20,6 +20,7 @@ import { getApparentTypeOfContextualType, getInferenceContext, popContextualType
20
20
  import { addIntraExpressionInferenceSite } from './checker-inference.js';
21
21
  import { isEmptyObjectType } from './checker-type-factory.js';
22
22
  import { getTypeOfExpandoObjectLiteral, isJSObjectLiteral } from './checker-javascript.js';
23
+ import { checkNodeDeferred } from './checker-source-file.js';
23
24
  import { copyDeclarations, declarationCount, getDeclarations, getSymbolId, internalSymbolNamePrefix, setDeclarations, } from './symbol.js';
24
25
  /** Builds the type of the members collected since the last spread. */
25
26
  class ObjectLiteralBuilder {
@@ -80,6 +81,8 @@ export function checkObjectLiteral(c, node, checkMode) {
80
81
  const expandoType = getTypeOfExpandoObjectLiteral(c, node);
81
82
  if (expandoType !== undefined)
82
83
  return expandoType;
84
+ // Deprecated properties of the contextual type are reported once the file is checked.
85
+ checkNodeDeferred(c, node);
83
86
  const inDestructuringPattern = isAssignmentTarget(node);
84
87
  checkGrammarObjectLiteralOfExpression(c, node, inDestructuringPattern);
85
88
  const allProperties = c.strictNullChecks ? new Map() : undefined;
@@ -92,40 +95,40 @@ export function checkObjectLiteral(c, node, checkMode) {
92
95
  const contextualType = getApparentTypeOfContextualType(c, node);
93
96
  const contextualPattern = contextualType !== undefined ? c.patternForType.get(contextualType) : undefined;
94
97
  const contextualTypeHasPattern = contextualPattern !== undefined &&
95
- (contextualPattern.kind === 207 /* SyntaxKind.ObjectBindingPattern */ ||
96
- contextualPattern.kind === 211 /* SyntaxKind.ObjectLiteralExpression */);
98
+ (contextualPattern.kind === 208 /* SyntaxKind.ObjectBindingPattern */ ||
99
+ contextualPattern.kind === 212 /* SyntaxKind.ObjectLiteralExpression */);
97
100
  let spread = c.emptyObjectType;
98
101
  const elements = getProperties(node).nodes;
99
102
  // Computed names are checked up front: a spread may bail out before the member is reached.
100
103
  for (const e of elements) {
101
104
  const name = getName(e);
102
- if (name !== undefined && name.kind === 168 /* SyntaxKind.ComputedPropertyName */)
105
+ if (name !== undefined && name.kind === 169 /* SyntaxKind.ComputedPropertyName */)
103
106
  checkComputedPropertyName(c, name);
104
107
  }
105
108
  for (const memberDecl of elements) {
106
109
  let member = getSymbolOfDeclaration(c, memberDecl);
107
110
  const name = getName(memberDecl);
108
- const computedNameType = name !== undefined && name.kind === 168 /* SyntaxKind.ComputedPropertyName */
111
+ const computedNameType = name !== undefined && name.kind === 169 /* SyntaxKind.ComputedPropertyName */
109
112
  ? checkComputedPropertyName(c, name)
110
113
  : undefined;
111
- if (memberDecl.kind === 303 /* SyntaxKind.PropertyAssignment */ ||
112
- memberDecl.kind === 304 /* SyntaxKind.ShorthandPropertyAssignment */ ||
113
- memberDecl.kind === 175 /* SyntaxKind.MethodDeclaration */) {
114
+ if (memberDecl.kind === 304 /* SyntaxKind.PropertyAssignment */ ||
115
+ memberDecl.kind === 305 /* SyntaxKind.ShorthandPropertyAssignment */ ||
116
+ memberDecl.kind === 176 /* SyntaxKind.MethodDeclaration */) {
114
117
  let t;
115
- if (memberDecl.kind === 303 /* SyntaxKind.PropertyAssignment */)
118
+ if (memberDecl.kind === 304 /* SyntaxKind.PropertyAssignment */)
116
119
  t = checkPropertyAssignment(c, memberDecl, checkMode);
117
- else if (memberDecl.kind === 304 /* SyntaxKind.ShorthandPropertyAssignment */)
120
+ else if (memberDecl.kind === 305 /* SyntaxKind.ShorthandPropertyAssignment */)
118
121
  t = checkShorthandPropertyAssignment(c, memberDecl, inDestructuringPattern, checkMode);
119
122
  else
120
123
  t = getTypeOfObjectLiteralMethod(c, memberDecl, checkMode);
121
124
  if ((checkMode & 2 /* CheckMode.Inferential */) !== 0 &&
122
125
  (checkMode & 4 /* CheckMode.SkipContextSensitive */) === 0 &&
123
- (memberDecl.kind === 303 /* SyntaxKind.PropertyAssignment */ || memberDecl.kind === 175 /* SyntaxKind.MethodDeclaration */) &&
126
+ (memberDecl.kind === 304 /* SyntaxKind.PropertyAssignment */ || memberDecl.kind === 176 /* SyntaxKind.MethodDeclaration */) &&
124
127
  isContextSensitive(c, memberDecl)) {
125
128
  // Inferences flowing between context-sensitive members are made before fixing.
126
129
  const inferenceContext = getInferenceContext(c, node);
127
130
  if (inferenceContext !== undefined)
128
- addIntraExpressionInferenceSite(inferenceContext, memberDecl.kind === 303 /* SyntaxKind.PropertyAssignment */
131
+ addIntraExpressionInferenceSite(inferenceContext, memberDecl.kind === 304 /* SyntaxKind.PropertyAssignment */
129
132
  ? memberDecl.initializer
130
133
  : memberDecl, t);
131
134
  }
@@ -133,7 +136,7 @@ export function checkObjectLiteral(c, node, checkMode) {
133
136
  continue;
134
137
  builder.objectFlags |= t.objectFlags & 458752 /* ObjectFlags.PropagatingFlags */;
135
138
  const nameType = computedNameType !== undefined && isTypeUsableAsPropertyName(computedNameType) ? computedNameType : undefined;
136
- const prop = c.newSymbolWithCheckFlags(4 /* SymbolFlags.Property */ | member.flags, nameType !== undefined ? getPropertyNameFromType(nameType) : member.name, checkFlags | (nameType !== undefined ? 4096 /* CheckFlags.Late */ : 0));
139
+ const prop = c.newSymbolWithCheckFlags(4 /* SymbolFlags.Property */ | member.flags, nameType !== undefined ? getPropertyNameFromType(nameType) : member.name, checkFlags | (nameType !== undefined ? 32768 /* CheckFlags.Late */ : 0));
137
140
  const id = getSymbolId(prop);
138
141
  if (nameType !== undefined)
139
142
  c.symbolNameTypes.set(id, nameType);
@@ -147,7 +150,7 @@ export function checkObjectLiteral(c, node, checkMode) {
147
150
  if (impliedProp !== undefined)
148
151
  prop.flags |= impliedProp.flags & 16777216 /* SymbolFlags.Optional */;
149
152
  else if (getIndexInfoOfType(c, contextualType, c.stringType) === undefined)
150
- c.error(getName(memberDecl), 529 /* Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1 */, symbolToString(c, member), typeToString(c, contextualType));
153
+ c.error(getName(memberDecl), 536 /* Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1 */, symbolToString(c, member), typeToString(c, contextualType));
151
154
  }
152
155
  copyDeclarations(prop, member);
153
156
  prop.parent = member.parent;
@@ -158,7 +161,7 @@ export function checkObjectLiteral(c, node, checkMode) {
158
161
  if (allProperties !== undefined)
159
162
  allProperties.set(prop.name, prop);
160
163
  }
161
- else if (memberDecl.kind === 305 /* SyntaxKind.SpreadAssignment */) {
164
+ else if (memberDecl.kind === 306 /* SyntaxKind.SpreadAssignment */) {
162
165
  if (builder.properties.length > 0) {
163
166
  spread = getSpreadType(c, spread, builder.createType(c), getSymbol(node), builder.objectFlags, inConstContext);
164
167
  builder.reset();
@@ -174,7 +177,7 @@ export function checkObjectLiteral(c, node, checkMode) {
174
177
  spread = getSpreadType(c, spread, mergedType, getSymbol(node), builder.objectFlags, inConstContext);
175
178
  }
176
179
  else {
177
- c.error(memberDecl, 830 /* Diagnostics.Spread_types_may_only_be_created_from_object_types */);
180
+ c.error(memberDecl, 837 /* Diagnostics.Spread_types_may_only_be_created_from_object_types */);
178
181
  spread = c.errorType;
179
182
  }
180
183
  continue;
@@ -216,7 +219,7 @@ export function checkObjectLiteral(c, node, checkMode) {
216
219
  return builder.createType(c);
217
220
  }
218
221
  export function checkPropertyAssignment(c, node, checkMode) {
219
- if (node.name.kind === 168 /* SyntaxKind.ComputedPropertyName */)
222
+ if (node.name.kind === 169 /* SyntaxKind.ComputedPropertyName */)
220
223
  checkComputedPropertyName(c, node.name);
221
224
  const initializerType = checkExpressionForMutableLocationEx(c, node.initializer, checkMode);
222
225
  const typeNode = getType(node);
@@ -261,7 +264,7 @@ function isSymbolWithSymbolName(c, symbol) {
261
264
  return true;
262
265
  const name = getFirstDeclarationName(symbol);
263
266
  return (name !== undefined &&
264
- name.kind === 168 /* SyntaxKind.ComputedPropertyName */ &&
267
+ name.kind === 169 /* SyntaxKind.ComputedPropertyName */ &&
265
268
  isTypeAssignableToKindEx(c, checkComputedPropertyName(c, name), 512 /* TypeFlags.ESSymbol */, false));
266
269
  }
267
270
  function isSymbolWithNumericName(c, symbol) {
@@ -271,7 +274,7 @@ function isSymbolWithNumericName(c, symbol) {
271
274
  if (name === undefined)
272
275
  return false;
273
276
  switch (name.kind) {
274
- case 168 /* SyntaxKind.ComputedPropertyName */:
277
+ case 169 /* SyntaxKind.ComputedPropertyName */:
275
278
  return isTypeAssignableToKindEx(c, checkComputedPropertyName(c, name), 67648 /* TypeFlags.NumberLike */, false);
276
279
  case 79 /* SyntaxKind.Identifier */:
277
280
  case 8 /* SyntaxKind.NumericLiteral */:
@@ -282,7 +285,7 @@ function isSymbolWithNumericName(c, symbol) {
282
285
  }
283
286
  function isSymbolWithComputedName(symbol) {
284
287
  const name = getFirstDeclarationName(symbol);
285
- return name !== undefined && name.kind === 168 /* SyntaxKind.ComputedPropertyName */;
288
+ return name !== undefined && name.kind === 169 /* SyntaxKind.ComputedPropertyName */;
286
289
  }
287
290
  /** Reports earlier properties that a spread always overwrites. */
288
291
  export function checkSpreadPropOverrides(c, t, props, spread) {
@@ -292,8 +295,8 @@ export function checkSpreadPropOverrides(c, t, props, spread) {
292
295
  const left = props.get(right.name);
293
296
  if (left === undefined)
294
297
  continue;
295
- const diagnostic = c.error(left.valueDeclaration, 915 /* Diagnostics.X_0_is_specified_more_than_once_so_this_usage_will_be_overwritten */, left.name);
296
- diagnostic.addRelatedInfo(createDiagnosticForNode(spread, 917 /* Diagnostics.This_spread_always_overwrites_this_property */, []));
298
+ const diagnostic = c.error(left.valueDeclaration, 922 /* Diagnostics.X_0_is_specified_more_than_once_so_this_usage_will_be_overwritten */, left.name);
299
+ diagnostic.addRelatedInfo(createDiagnosticForNode(spread, 924 /* Diagnostics.This_spread_always_overwrites_this_property */, []));
297
300
  }
298
301
  }
299
302
  // ---- Spread types
@@ -468,7 +471,7 @@ function tryMergeUnionOfObjectTypeAndEmptyObject(c, t, readonly) {
468
471
  if (!isSpreadableProperty(prop))
469
472
  continue;
470
473
  const isSetonlyAccessor = (prop.flags & 65536 /* SymbolFlags.SetAccessor */) !== 0 && (prop.flags & 32768 /* SymbolFlags.GetAccessor */) === 0;
471
- const result = c.newSymbolWithCheckFlags(4 /* SymbolFlags.Property */ | 16777216 /* SymbolFlags.Optional */, prop.name, (prop.checkFlags & 4096 /* CheckFlags.Late */) | (readonly ? 8 /* CheckFlags.Readonly */ : 0));
474
+ const result = c.newSymbolWithCheckFlags(4 /* SymbolFlags.Property */ | 16777216 /* SymbolFlags.Optional */, prop.name, (prop.checkFlags & 32768 /* CheckFlags.Late */) | (readonly ? 8 /* CheckFlags.Readonly */ : 0));
472
475
  const id = getSymbolId(result);
473
476
  c.symbolTypes.set(id, isSetonlyAccessor ? c.undefinedType : addOptionality(c, getTypeOfSymbol(c, prop), true, true));
474
477
  copyDeclarations(result, prop);