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
@@ -58,50 +58,50 @@ export class LegacyDecorators extends Transformer {
58
58
  switch (node.kind) {
59
59
  case 79 /* SyntaxKind.Identifier */:
60
60
  return node instanceof Identifier ? this.visitIdentifier(node) : node;
61
- case 212 /* SyntaxKind.PropertyAccessExpression */:
61
+ case 213 /* SyntaxKind.PropertyAccessExpression */:
62
62
  if (node instanceof PropertyAccessExpression) {
63
63
  // Property names are never substituted.
64
64
  const expression = this.visitNode(node.expression);
65
65
  return this.factory.updatePropertyAccessExpression(node, expression, node.questionDotToken, node.name, node.flags);
66
66
  }
67
67
  break;
68
- case 171 /* SyntaxKind.Decorator */:
68
+ case 172 /* SyntaxKind.Decorator */:
69
69
  // Emitted as part of the class.
70
70
  return undefined;
71
- case 264 /* SyntaxKind.ClassDeclaration */:
71
+ case 265 /* SyntaxKind.ClassDeclaration */:
72
72
  if (node instanceof ClassDeclaration)
73
73
  return this.visitClassDeclaration(node);
74
74
  break;
75
- case 232 /* SyntaxKind.ClassExpression */:
75
+ case 233 /* SyntaxKind.ClassExpression */:
76
76
  if (node instanceof ClassExpression)
77
77
  // Legacy decorators don't apply to class expressions.
78
78
  return this.factory.updateClassExpression(node, this.visitModifiers(node.modifiers), node.name, undefined, this.visitNodes(node.heritageClauses), this.visitNodes(node.members));
79
79
  break;
80
- case 177 /* SyntaxKind.Constructor */:
80
+ case 178 /* SyntaxKind.Constructor */:
81
81
  if (node instanceof ConstructorDeclaration)
82
82
  return this.factory.updateConstructorDeclaration(node, this.visitModifiers(node.modifiers), undefined, this.visitNodes(node.parameters), undefined, undefined, this.visitNode(node.body));
83
83
  break;
84
- case 175 /* SyntaxKind.MethodDeclaration */:
84
+ case 176 /* SyntaxKind.MethodDeclaration */:
85
85
  if (node instanceof MethodDeclaration)
86
86
  return this.finishClassElement(this.factory.updateMethodDeclaration(node, this.visitModifiers(node.modifiers), node.asteriskToken, this.visitPropertyNameOfClassElement(node), undefined, undefined, this.visitNodes(node.parameters), undefined, undefined, this.visitNode(node.body)), node);
87
87
  break;
88
- case 178 /* SyntaxKind.GetAccessor */:
88
+ case 179 /* SyntaxKind.GetAccessor */:
89
89
  if (node instanceof GetAccessorDeclaration)
90
90
  return this.finishClassElement(this.factory.updateGetAccessorDeclaration(node, this.visitModifiers(node.modifiers), this.visitPropertyNameOfClassElement(node), undefined, this.visitNodes(node.parameters), undefined, undefined, this.visitNode(node.body)), node);
91
91
  break;
92
- case 179 /* SyntaxKind.SetAccessor */:
92
+ case 180 /* SyntaxKind.SetAccessor */:
93
93
  if (node instanceof SetAccessorDeclaration)
94
94
  return this.finishClassElement(this.factory.updateSetAccessorDeclaration(node, this.visitModifiers(node.modifiers), this.visitPropertyNameOfClassElement(node), undefined, this.visitNodes(node.parameters), undefined, undefined, this.visitNode(node.body)), node);
95
95
  break;
96
- case 173 /* SyntaxKind.PropertyDeclaration */:
96
+ case 174 /* SyntaxKind.PropertyDeclaration */:
97
97
  if (node instanceof PropertyDeclaration)
98
98
  return this.visitPropertyDeclaration(node);
99
99
  break;
100
- case 170 /* SyntaxKind.Parameter */:
100
+ case 171 /* SyntaxKind.Parameter */:
101
101
  if (node instanceof ParameterDeclaration)
102
102
  return this.visitParameter(node);
103
103
  break;
104
- case 307 /* SyntaxKind.SourceFile */:
104
+ case 308 /* SyntaxKind.SourceFile */:
105
105
  if (node instanceof SourceFile)
106
106
  return this.visitSourceFile(node);
107
107
  break;
@@ -495,8 +495,8 @@ function elideModifiers(transformer, modifiers) {
495
495
  return replacement;
496
496
  }
497
497
  function isClassStaticBlockDeclarationOrStaticProperty(node) {
498
- return (node.kind === 176 /* SyntaxKind.ClassStaticBlockDeclaration */ ||
499
- (node.kind === 173 /* SyntaxKind.PropertyDeclaration */ && hasSyntacticModifier(node, 256 /* ModifierFlags.Static */)));
498
+ return (node.kind === 177 /* SyntaxKind.ClassStaticBlockDeclaration */ ||
499
+ (node.kind === 174 /* SyntaxKind.PropertyDeclaration */ && hasSyntacticModifier(node, 256 /* ModifierFlags.Static */)));
500
500
  }
501
501
  function getAllDecoratorsOfClass(node) {
502
502
  const decorators = getDecorators(node);
@@ -507,12 +507,12 @@ function getAllDecoratorsOfClass(node) {
507
507
  }
508
508
  function getAllDecoratorsOfClassElement(member, parent) {
509
509
  switch (member.kind) {
510
- case 178 /* SyntaxKind.GetAccessor */:
511
- case 179 /* SyntaxKind.SetAccessor */:
510
+ case 179 /* SyntaxKind.GetAccessor */:
511
+ case 180 /* SyntaxKind.SetAccessor */:
512
512
  return getAllDecoratorsOfAccessors(member, parent);
513
- case 175 /* SyntaxKind.MethodDeclaration */:
513
+ case 176 /* SyntaxKind.MethodDeclaration */:
514
514
  return getAllDecoratorsOfMethod(member);
515
- case 173 /* SyntaxKind.PropertyDeclaration */: {
515
+ case 174 /* SyntaxKind.PropertyDeclaration */: {
516
516
  const decorators = getDecorators(member);
517
517
  return decorators.length === 0 ? undefined : new AllDecorators(decorators, []);
518
518
  }
@@ -105,27 +105,27 @@ export class ESModuleTransformer extends Transformer {
105
105
  }
106
106
  visit(node) {
107
107
  switch (node.kind) {
108
- case 307 /* SyntaxKind.SourceFile */:
108
+ case 308 /* SyntaxKind.SourceFile */:
109
109
  if (node instanceof SourceFile)
110
110
  return this.visitSourceFile(node);
111
111
  break;
112
- case 273 /* SyntaxKind.ImportDeclaration */:
112
+ case 274 /* SyntaxKind.ImportDeclaration */:
113
113
  if (node instanceof ImportDeclaration)
114
114
  return this.visitImportDeclaration(node);
115
115
  break;
116
- case 272 /* SyntaxKind.ImportEqualsDeclaration */:
116
+ case 273 /* SyntaxKind.ImportEqualsDeclaration */:
117
117
  if (node instanceof ImportEqualsDeclaration)
118
118
  return this.visitImportEqualsDeclaration(node);
119
119
  break;
120
- case 278 /* SyntaxKind.ExportAssignment */:
120
+ case 279 /* SyntaxKind.ExportAssignment */:
121
121
  if (node instanceof ExportAssignment)
122
122
  return this.visitExportAssignment(node);
123
123
  break;
124
- case 279 /* SyntaxKind.ExportDeclaration */:
124
+ case 280 /* SyntaxKind.ExportDeclaration */:
125
125
  if (node instanceof ExportDeclaration)
126
126
  return this.visitExportDeclaration(node);
127
127
  break;
128
- case 214 /* SyntaxKind.CallExpression */:
128
+ case 215 /* SyntaxKind.CallExpression */:
129
129
  if (node instanceof CallExpression)
130
130
  return this.visitCallExpression(node);
131
131
  break;
@@ -237,7 +237,7 @@ export class ESModuleTransformer extends Transformer {
237
237
  // ES2015 has no `export * as ns`: import the namespace and export it.
238
238
  const name = clause.name;
239
239
  const generated = factory.createGeneratedNameForNode(name, 0, '', '');
240
- const importDeclaration = factory.created(new ImportDeclaration(273 /* SyntaxKind.ImportDeclaration */, undefined, factory.created(new ImportClause(undefined, undefined, factory.created(new NamespaceImport(generated)))), specifier, this.importAttributes(node.attributes)));
240
+ const importDeclaration = factory.created(new ImportDeclaration(274 /* SyntaxKind.ImportDeclaration */, undefined, factory.created(new ImportClause(undefined, undefined, factory.created(new NamespaceImport(generated)))), specifier, this.importAttributes(node.attributes)));
241
241
  this.context.setOriginal(importDeclaration, clause);
242
242
  const exportDeclaration = name instanceof Identifier && name.text === 'default'
243
243
  ? factory.created(new ExportAssignment(undefined, false, undefined, generated))
@@ -273,7 +273,7 @@ export class ESModuleTransformer extends Transformer {
273
273
  const flags = 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */;
274
274
  // import { createRequire as _createRequire } from "module";
275
275
  const createRequireName = factory.createUniqueName('_createRequire', flags);
276
- const importStatement = factory.created(new ImportDeclaration(273 /* SyntaxKind.ImportDeclaration */, undefined, factory.created(new ImportClause(undefined, undefined, factory.created(new NamedImports(factory.createNodeList([
276
+ const importStatement = factory.created(new ImportDeclaration(274 /* SyntaxKind.ImportDeclaration */, undefined, factory.created(new ImportClause(undefined, undefined, factory.created(new NamedImports(factory.createNodeList([
277
277
  factory.created(new ImportSpecifier(false, factory.createIdentifier('createRequire'), createRequireName)),
278
278
  ]))))), factory.createStringLiteral('module', 0 /* TokenFlags.None */), undefined));
279
279
  this.context.addEmitFlags(importStatement, 65536 /* EmitFlags.CustomPrologue */);
@@ -44,15 +44,15 @@ export function isAnonymousFunctionDefinition(context, node, filter) {
44
44
  return false;
45
45
  node = skipOuterExpressions(node, 63 /* OuterExpressionKinds.All */);
46
46
  switch (node.kind) {
47
- case 232 /* SyntaxKind.ClassExpression */:
47
+ case 233 /* SyntaxKind.ClassExpression */:
48
48
  if (classHasDeclaredOrExplicitlyAssignedName(context, node))
49
49
  return false;
50
50
  break;
51
- case 219 /* SyntaxKind.FunctionExpression */:
51
+ case 220 /* SyntaxKind.FunctionExpression */:
52
52
  if (node instanceof FunctionExpression && node.name !== undefined)
53
53
  return false;
54
54
  break;
55
- case 220 /* SyntaxKind.ArrowFunction */:
55
+ case 221 /* SyntaxKind.ArrowFunction */:
56
56
  break;
57
57
  default:
58
58
  return false;
@@ -117,7 +117,7 @@ function namedEvaluationValue(node) {
117
117
  }
118
118
  function getAssignedNameOfIdentifier(context, name, expression) {
119
119
  const original = context.mostOriginal(skipOuterExpressions(expression, 63 /* OuterExpressionKinds.All */));
120
- if ((original.kind === 264 /* SyntaxKind.ClassDeclaration */ || original.kind === 263 /* SyntaxKind.FunctionDeclaration */) &&
120
+ if ((original.kind === 265 /* SyntaxKind.ClassDeclaration */ || original.kind === 264 /* SyntaxKind.FunctionDeclaration */) &&
121
121
  getName(original) === undefined &&
122
122
  hasSyntacticModifier(original, 2048 /* ModifierFlags.Default */))
123
123
  return context.factory.createStringLiteral('default', 0 /* TokenFlags.None */);
@@ -32,35 +32,35 @@ export class ObjectRestSpreadTransformer extends Transformer {
32
32
  }
33
33
  visitWorker(node, expressionResultIsUnused) {
34
34
  switch (node.kind) {
35
- case 307 /* SyntaxKind.SourceFile */:
35
+ case 308 /* SyntaxKind.SourceFile */:
36
36
  return this.visitSourceFile(node);
37
- case 211 /* SyntaxKind.ObjectLiteralExpression */:
37
+ case 212 /* SyntaxKind.ObjectLiteralExpression */:
38
38
  return this.visitObjectLiteralExpression(node);
39
- case 227 /* SyntaxKind.BinaryExpression */:
39
+ case 228 /* SyntaxKind.BinaryExpression */:
40
40
  return this.visitBinaryExpression(node, expressionResultIsUnused);
41
- case 245 /* SyntaxKind.ExpressionStatement */:
41
+ case 246 /* SyntaxKind.ExpressionStatement */:
42
42
  this.expressionResultIsUnused = true;
43
43
  return this.visitEachChild(node);
44
- case 218 /* SyntaxKind.ParenthesizedExpression */:
44
+ case 219 /* SyntaxKind.ParenthesizedExpression */:
45
45
  this.expressionResultIsUnused = expressionResultIsUnused;
46
46
  return this.visitEachChild(node);
47
- case 251 /* SyntaxKind.ForOfStatement */:
47
+ case 252 /* SyntaxKind.ForOfStatement */:
48
48
  return this.visitForOfStatement(node);
49
- case 244 /* SyntaxKind.VariableStatement */:
49
+ case 245 /* SyntaxKind.VariableStatement */:
50
50
  return this.visitVariableStatement(node);
51
- case 261 /* SyntaxKind.VariableDeclaration */:
51
+ case 262 /* SyntaxKind.VariableDeclaration */:
52
52
  return this.visitVariableDeclaration(node);
53
- case 300 /* SyntaxKind.CatchClause */:
53
+ case 301 /* SyntaxKind.CatchClause */:
54
54
  return this.visitCatchClause(node);
55
- case 170 /* SyntaxKind.Parameter */:
55
+ case 171 /* SyntaxKind.Parameter */:
56
56
  return this.visitParameter(node);
57
- case 177 /* SyntaxKind.Constructor */:
58
- case 178 /* SyntaxKind.GetAccessor */:
59
- case 179 /* SyntaxKind.SetAccessor */:
60
- case 175 /* SyntaxKind.MethodDeclaration */:
61
- case 263 /* SyntaxKind.FunctionDeclaration */:
62
- case 220 /* SyntaxKind.ArrowFunction */:
63
- case 219 /* SyntaxKind.FunctionExpression */:
57
+ case 178 /* SyntaxKind.Constructor */:
58
+ case 179 /* SyntaxKind.GetAccessor */:
59
+ case 180 /* SyntaxKind.SetAccessor */:
60
+ case 176 /* SyntaxKind.MethodDeclaration */:
61
+ case 264 /* SyntaxKind.FunctionDeclaration */:
62
+ case 221 /* SyntaxKind.ArrowFunction */:
63
+ case 220 /* SyntaxKind.FunctionExpression */:
64
64
  return this.visitFunctionLike(node);
65
65
  }
66
66
  return this.visitEachChild(node);
@@ -307,7 +307,7 @@ export class ObjectRestSpreadTransformer extends Transformer {
307
307
  !(isAssignmentPattern(initializer) && this.facts.containsObjectRestOrSpread(initializer)))
308
308
  return this.visitEachChild(node);
309
309
  const head = skipParentheses(initializer);
310
- if (head.kind !== 262 /* SyntaxKind.VariableDeclarationList */ && !isAssignmentPattern(head))
310
+ if (head.kind !== 263 /* SyntaxKind.VariableDeclarationList */ && !isAssignmentPattern(head))
311
311
  return this.visitEachChild(node);
312
312
  const temp = factory.createTempVariable(0);
313
313
  const statements = [];
@@ -364,7 +364,7 @@ export class ObjectRestSpreadTransformer extends Transformer {
364
364
  // `Object.assign(Object.assign({ a }, o), { b })`.
365
365
  const factory = this.factory;
366
366
  const objects = this.chunkObjectLiteralElements(node.properties.nodes);
367
- if (objects.length > 0 && objects[0].kind !== 211 /* SyntaxKind.ObjectLiteralExpression */)
367
+ if (objects.length > 0 && objects[0].kind !== 212 /* SyntaxKind.ObjectLiteralExpression */)
368
368
  objects.unshift(factory.createObjectLiteral([], false));
369
369
  let expression = objects[0];
370
370
  if (objects.length > 1) {
@@ -404,7 +404,7 @@ export class ObjectRestSpreadTransformer extends Transformer {
404
404
  }
405
405
  }
406
406
  function isAssignmentPattern(node) {
407
- return node.kind === 211 /* SyntaxKind.ObjectLiteralExpression */ || node.kind === 210 /* SyntaxKind.ArrayLiteralExpression */;
407
+ return node.kind === 212 /* SyntaxKind.ObjectLiteralExpression */ || node.kind === 211 /* SyntaxKind.ArrayLiteralExpression */;
408
408
  }
409
409
  function declarationsOf(node) {
410
410
  return node instanceof SyntaxList ? node.children : [node];
@@ -14,14 +14,14 @@ export class OptionalChainTransformer extends Transformer {
14
14
  if (!this.facts.has(node, 32 /* SubtreeFacts.ContainsOptionalChaining */))
15
15
  return node;
16
16
  switch (node.kind) {
17
- case 214 /* SyntaxKind.CallExpression */:
17
+ case 215 /* SyntaxKind.CallExpression */:
18
18
  return this.visitCallExpression(node, false);
19
- case 212 /* SyntaxKind.PropertyAccessExpression */:
20
- case 213 /* SyntaxKind.ElementAccessExpression */:
19
+ case 213 /* SyntaxKind.PropertyAccessExpression */:
20
+ case 214 /* SyntaxKind.ElementAccessExpression */:
21
21
  if ((node.flags & 32 /* NodeFlags.OptionalChain */) !== 0)
22
22
  return this.visitOptionalExpression(node, false, false);
23
23
  break;
24
- case 221 /* SyntaxKind.DeleteExpression */:
24
+ case 222 /* SyntaxKind.DeleteExpression */:
25
25
  if (node instanceof DeleteExpression &&
26
26
  (skipParentheses(node.expression).flags & 32 /* NodeFlags.OptionalChain */) !== 0)
27
27
  return this.visitNonOptionalExpression(node.expression, false, true);
@@ -85,12 +85,12 @@ export class OptionalChainTransformer extends Transformer {
85
85
  }
86
86
  visitNonOptionalExpression(node, captureThisArg, isDelete) {
87
87
  switch (node.kind) {
88
- case 218 /* SyntaxKind.ParenthesizedExpression */:
88
+ case 219 /* SyntaxKind.ParenthesizedExpression */:
89
89
  return this.visitParenthesizedExpression(node, captureThisArg, isDelete);
90
- case 213 /* SyntaxKind.ElementAccessExpression */:
91
- case 212 /* SyntaxKind.PropertyAccessExpression */:
90
+ case 214 /* SyntaxKind.ElementAccessExpression */:
91
+ case 213 /* SyntaxKind.PropertyAccessExpression */:
92
92
  return this.visitPropertyOrElementAccessExpression(node, captureThisArg, isDelete);
93
- case 214 /* SyntaxKind.CallExpression */:
93
+ case 215 /* SyntaxKind.CallExpression */:
94
94
  return this.visitCallExpression(node, captureThisArg);
95
95
  }
96
96
  return this.visitNode(node);
@@ -106,7 +106,7 @@ export class OptionalChainTransformer extends Transformer {
106
106
  chain.unshift(link);
107
107
  }
108
108
  const expression = accessedExpression(link);
109
- const left = this.visitNonOptionalExpression(skipPartiallyEmittedExpressions(expression), chain[0].kind === 214 /* SyntaxKind.CallExpression */ && (chain[0].flags & 32 /* NodeFlags.OptionalChain */) !== 0, false);
109
+ const left = this.visitNonOptionalExpression(skipPartiallyEmittedExpressions(expression), chain[0].kind === 215 /* SyntaxKind.CallExpression */ && (chain[0].flags & 32 /* NodeFlags.OptionalChain */) !== 0, false);
110
110
  let leftThisArg = undefined;
111
111
  let capturedLeft = left;
112
112
  if (left instanceof SyntheticReferenceExpression) {
@@ -122,7 +122,7 @@ export class OptionalChainTransformer extends Transformer {
122
122
  let thisArg = undefined;
123
123
  for (let i = 0; i < chain.length; i++) {
124
124
  const segment = chain[i];
125
- const access = segment.kind === 212 /* SyntaxKind.PropertyAccessExpression */ || segment.kind === 213 /* SyntaxKind.ElementAccessExpression */;
125
+ const access = segment.kind === 213 /* SyntaxKind.PropertyAccessExpression */ || segment.kind === 214 /* SyntaxKind.ElementAccessExpression */;
126
126
  if (access) {
127
127
  if (i === chain.length - 1 && captureThisArg) {
128
128
  if (isSimpleCopiableExpression(rightExpression))
@@ -81,8 +81,14 @@ export declare class ReferenceResolver {
81
81
  isTypeOnlyAliasSymbol(symbol: Symbol): boolean;
82
82
  /** Whether an alias is declared type-only; as in the checker, a default import counts only if its module resolves. */
83
83
  private isTypeOnlyAlias;
84
- /** Whether a module's export `name` comes from another module through an `export type *` on the way. */
84
+ /**
85
+ * Whether a module's export `name` comes from another module through an `export type *`, as tsgo's
86
+ * getExportsOfModuleWorker decides: a module reached through a type-only `export *` has its exports marked, and a
87
+ * module reached without one, even if already visited, clears the mark of its own exports.
88
+ */
85
89
  private isExportedThroughTypeOnlyStar;
90
+ /** Visits a module of an `export *` walk; returns whether it exports the walk's name. */
91
+ private visitExportStars;
86
92
  /** Whether a symbol is declared in the global scope. */
87
93
  isGlobalSymbol(symbol: Symbol): boolean;
88
94
  /** Whether a symbol is a value at runtime: const enums aren't unless preserved. */
@@ -111,6 +117,11 @@ export declare class ReferenceResolver {
111
117
  private getExportFromTable;
112
118
  /** The symbol an identifier or dotted name refers to with `meaning`, through aliases unless `dontResolveAlias`. */
113
119
  resolveEntityName(name: Node, meaning: SymbolFlags, dontResolveAlias: boolean): Symbol | undefined;
120
+ /**
121
+ * The symbol an entity name expression such as `E.A` refers to as an expression: tsgo takes the symbol its checker
122
+ * resolves the expression to, where each name on the left is a value, so a local `let E` hides a const enum `E`.
123
+ */
124
+ private resolveValueEntityName;
114
125
  /** The value of an enum member, computing the values of its whole declaration. */
115
126
  getEnumMemberValue(member: Node): Evaluation;
116
127
  /** The inlined value of a const enum member access such as `E.A` or `E["A"]`. */