tsc-ts 0.0.4 → 0.0.5

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 (584) hide show
  1. package/README.md +33 -1
  2. package/dist/api/compiler/ast-utilities.d.ts +82 -0
  3. package/dist/api/compiler/ast-utilities.js +462 -0
  4. package/dist/api/compiler/ast.d.ts +2350 -0
  5. package/dist/api/compiler/ast.js +11206 -0
  6. package/dist/api/compiler/astnav.d.ts +37 -0
  7. package/dist/api/compiler/astnav.js +767 -0
  8. package/dist/api/compiler/binder-utilities.d.ts +182 -0
  9. package/dist/api/compiler/binder-utilities.js +1240 -0
  10. package/dist/api/compiler/binder.d.ts +33 -0
  11. package/dist/api/compiler/binder.js +2358 -0
  12. package/dist/api/compiler/character-codes.d.ts +161 -0
  13. package/dist/api/compiler/character-codes.js +160 -0
  14. package/dist/api/compiler/checker-calls.d.ts +46 -0
  15. package/dist/api/compiler/checker-calls.js +1640 -0
  16. package/dist/api/compiler/checker-classes.d.ts +30 -0
  17. package/dist/api/compiler/checker-classes.js +582 -0
  18. package/dist/api/compiler/checker-contextual.d.ts +77 -0
  19. package/dist/api/compiler/checker-contextual.js +1136 -0
  20. package/dist/api/compiler/checker-declaration-order.d.ts +12 -0
  21. package/dist/api/compiler/checker-declaration-order.js +356 -0
  22. package/dist/api/compiler/checker-declarations.d.ts +33 -0
  23. package/dist/api/compiler/checker-declarations.js +888 -0
  24. package/dist/api/compiler/checker-declared-types.d.ts +48 -0
  25. package/dist/api/compiler/checker-declared-types.js +787 -0
  26. package/dist/api/compiler/checker-decorators.d.ts +26 -0
  27. package/dist/api/compiler/checker-decorators.js +562 -0
  28. package/dist/api/compiler/checker-deprecation.d.ts +33 -0
  29. package/dist/api/compiler/checker-deprecation.js +315 -0
  30. package/dist/api/compiler/checker-destructuring.d.ts +34 -0
  31. package/dist/api/compiler/checker-destructuring.js +584 -0
  32. package/dist/api/compiler/checker-elaboration.d.ts +15 -0
  33. package/dist/api/compiler/checker-elaboration.js +290 -0
  34. package/dist/api/compiler/checker-emit-helpers.d.ts +58 -0
  35. package/dist/api/compiler/checker-emit-helpers.js +154 -0
  36. package/dist/api/compiler/checker-emit-resolver.d.ts +75 -0
  37. package/dist/api/compiler/checker-emit-resolver.js +579 -0
  38. package/dist/api/compiler/checker-evaluator.d.ts +27 -0
  39. package/dist/api/compiler/checker-evaluator.js +188 -0
  40. package/dist/api/compiler/checker-expressions.d.ts +67 -0
  41. package/dist/api/compiler/checker-expressions.js +1351 -0
  42. package/dist/api/compiler/checker-features.d.ts +6 -0
  43. package/dist/api/compiler/checker-features.js +354 -0
  44. package/dist/api/compiler/checker-flow.d.ts +86 -0
  45. package/dist/api/compiler/checker-flow.js +169 -0
  46. package/dist/api/compiler/checker-functions.d.ts +43 -0
  47. package/dist/api/compiler/checker-functions.js +1002 -0
  48. package/dist/api/compiler/checker-generated-code.d.ts +25 -0
  49. package/dist/api/compiler/checker-generated-code.js +168 -0
  50. package/dist/api/compiler/checker-globals.d.ts +14 -0
  51. package/dist/api/compiler/checker-globals.js +37 -0
  52. package/dist/api/compiler/checker-grammar.d.ts +35 -0
  53. package/dist/api/compiler/checker-grammar.js +2573 -0
  54. package/dist/api/compiler/checker-heritage.d.ts +28 -0
  55. package/dist/api/compiler/checker-heritage.js +900 -0
  56. package/dist/api/compiler/checker-inference.d.ts +179 -0
  57. package/dist/api/compiler/checker-inference.js +2105 -0
  58. package/dist/api/compiler/checker-iteration.d.ts +115 -0
  59. package/dist/api/compiler/checker-iteration.js +857 -0
  60. package/dist/api/compiler/checker-javascript.d.ts +42 -0
  61. package/dist/api/compiler/checker-javascript.js +441 -0
  62. package/dist/api/compiler/checker-jsdoc.d.ts +30 -0
  63. package/dist/api/compiler/checker-jsdoc.js +320 -0
  64. package/dist/api/compiler/checker-jsx.d.ts +94 -0
  65. package/dist/api/compiler/checker-jsx.js +1433 -0
  66. package/dist/api/compiler/checker-literals.d.ts +6 -0
  67. package/dist/api/compiler/checker-literals.js +43 -0
  68. package/dist/api/compiler/checker-members.d.ts +198 -0
  69. package/dist/api/compiler/checker-members.js +2126 -0
  70. package/dist/api/compiler/checker-modules.d.ts +85 -0
  71. package/dist/api/compiler/checker-modules.js +2141 -0
  72. package/dist/api/compiler/checker-narrowing.d.ts +120 -0
  73. package/dist/api/compiler/checker-narrowing.js +2797 -0
  74. package/dist/api/compiler/checker-object-literals.d.ts +14 -0
  75. package/dist/api/compiler/checker-object-literals.js +479 -0
  76. package/dist/api/compiler/checker-operators.d.ts +33 -0
  77. package/dist/api/compiler/checker-operators.js +1040 -0
  78. package/dist/api/compiler/checker-overloads.d.ts +7 -0
  79. package/dist/api/compiler/checker-overloads.js +270 -0
  80. package/dist/api/compiler/checker-property-access.d.ts +34 -0
  81. package/dist/api/compiler/checker-property-access.js +672 -0
  82. package/dist/api/compiler/checker-services.d.ts +49 -0
  83. package/dist/api/compiler/checker-services.js +995 -0
  84. package/dist/api/compiler/checker-signatures.d.ts +55 -0
  85. package/dist/api/compiler/checker-signatures.js +788 -0
  86. package/dist/api/compiler/checker-source-file.d.ts +27 -0
  87. package/dist/api/compiler/checker-source-file.js +619 -0
  88. package/dist/api/compiler/checker-statements.d.ts +18 -0
  89. package/dist/api/compiler/checker-statements.js +226 -0
  90. package/dist/api/compiler/checker-super.d.ts +13 -0
  91. package/dist/api/compiler/checker-super.js +241 -0
  92. package/dist/api/compiler/checker-symbol-types.d.ts +67 -0
  93. package/dist/api/compiler/checker-symbol-types.js +1885 -0
  94. package/dist/api/compiler/checker-symbols.d.ts +181 -0
  95. package/dist/api/compiler/checker-symbols.js +1782 -0
  96. package/dist/api/compiler/checker-type-factory.d.ts +142 -0
  97. package/dist/api/compiler/checker-type-factory.js +2501 -0
  98. package/dist/api/compiler/checker-type-nodes.d.ts +26 -0
  99. package/dist/api/compiler/checker-type-nodes.js +828 -0
  100. package/dist/api/compiler/checker-type-operators.d.ts +109 -0
  101. package/dist/api/compiler/checker-type-operators.js +1842 -0
  102. package/dist/api/compiler/checker-types.d.ts +1027 -0
  103. package/dist/api/compiler/checker-types.js +1697 -0
  104. package/dist/api/compiler/checker-unused.d.ts +19 -0
  105. package/dist/api/compiler/checker-unused.js +524 -0
  106. package/dist/api/compiler/checker-utilities.d.ts +33 -0
  107. package/dist/api/compiler/checker-utilities.js +141 -0
  108. package/dist/api/compiler/checker.d.ts +491 -0
  109. package/dist/api/compiler/checker.js +912 -0
  110. package/dist/api/compiler/command-line.d.ts +32 -0
  111. package/dist/api/compiler/command-line.js +383 -0
  112. package/dist/api/compiler/compile-program.d.ts +118 -0
  113. package/dist/api/compiler/compile-program.js +384 -0
  114. package/dist/api/compiler/diagnostic-locales.d.ts +22 -0
  115. package/dist/api/compiler/diagnostic-locales.js +64 -0
  116. package/dist/api/compiler/diagnostic-messages.d.ts +2166 -0
  117. package/dist/api/compiler/diagnostic-messages.js +184 -0
  118. package/dist/api/compiler/diagnostics.d.ts +167 -0
  119. package/dist/api/compiler/diagnostics.js +820 -0
  120. package/dist/api/compiler/emitter.d.ts +71 -0
  121. package/dist/api/compiler/emitter.js +327 -0
  122. package/dist/api/compiler/file-include.d.ts +117 -0
  123. package/dist/api/compiler/file-include.js +536 -0
  124. package/dist/api/compiler/file-loader.d.ts +261 -0
  125. package/dist/api/compiler/file-loader.js +1257 -0
  126. package/dist/api/compiler/file-system.d.ts +51 -0
  127. package/dist/api/compiler/file-system.js +132 -0
  128. package/dist/api/compiler/flow.d.ts +60 -0
  129. package/dist/api/compiler/flow.js +45 -0
  130. package/dist/api/compiler/instantiation.d.ts +74 -0
  131. package/dist/api/compiler/instantiation.js +799 -0
  132. package/dist/api/compiler/jsdoc.d.ts +75 -0
  133. package/dist/api/compiler/jsdoc.js +1229 -0
  134. package/dist/api/compiler/link-tables.d.ts +36 -0
  135. package/dist/api/compiler/link-tables.js +83 -0
  136. package/dist/api/compiler/locale-data.d.ts +24 -0
  137. package/dist/api/compiler/locale-data.js +183 -0
  138. package/dist/api/compiler/locale.d.ts +4 -0
  139. package/dist/api/compiler/locale.js +317 -0
  140. package/dist/api/compiler/locales/cs-CZ.d.ts +2 -0
  141. package/dist/api/compiler/locales/cs-CZ.js +3 -0
  142. package/dist/api/compiler/locales/de-DE.d.ts +2 -0
  143. package/dist/api/compiler/locales/de-DE.js +3 -0
  144. package/dist/api/compiler/locales/es-ES.d.ts +2 -0
  145. package/dist/api/compiler/locales/es-ES.js +3 -0
  146. package/dist/api/compiler/locales/fr-FR.d.ts +2 -0
  147. package/dist/api/compiler/locales/fr-FR.js +3 -0
  148. package/dist/api/compiler/locales/it-IT.d.ts +2 -0
  149. package/dist/api/compiler/locales/it-IT.js +3 -0
  150. package/dist/api/compiler/locales/ja-JP.d.ts +2 -0
  151. package/dist/api/compiler/locales/ja-JP.js +3 -0
  152. package/dist/api/compiler/locales/ko-KR.d.ts +2 -0
  153. package/dist/api/compiler/locales/ko-KR.js +3 -0
  154. package/dist/api/compiler/locales/pl-PL.d.ts +2 -0
  155. package/dist/api/compiler/locales/pl-PL.js +3 -0
  156. package/dist/api/compiler/locales/pt-BR.d.ts +2 -0
  157. package/dist/api/compiler/locales/pt-BR.js +3 -0
  158. package/dist/api/compiler/locales/ru-RU.d.ts +2 -0
  159. package/dist/api/compiler/locales/ru-RU.js +3 -0
  160. package/dist/api/compiler/locales/tr-TR.d.ts +2 -0
  161. package/dist/api/compiler/locales/tr-TR.js +3 -0
  162. package/dist/api/compiler/locales/zh-CN.d.ts +2 -0
  163. package/dist/api/compiler/locales/zh-CN.js +3 -0
  164. package/dist/api/compiler/locales/zh-TW.d.ts +2 -0
  165. package/dist/api/compiler/locales/zh-TW.js +3 -0
  166. package/dist/api/compiler/module-resolution-types.d.ts +83 -0
  167. package/dist/api/compiler/module-resolution-types.js +176 -0
  168. package/dist/api/compiler/module-resolution.d.ts +71 -0
  169. package/dist/api/compiler/module-resolution.js +1598 -0
  170. package/dist/api/compiler/module-specifiers.d.ts +64 -0
  171. package/dist/api/compiler/module-specifiers.js +1101 -0
  172. package/dist/api/compiler/name-resolver.d.ts +43 -0
  173. package/dist/api/compiler/name-resolver.js +509 -0
  174. package/dist/api/compiler/node-builder-names.d.ts +32 -0
  175. package/dist/api/compiler/node-builder-names.js +854 -0
  176. package/dist/api/compiler/node-builder-pseudo.d.ts +36 -0
  177. package/dist/api/compiler/node-builder-pseudo.js +744 -0
  178. package/dist/api/compiler/node-builder-reuse.d.ts +4 -0
  179. package/dist/api/compiler/node-builder-reuse.js +647 -0
  180. package/dist/api/compiler/node-builder.d.ts +270 -0
  181. package/dist/api/compiler/node-builder.js +2645 -0
  182. package/dist/api/compiler/option-declarations.d.ts +90 -0
  183. package/dist/api/compiler/option-declarations.js +1460 -0
  184. package/dist/api/compiler/options.d.ts +289 -0
  185. package/dist/api/compiler/options.js +1197 -0
  186. package/dist/api/compiler/output-paths.d.ts +42 -0
  187. package/dist/api/compiler/output-paths.js +195 -0
  188. package/dist/api/compiler/package-json.d.ts +175 -0
  189. package/dist/api/compiler/package-json.js +1015 -0
  190. package/dist/api/compiler/parallel-parse.d.ts +219 -0
  191. package/dist/api/compiler/parallel-parse.js +537 -0
  192. package/dist/api/compiler/parser.d.ts +587 -0
  193. package/dist/api/compiler/parser.js +6407 -0
  194. package/dist/api/compiler/path.d.ts +91 -0
  195. package/dist/api/compiler/path.js +705 -0
  196. package/dist/api/compiler/printer/async-helpers.d.ts +22 -0
  197. package/dist/api/compiler/printer/async-helpers.js +91 -0
  198. package/dist/api/compiler/printer/auto-generate.d.ts +13 -0
  199. package/dist/api/compiler/printer/auto-generate.js +20 -0
  200. package/dist/api/compiler/printer/decorator-helpers.d.ts +24 -0
  201. package/dist/api/compiler/printer/decorator-helpers.js +118 -0
  202. package/dist/api/compiler/printer/emit-context.d.ts +154 -0
  203. package/dist/api/compiler/printer/emit-context.js +576 -0
  204. package/dist/api/compiler/printer/emit-flags.d.ts +60 -0
  205. package/dist/api/compiler/printer/emit-flags.js +2 -0
  206. package/dist/api/compiler/printer/factory-base.d.ts +171 -0
  207. package/dist/api/compiler/printer/factory-base.js +1505 -0
  208. package/dist/api/compiler/printer/factory.d.ts +147 -0
  209. package/dist/api/compiler/printer/factory.js +542 -0
  210. package/dist/api/compiler/printer/helpers.d.ts +27 -0
  211. package/dist/api/compiler/printer/helpers.js +164 -0
  212. package/dist/api/compiler/printer/name-generator.d.ts +41 -0
  213. package/dist/api/compiler/printer/name-generator.js +283 -0
  214. package/dist/api/compiler/printer/printer.d.ts +411 -0
  215. package/dist/api/compiler/printer/printer.js +4517 -0
  216. package/dist/api/compiler/printer/text-writer.d.ts +46 -0
  217. package/dist/api/compiler/printer/text-writer.js +172 -0
  218. package/dist/api/compiler/printer/utilities.d.ts +82 -0
  219. package/dist/api/compiler/printer/utilities.js +817 -0
  220. package/dist/api/compiler/program-checker.d.ts +156 -0
  221. package/dist/api/compiler/program-checker.js +526 -0
  222. package/dist/api/compiler/program-utilities.d.ts +52 -0
  223. package/dist/api/compiler/program-utilities.js +365 -0
  224. package/dist/api/compiler/program.d.ts +180 -0
  225. package/dist/api/compiler/program.js +1011 -0
  226. package/dist/api/compiler/pseudo-bigint.d.ts +5 -0
  227. package/dist/api/compiler/pseudo-bigint.js +61 -0
  228. package/dist/api/compiler/regexp-checker.d.ts +38 -0
  229. package/dist/api/compiler/regexp-checker.js +942 -0
  230. package/dist/api/compiler/relations.d.ts +263 -0
  231. package/dist/api/compiler/relations.js +4002 -0
  232. package/dist/api/compiler/reparser.d.ts +48 -0
  233. package/dist/api/compiler/reparser.js +1323 -0
  234. package/dist/api/compiler/scanner.d.ts +256 -0
  235. package/dist/api/compiler/scanner.js +2853 -0
  236. package/dist/api/compiler/side-state.d.ts +16 -0
  237. package/dist/api/compiler/side-state.js +89 -0
  238. package/dist/api/compiler/sourcemap.d.ts +55 -0
  239. package/dist/api/compiler/sourcemap.js +340 -0
  240. package/dist/api/compiler/spelling.d.ts +14 -0
  241. package/dist/api/compiler/spelling.js +128 -0
  242. package/dist/api/compiler/symbol-accessibility.d.ts +57 -0
  243. package/dist/api/compiler/symbol-accessibility.js +894 -0
  244. package/dist/api/compiler/symbol.d.ts +240 -0
  245. package/dist/api/compiler/symbol.js +228 -0
  246. package/dist/api/compiler/symlinks.d.ts +32 -0
  247. package/dist/api/compiler/symlinks.js +114 -0
  248. package/dist/api/compiler/syntax-kind.d.ts +389 -0
  249. package/dist/api/compiler/syntax-kind.js +2 -0
  250. package/dist/api/compiler/timeline.d.ts +9 -0
  251. package/dist/api/compiler/timeline.js +54 -0
  252. package/dist/api/compiler/transformers/alias-references.d.ts +39 -0
  253. package/dist/api/compiler/transformers/alias-references.js +676 -0
  254. package/dist/api/compiler/transformers/async-utilities.d.ts +51 -0
  255. package/dist/api/compiler/transformers/async-utilities.js +260 -0
  256. package/dist/api/compiler/transformers/async.d.ts +53 -0
  257. package/dist/api/compiler/transformers/async.js +645 -0
  258. package/dist/api/compiler/transformers/class-fields.d.ts +206 -0
  259. package/dist/api/compiler/transformers/class-fields.js +2418 -0
  260. package/dist/api/compiler/transformers/class-utilities.d.ts +46 -0
  261. package/dist/api/compiler/transformers/class-utilities.js +261 -0
  262. package/dist/api/compiler/transformers/commonjs-module.d.ts +103 -0
  263. package/dist/api/compiler/transformers/commonjs-module.js +1180 -0
  264. package/dist/api/compiler/transformers/const-enum-inliner.d.ts +11 -0
  265. package/dist/api/compiler/transformers/const-enum-inliner.js +36 -0
  266. package/dist/api/compiler/transformers/declarations-diagnostics.d.ts +52 -0
  267. package/dist/api/compiler/transformers/declarations-diagnostics.js +538 -0
  268. package/dist/api/compiler/transformers/declarations-pseudo.d.ts +160 -0
  269. package/dist/api/compiler/transformers/declarations-pseudo.js +797 -0
  270. package/dist/api/compiler/transformers/declarations-resolver.d.ts +152 -0
  271. package/dist/api/compiler/transformers/declarations-resolver.js +35 -0
  272. package/dist/api/compiler/transformers/declarations-syntactic.d.ts +119 -0
  273. package/dist/api/compiler/transformers/declarations-syntactic.js +1582 -0
  274. package/dist/api/compiler/transformers/declarations-tracker.d.ts +46 -0
  275. package/dist/api/compiler/transformers/declarations-tracker.js +197 -0
  276. package/dist/api/compiler/transformers/declarations.d.ts +175 -0
  277. package/dist/api/compiler/transformers/declarations.js +2380 -0
  278. package/dist/api/compiler/transformers/decorator-metadata.d.ts +54 -0
  279. package/dist/api/compiler/transformers/decorator-metadata.js +554 -0
  280. package/dist/api/compiler/transformers/decorator-utilities.d.ts +38 -0
  281. package/dist/api/compiler/transformers/decorator-utilities.js +238 -0
  282. package/dist/api/compiler/transformers/destructuring.d.ts +25 -0
  283. package/dist/api/compiler/transformers/destructuring.js +626 -0
  284. package/dist/api/compiler/transformers/downlevel.d.ts +6 -0
  285. package/dist/api/compiler/transformers/downlevel.js +45 -0
  286. package/dist/api/compiler/transformers/emit-resolver.d.ts +61 -0
  287. package/dist/api/compiler/transformers/emit-resolver.js +197 -0
  288. package/dist/api/compiler/transformers/es-decorators.d.ts +118 -0
  289. package/dist/api/compiler/transformers/es-decorators.js +1901 -0
  290. package/dist/api/compiler/transformers/exponentiation.d.ts +11 -0
  291. package/dist/api/compiler/transformers/exponentiation.js +76 -0
  292. package/dist/api/compiler/transformers/external-module-info.d.ts +35 -0
  293. package/dist/api/compiler/transformers/external-module-info.js +351 -0
  294. package/dist/api/compiler/transformers/for-await.d.ts +43 -0
  295. package/dist/api/compiler/transformers/for-await.js +469 -0
  296. package/dist/api/compiler/transformers/import-elision.d.ts +16 -0
  297. package/dist/api/compiler/transformers/import-elision.js +124 -0
  298. package/dist/api/compiler/transformers/jsx-entities.d.ts +1 -0
  299. package/dist/api/compiler/transformers/jsx-entities.js +256 -0
  300. package/dist/api/compiler/transformers/jsx.d.ts +71 -0
  301. package/dist/api/compiler/transformers/jsx.js +700 -0
  302. package/dist/api/compiler/transformers/legacy-decorators.d.ts +56 -0
  303. package/dist/api/compiler/transformers/legacy-decorators.js +564 -0
  304. package/dist/api/compiler/transformers/logical-assignment.d.ts +14 -0
  305. package/dist/api/compiler/transformers/logical-assignment.js +62 -0
  306. package/dist/api/compiler/transformers/module-utilities.d.ts +9 -0
  307. package/dist/api/compiler/transformers/module-utilities.js +36 -0
  308. package/dist/api/compiler/transformers/module.d.ts +49 -0
  309. package/dist/api/compiler/transformers/module.js +296 -0
  310. package/dist/api/compiler/transformers/named-evaluation.d.ts +26 -0
  311. package/dist/api/compiler/transformers/named-evaluation.js +266 -0
  312. package/dist/api/compiler/transformers/nullish-coalescing.d.ts +9 -0
  313. package/dist/api/compiler/transformers/nullish-coalescing.js +26 -0
  314. package/dist/api/compiler/transformers/object-rest-spread.d.ts +34 -0
  315. package/dist/api/compiler/transformers/object-rest-spread.js +411 -0
  316. package/dist/api/compiler/transformers/optional-catch.d.ts +9 -0
  317. package/dist/api/compiler/transformers/optional-catch.js +20 -0
  318. package/dist/api/compiler/transformers/optional-chain.d.ts +14 -0
  319. package/dist/api/compiler/transformers/optional-chain.js +188 -0
  320. package/dist/api/compiler/transformers/reference-resolver.d.ts +128 -0
  321. package/dist/api/compiler/transformers/reference-resolver.js +1155 -0
  322. package/dist/api/compiler/transformers/runtime-syntax.d.ts +71 -0
  323. package/dist/api/compiler/transformers/runtime-syntax.js +753 -0
  324. package/dist/api/compiler/transformers/subtree-facts.d.ts +9 -0
  325. package/dist/api/compiler/transformers/subtree-facts.js +203 -0
  326. package/dist/api/compiler/transformers/syntax-facts.d.ts +51 -0
  327. package/dist/api/compiler/transformers/syntax-facts.js +254 -0
  328. package/dist/api/compiler/transformers/tagged-template.d.ts +17 -0
  329. package/dist/api/compiler/transformers/tagged-template.js +148 -0
  330. package/dist/api/compiler/transformers/transformer.d.ts +17 -0
  331. package/dist/api/compiler/transformers/transformer.js +54 -0
  332. package/dist/api/compiler/transformers/type-eraser.d.ts +21 -0
  333. package/dist/api/compiler/transformers/type-eraser.js +346 -0
  334. package/dist/api/compiler/transformers/type-serialization.d.ts +20 -0
  335. package/dist/api/compiler/transformers/type-serialization.js +347 -0
  336. package/dist/api/compiler/transformers/using.d.ts +56 -0
  337. package/dist/api/compiler/transformers/using.js +453 -0
  338. package/dist/api/compiler/transformers/utilities.d.ts +50 -0
  339. package/dist/api/compiler/transformers/utilities.js +347 -0
  340. package/dist/api/compiler/transformers/visitor-base.d.ts +6 -0
  341. package/dist/api/compiler/transformers/visitor-base.js +817 -0
  342. package/dist/api/compiler/transformers/visitor-hooks.d.ts +29 -0
  343. package/dist/api/compiler/transformers/visitor-hooks.js +189 -0
  344. package/dist/api/compiler/tsconfig.d.ts +177 -0
  345. package/dist/api/compiler/tsconfig.js +1311 -0
  346. package/dist/api/compiler/type-printer.d.ts +15 -0
  347. package/dist/api/compiler/type-printer.js +74 -0
  348. package/dist/api/compiler/types.d.ts +87 -0
  349. package/dist/api/compiler/types.js +23 -0
  350. package/dist/api/compiler/unicode-identifiers.d.ts +2 -0
  351. package/dist/api/compiler/unicode-identifiers.js +209 -0
  352. package/dist/api/compiler/unicode-properties.d.ts +8 -0
  353. package/dist/api/compiler/unicode-properties.js +531 -0
  354. package/dist/api/compiler/vfs-match.d.ts +24 -0
  355. package/dist/api/compiler/vfs-match.js +587 -0
  356. package/dist/api/library/ast.d.ts +3 -2
  357. package/dist/api/library/ast.generated.d.ts +127 -139
  358. package/dist/api/library/checker.d.ts +51 -0
  359. package/dist/api/library/checker.js +318 -0
  360. package/dist/api/library/diagnostics.d.ts +13 -0
  361. package/dist/api/library/diagnostics.js +50 -0
  362. package/dist/api/library/disk.d.ts +13 -0
  363. package/dist/api/library/disk.js +66 -0
  364. package/dist/api/library/errors.d.ts +13 -0
  365. package/dist/api/library/errors.js +24 -0
  366. package/dist/api/library/host.d.ts +24 -0
  367. package/dist/api/library/host.js +52 -0
  368. package/dist/api/library/index.d.ts +5 -1
  369. package/dist/api/library/index.js +4 -0
  370. package/dist/api/library/nodes.d.ts +51 -0
  371. package/dist/api/library/nodes.js +196 -0
  372. package/dist/api/library/options.d.ts +144 -0
  373. package/dist/api/library/options.js +308 -0
  374. package/dist/api/library/parse.d.ts +19 -0
  375. package/dist/api/library/parse.js +41 -0
  376. package/dist/api/library/program.d.ts +21 -0
  377. package/dist/api/library/program.js +234 -0
  378. package/dist/api/library/types.d.ts +14 -1
  379. package/package.json +12 -8
  380. package/src/compiler/ast-utilities.ts +548 -0
  381. package/src/compiler/ast.ts +12862 -0
  382. package/src/compiler/astnav.ts +799 -0
  383. package/src/compiler/binder-utilities.ts +1392 -0
  384. package/src/compiler/binder.ts +2703 -0
  385. package/src/compiler/build-info.ts +1197 -0
  386. package/src/compiler/character-codes.ts +323 -0
  387. package/src/compiler/checker-calls.ts +2155 -0
  388. package/src/compiler/checker-classes.ts +706 -0
  389. package/src/compiler/checker-contextual.ts +1457 -0
  390. package/src/compiler/checker-declaration-order.ts +438 -0
  391. package/src/compiler/checker-declarations.ts +1194 -0
  392. package/src/compiler/checker-declared-types.ts +919 -0
  393. package/src/compiler/checker-decorators.ts +694 -0
  394. package/src/compiler/checker-deprecation.ts +359 -0
  395. package/src/compiler/checker-destructuring.ts +805 -0
  396. package/src/compiler/checker-elaboration.ts +477 -0
  397. package/src/compiler/checker-emit-helpers.ts +224 -0
  398. package/src/compiler/checker-emit-resolver.ts +769 -0
  399. package/src/compiler/checker-evaluator.ts +243 -0
  400. package/src/compiler/checker-expressions.ts +1831 -0
  401. package/src/compiler/checker-features.ts +361 -0
  402. package/src/compiler/checker-flow.ts +394 -0
  403. package/src/compiler/checker-functions.ts +1296 -0
  404. package/src/compiler/checker-generated-code.ts +227 -0
  405. package/src/compiler/checker-globals.ts +52 -0
  406. package/src/compiler/checker-grammar.ts +3584 -0
  407. package/src/compiler/checker-heritage.ts +1233 -0
  408. package/src/compiler/checker-inference.ts +2576 -0
  409. package/src/compiler/checker-iteration.ts +1206 -0
  410. package/src/compiler/checker-javascript.ts +502 -0
  411. package/src/compiler/checker-jsdoc.ts +360 -0
  412. package/src/compiler/checker-jsx.ts +1924 -0
  413. package/src/compiler/checker-literals.ts +61 -0
  414. package/src/compiler/checker-members.ts +2436 -0
  415. package/src/compiler/checker-modules.ts +2886 -0
  416. package/src/compiler/checker-narrowing.ts +3230 -0
  417. package/src/compiler/checker-object-literals.ts +575 -0
  418. package/src/compiler/checker-operators.ts +1422 -0
  419. package/src/compiler/checker-overloads.ts +328 -0
  420. package/src/compiler/checker-property-access.ts +906 -0
  421. package/src/compiler/checker-services.ts +1149 -0
  422. package/src/compiler/checker-signatures.ts +1032 -0
  423. package/src/compiler/checker-source-file.ts +732 -0
  424. package/src/compiler/checker-statements.ts +292 -0
  425. package/src/compiler/checker-super.ts +261 -0
  426. package/src/compiler/checker-symbol-types.ts +2107 -0
  427. package/src/compiler/checker-symbols.ts +2150 -0
  428. package/src/compiler/checker-type-factory.ts +2579 -0
  429. package/src/compiler/checker-type-nodes.ts +1033 -0
  430. package/src/compiler/checker-type-operators.ts +2502 -0
  431. package/src/compiler/checker-types.ts +2340 -0
  432. package/src/compiler/checker-unused.ts +642 -0
  433. package/src/compiler/checker-utilities.ts +161 -0
  434. package/src/compiler/checker.ts +1116 -0
  435. package/src/compiler/command-line.ts +436 -0
  436. package/src/compiler/compile-program.ts +439 -0
  437. package/src/compiler/decoder.ts +1209 -0
  438. package/src/compiler/diagnostic-locales.ts +86 -0
  439. package/src/compiler/diagnostic-messages.ts +2349 -0
  440. package/src/compiler/diagnostics.ts +897 -0
  441. package/src/compiler/emitter.ts +434 -0
  442. package/src/compiler/encoder.ts +1945 -0
  443. package/src/compiler/file-include.ts +673 -0
  444. package/src/compiler/file-loader.ts +1528 -0
  445. package/src/compiler/file-system.ts +143 -0
  446. package/src/compiler/flow.ts +89 -0
  447. package/src/compiler/help.ts +473 -0
  448. package/src/compiler/incremental.ts +2784 -0
  449. package/src/compiler/init.ts +141 -0
  450. package/src/compiler/instantiation.ts +894 -0
  451. package/src/compiler/jsdoc.ts +1386 -0
  452. package/src/compiler/link-tables.ts +98 -0
  453. package/src/compiler/locale-data.ts +203 -0
  454. package/src/compiler/locale.ts +307 -0
  455. package/src/compiler/locales/cs-CZ.ts +5 -0
  456. package/src/compiler/locales/de-DE.ts +5 -0
  457. package/src/compiler/locales/es-ES.ts +5 -0
  458. package/src/compiler/locales/fr-FR.ts +5 -0
  459. package/src/compiler/locales/it-IT.ts +5 -0
  460. package/src/compiler/locales/ja-JP.ts +5 -0
  461. package/src/compiler/locales/ko-KR.ts +5 -0
  462. package/src/compiler/locales/pl-PL.ts +5 -0
  463. package/src/compiler/locales/pt-BR.ts +5 -0
  464. package/src/compiler/locales/ru-RU.ts +5 -0
  465. package/src/compiler/locales/tr-TR.ts +5 -0
  466. package/src/compiler/locales/zh-CN.ts +5 -0
  467. package/src/compiler/locales/zh-TW.ts +5 -0
  468. package/src/compiler/module-resolution-types.ts +243 -0
  469. package/src/compiler/module-resolution.ts +2072 -0
  470. package/src/compiler/module-specifiers.ts +1491 -0
  471. package/src/compiler/name-resolver.ts +646 -0
  472. package/src/compiler/node-builder-names.ts +1069 -0
  473. package/src/compiler/node-builder-pseudo.ts +892 -0
  474. package/src/compiler/node-builder-reuse.ts +764 -0
  475. package/src/compiler/node-builder.ts +3425 -0
  476. package/src/compiler/option-declarations.ts +1560 -0
  477. package/src/compiler/options.ts +1576 -0
  478. package/src/compiler/output-paths.ts +334 -0
  479. package/src/compiler/package-json.ts +1083 -0
  480. package/src/compiler/parallel-check.ts +1951 -0
  481. package/src/compiler/parallel-parse.ts +590 -0
  482. package/src/compiler/parse-thread.ts +140 -0
  483. package/src/compiler/parser.ts +7716 -0
  484. package/src/compiler/path.ts +717 -0
  485. package/src/compiler/printer/async-helpers.ts +183 -0
  486. package/src/compiler/printer/auto-generate.ts +27 -0
  487. package/src/compiler/printer/decorator-helpers.ts +218 -0
  488. package/src/compiler/printer/emit-context.ts +679 -0
  489. package/src/compiler/printer/emit-flags.ts +64 -0
  490. package/src/compiler/printer/factory-base.ts +2577 -0
  491. package/src/compiler/printer/factory.ts +764 -0
  492. package/src/compiler/printer/helpers.ts +291 -0
  493. package/src/compiler/printer/name-generator.ts +372 -0
  494. package/src/compiler/printer/printer.ts +5072 -0
  495. package/src/compiler/printer/text-writer.ts +183 -0
  496. package/src/compiler/printer/utilities.ts +884 -0
  497. package/src/compiler/program-checker.ts +592 -0
  498. package/src/compiler/program-utilities.ts +435 -0
  499. package/src/compiler/program.ts +1419 -0
  500. package/src/compiler/pseudo-bigint.ts +62 -0
  501. package/src/compiler/regexp-checker.ts +1142 -0
  502. package/src/compiler/relations.ts +5149 -0
  503. package/src/compiler/reparser.ts +1566 -0
  504. package/src/compiler/scanner.ts +2951 -0
  505. package/src/compiler/show-config.ts +239 -0
  506. package/src/compiler/side-state.ts +125 -0
  507. package/src/compiler/sourcemap.ts +366 -0
  508. package/src/compiler/spelling.ts +122 -0
  509. package/src/compiler/symbol-accessibility.ts +1071 -0
  510. package/src/compiler/symbol.ts +439 -0
  511. package/src/compiler/symlinks.ts +137 -0
  512. package/src/compiler/syntax-kind.ts +391 -0
  513. package/src/compiler/thread-entry.ts +191 -0
  514. package/src/compiler/timeline.ts +53 -0
  515. package/src/compiler/transformers/alias-references.ts +757 -0
  516. package/src/compiler/transformers/async-utilities.ts +335 -0
  517. package/src/compiler/transformers/async.ts +838 -0
  518. package/src/compiler/transformers/class-fields.ts +2967 -0
  519. package/src/compiler/transformers/class-utilities.ts +324 -0
  520. package/src/compiler/transformers/commonjs-module.ts +1621 -0
  521. package/src/compiler/transformers/const-enum-inliner.ts +50 -0
  522. package/src/compiler/transformers/declarations-diagnostics.ts +832 -0
  523. package/src/compiler/transformers/declarations-pseudo.ts +966 -0
  524. package/src/compiler/transformers/declarations-resolver.ts +249 -0
  525. package/src/compiler/transformers/declarations-syntactic.ts +1859 -0
  526. package/src/compiler/transformers/declarations-tracker.ts +269 -0
  527. package/src/compiler/transformers/declarations.ts +3120 -0
  528. package/src/compiler/transformers/decorator-metadata.ts +697 -0
  529. package/src/compiler/transformers/decorator-utilities.ts +283 -0
  530. package/src/compiler/transformers/destructuring.ts +708 -0
  531. package/src/compiler/transformers/downlevel.ts +50 -0
  532. package/src/compiler/transformers/emit-resolver.ts +258 -0
  533. package/src/compiler/transformers/es-decorators.ts +2682 -0
  534. package/src/compiler/transformers/exponentiation.ts +80 -0
  535. package/src/compiler/transformers/external-module-info.ts +412 -0
  536. package/src/compiler/transformers/for-await.ts +687 -0
  537. package/src/compiler/transformers/import-elision.ts +152 -0
  538. package/src/compiler/transformers/jsx-entities.ts +256 -0
  539. package/src/compiler/transformers/jsx.ts +824 -0
  540. package/src/compiler/transformers/legacy-decorators.ts +726 -0
  541. package/src/compiler/transformers/logical-assignment.ts +75 -0
  542. package/src/compiler/transformers/module-utilities.ts +42 -0
  543. package/src/compiler/transformers/module.ts +474 -0
  544. package/src/compiler/transformers/named-evaluation.ts +389 -0
  545. package/src/compiler/transformers/nullish-coalescing.ts +35 -0
  546. package/src/compiler/transformers/object-rest-spread.ts +577 -0
  547. package/src/compiler/transformers/optional-catch.ts +29 -0
  548. package/src/compiler/transformers/optional-chain.ts +246 -0
  549. package/src/compiler/transformers/reference-resolver.ts +1201 -0
  550. package/src/compiler/transformers/runtime-syntax.ts +942 -0
  551. package/src/compiler/transformers/subtree-facts.ts +245 -0
  552. package/src/compiler/transformers/syntax-facts.ts +353 -0
  553. package/src/compiler/transformers/tagged-template.ts +167 -0
  554. package/src/compiler/transformers/transformer.ts +56 -0
  555. package/src/compiler/transformers/type-eraser.ts +520 -0
  556. package/src/compiler/transformers/type-serialization.ts +374 -0
  557. package/src/compiler/transformers/using.ts +613 -0
  558. package/src/compiler/transformers/utilities.ts +419 -0
  559. package/src/compiler/transformers/visitor-base.ts +1601 -0
  560. package/src/compiler/transformers/visitor-hooks.ts +252 -0
  561. package/src/compiler/tsc-build.ts +1418 -0
  562. package/src/compiler/tsc-cli.ts +666 -0
  563. package/src/compiler/tsc-compile.ts +437 -0
  564. package/src/compiler/tsc-watch.ts +854 -0
  565. package/src/compiler/tsconfig.ts +1574 -0
  566. package/src/compiler/type-printer.ts +110 -0
  567. package/src/compiler/types.ts +115 -0
  568. package/src/compiler/unicode-identifiers.ts +212 -0
  569. package/src/compiler/unicode-properties.ts +537 -0
  570. package/src/compiler/vfs-match.ts +597 -0
  571. package/src/compiler/xxh3.ts +650 -0
  572. package/src/library/ast.generated.ts +141 -167
  573. package/src/library/ast.ts +4 -1
  574. package/src/library/checker.ts +384 -0
  575. package/src/library/diagnostics.ts +72 -0
  576. package/src/library/disk.ts +73 -0
  577. package/src/library/errors.ts +26 -0
  578. package/src/library/host.ts +63 -0
  579. package/src/library/index.ts +21 -0
  580. package/src/library/nodes.ts +232 -0
  581. package/src/library/options.ts +449 -0
  582. package/src/library/parse.ts +63 -0
  583. package/src/library/program.ts +293 -0
  584. package/src/library/types.ts +14 -1
@@ -0,0 +1,46 @@
1
+ import { type Node, type SourceFile } from '../ast.js';
2
+ import { type Diagnostic } from '../diagnostics.js';
3
+ import { type Symbol, SymbolFlags } from '../symbol.js';
4
+ import { DiagnosticContext } from './declarations-diagnostics.js';
5
+ import { type DeclarationEmitResolver, type SymbolAccessibilityResult, SymbolTracker } from './declarations-resolver.js';
6
+ export declare class DeclarationTracker extends SymbolTracker {
7
+ readonly resolver: DeclarationEmitResolver;
8
+ readonly isolatedDeclarations: boolean;
9
+ readonly stripInternal: boolean;
10
+ diagnostics: Diagnostic[];
11
+ /** Unexported statements that names in the output refer to, to emit after the first pass. */
12
+ lateMarkedStatements: Node[];
13
+ /** How inaccessible names in the declaration being written are reported. */
14
+ diagnosticContext: DiagnosticContext;
15
+ /** The name of the declaration being written, where errors are reported. */
16
+ errorNameNode: Node | undefined;
17
+ currentSourceFile: SourceFile | undefined;
18
+ /** A class expression whose own name is allowed in its members' types; see `classSymbolTracked`. */
19
+ watchedClassSymbol: Symbol | undefined;
20
+ classSymbolTracked: boolean;
21
+ private readonly fallbackStack;
22
+ constructor(resolver: DeclarationEmitResolver, isolatedDeclarations: boolean, stripInternal: boolean);
23
+ addDiagnostic(diagnostic: Diagnostic): boolean;
24
+ pushErrorFallbackNode(node: Node): boolean;
25
+ popErrorFallbackNode(): boolean;
26
+ private errorFallbackNode;
27
+ private errorLocation;
28
+ private errorDeclarationName;
29
+ private reportAtErrorLocation;
30
+ reportCyclicStructureError(): boolean;
31
+ reportInaccessibleThisError(): boolean;
32
+ reportInaccessibleUniqueSymbolError(): boolean;
33
+ reportLikelyUnsafeImportRequiredError(specifier: string, symbolName: string): boolean;
34
+ reportNonSerializableProperty(propertyName: string): boolean;
35
+ reportPrivateInBaseOfClassExpression(propertyName: string): boolean;
36
+ reportTruncationError(): boolean;
37
+ reportNonlocalAugmentation(containingFile: SourceFile, parentSymbol: Symbol, augmentingSymbol: Symbol): boolean;
38
+ reportInferenceFallback(node: Node): boolean;
39
+ /** Under isolatedDeclarations, reports the properties assigned to a function. */
40
+ reportExpandoFunctionErrors(node: Node): boolean;
41
+ private isChildOfBoundExpando;
42
+ private isBoundExpando;
43
+ trackSymbol(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): boolean;
44
+ /** Queues aliases an accessible name needs, or reports an inaccessible one; true if reported. */
45
+ handleSymbolAccessibilityError(result: SymbolAccessibilityResult): boolean;
46
+ }
@@ -0,0 +1,197 @@
1
+ // The symbol tracker of declaration emit: collects its diagnostics and the unexported
2
+ // declarations that names in the output refer to.
3
+ import { BinaryExpression, ExportAssignment, Identifier, getExpression } from '../ast.js';
4
+ import { getNameOfDeclaration, getSourceFileOfNode } from '../binder-utilities.js';
5
+ import { createDiagnosticForNode, createIsolatedDeclarationError, getSymbolAccessibilityDiagnostic, nameToString, noDiagnosticContext, textOfNode, } from './declarations-diagnostics.js';
6
+ import { SymbolTracker, } from './declarations-resolver.js';
7
+ export class DeclarationTracker extends SymbolTracker {
8
+ resolver;
9
+ isolatedDeclarations;
10
+ stripInternal;
11
+ diagnostics;
12
+ /** Unexported statements that names in the output refer to, to emit after the first pass. */
13
+ lateMarkedStatements;
14
+ /** How inaccessible names in the declaration being written are reported. */
15
+ diagnosticContext;
16
+ /** The name of the declaration being written, where errors are reported. */
17
+ errorNameNode;
18
+ currentSourceFile;
19
+ /** A class expression whose own name is allowed in its members' types; see `classSymbolTracked`. */
20
+ watchedClassSymbol;
21
+ classSymbolTracked;
22
+ fallbackStack;
23
+ constructor(resolver, isolatedDeclarations, stripInternal) {
24
+ super();
25
+ this.resolver = resolver;
26
+ this.isolatedDeclarations = isolatedDeclarations;
27
+ this.stripInternal = stripInternal;
28
+ this.diagnostics = [];
29
+ this.lateMarkedStatements = [];
30
+ this.diagnosticContext = noDiagnosticContext;
31
+ this.errorNameNode = undefined;
32
+ this.currentSourceFile = undefined;
33
+ this.watchedClassSymbol = undefined;
34
+ this.classSymbolTracked = false;
35
+ this.fallbackStack = [];
36
+ }
37
+ addDiagnostic(diagnostic) {
38
+ this.diagnostics.push(diagnostic);
39
+ return true;
40
+ }
41
+ pushErrorFallbackNode(node) {
42
+ this.fallbackStack.push(node);
43
+ return true;
44
+ }
45
+ popErrorFallbackNode() {
46
+ this.fallbackStack.pop();
47
+ return true;
48
+ }
49
+ errorFallbackNode() {
50
+ const stack = this.fallbackStack;
51
+ return stack.length > 0 ? stack[stack.length - 1] : undefined;
52
+ }
53
+ errorLocation() {
54
+ return this.errorNameNode ?? this.errorFallbackNode();
55
+ }
56
+ errorDeclarationName() {
57
+ if (this.errorNameNode !== undefined)
58
+ return nameToString(this.errorNameNode);
59
+ const fallback = this.errorFallbackNode();
60
+ if (fallback !== undefined) {
61
+ const name = getNameOfDeclaration(fallback);
62
+ if (name !== undefined)
63
+ return nameToString(name);
64
+ if (fallback instanceof ExportAssignment)
65
+ return fallback.isExportEquals ? 'export=' : 'default';
66
+ }
67
+ return '(Missing)';
68
+ }
69
+ reportAtErrorLocation(message, args) {
70
+ const location = this.errorLocation();
71
+ if (location === undefined)
72
+ return false;
73
+ return this.addDiagnostic(createDiagnosticForNode(location, message, args));
74
+ }
75
+ reportCyclicStructureError() {
76
+ return this.reportAtErrorLocation(1162 /* Diagnostics.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary */, [this.errorDeclarationName()]);
77
+ }
78
+ reportInaccessibleThisError() {
79
+ return this.reportAtErrorLocation(685 /* Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary */, [this.errorDeclarationName(), 'this']);
80
+ }
81
+ reportInaccessibleUniqueSymbolError() {
82
+ return this.reportAtErrorLocation(685 /* Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary */, [this.errorDeclarationName(), 'unique symbol']);
83
+ }
84
+ reportLikelyUnsafeImportRequiredError(specifier, symbolName) {
85
+ if (symbolName !== '')
86
+ return this.reportAtErrorLocation(1003 /* Diagnostics.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_2_from_1_This_is_likely_not_portable_A_type_annotation_is_necessary */, [this.errorDeclarationName(), specifier, symbolName]);
87
+ return this.reportAtErrorLocation(874 /* Diagnostics.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary */, [this.errorDeclarationName(), specifier]);
88
+ }
89
+ reportNonSerializableProperty(propertyName) {
90
+ return this.reportAtErrorLocation(1104 /* Diagnostics.The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized */, [propertyName]);
91
+ }
92
+ reportPrivateInBaseOfClassExpression(propertyName) {
93
+ const location = this.errorLocation();
94
+ if (location === undefined)
95
+ return false;
96
+ const diagnostic = createDiagnosticForNode(location, 1080 /* Diagnostics.Property_0_of_exported_anonymous_class_type_may_not_be_private_or_protected */, [propertyName]);
97
+ if (location.parent !== undefined && location.parent.kind === 261 /* SyntaxKind.VariableDeclaration */)
98
+ diagnostic.addRelatedInfo(createDiagnosticForNode(location, 1791 /* Diagnostics.Add_a_type_annotation_to_the_variable_0 */, [
99
+ this.errorDeclarationName(),
100
+ ]));
101
+ return this.addDiagnostic(diagnostic);
102
+ }
103
+ reportTruncationError() {
104
+ return this.reportAtErrorLocation(1727 /* Diagnostics.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed */, []);
105
+ }
106
+ reportNonlocalAugmentation(containingFile, parentSymbol, augmentingSymbol) {
107
+ let primary = undefined;
108
+ for (const declaration of parentSymbol.declarations)
109
+ if (getSourceFileOfNode(declaration) === containingFile) {
110
+ primary = declaration;
111
+ break;
112
+ }
113
+ if (primary === undefined)
114
+ return false;
115
+ for (const augmentation of augmentingSymbol.declarations) {
116
+ if (getSourceFileOfNode(augmentation) === containingFile)
117
+ continue;
118
+ const diagnostic = createDiagnosticForNode(augmentation, 1384 /* Diagnostics.Declaration_augments_declaration_in_another_file_This_cannot_be_serialized */, []);
119
+ diagnostic.addRelatedInfo(createDiagnosticForNode(primary, 1385 /* Diagnostics.This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file */, []));
120
+ this.addDiagnostic(diagnostic);
121
+ }
122
+ return true;
123
+ }
124
+ reportInferenceFallback(node) {
125
+ if (!this.isolatedDeclarations || getSourceFileOfNode(node) !== this.currentSourceFile)
126
+ return false;
127
+ if (this.resolver.isExpandoFunctionDeclaration(node))
128
+ this.reportExpandoFunctionErrors(node);
129
+ // Expando properties get an error when their function is reported; skip follow-on errors.
130
+ if (this.isChildOfBoundExpando(node))
131
+ return false;
132
+ return this.addDiagnostic(createIsolatedDeclarationError(node, node.kind === 170 /* SyntaxKind.Parameter */ && this.resolver.requiresAddingImplicitUndefined(node, undefined)));
133
+ }
134
+ /** Under isolatedDeclarations, reports the properties assigned to a function. */
135
+ reportExpandoFunctionErrors(node) {
136
+ if (!this.isolatedDeclarations)
137
+ return false;
138
+ for (const declaration of this.resolver.getExpandoPropertyDeclarations(node)) {
139
+ const target = declaration instanceof BinaryExpression ? declaration.left : declaration;
140
+ this.addDiagnostic(createDiagnosticForNode(target, 1788 /* Diagnostics.Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function */, []));
141
+ }
142
+ return true;
143
+ }
144
+ isChildOfBoundExpando(node) {
145
+ for (let current = node; current !== undefined; current = current.parent) {
146
+ if (current.kind === 307 /* SyntaxKind.SourceFile */ || current.kind === 242 /* SyntaxKind.Block */)
147
+ return false;
148
+ if (this.isBoundExpando(current))
149
+ return true;
150
+ }
151
+ return false;
152
+ }
153
+ isBoundExpando(node) {
154
+ if (!(node instanceof BinaryExpression) || node.left.kind !== 212 /* SyntaxKind.PropertyAccessExpression */)
155
+ return false;
156
+ if (node.operatorToken.kind !== 63 /* SyntaxKind.EqualsToken */)
157
+ return false;
158
+ let leftmost = node.left;
159
+ while (leftmost.kind === 212 /* SyntaxKind.PropertyAccessExpression */ ||
160
+ leftmost.kind === 213 /* SyntaxKind.ElementAccessExpression */)
161
+ leftmost = getExpression(leftmost);
162
+ if (!(leftmost instanceof Identifier))
163
+ return false;
164
+ const declaration = this.resolver.getReferencedValueDeclaration(leftmost);
165
+ return declaration !== undefined && this.resolver.isExpandoFunctionDeclaration(declaration);
166
+ }
167
+ trackSymbol(symbol, enclosingDeclaration, meaning) {
168
+ if ((symbol.flags & 262144 /* SymbolFlags.TypeParameter */) !== 0)
169
+ return false;
170
+ // A class expression's own name is handled by wrapping it in a namespace.
171
+ if (symbol === this.watchedClassSymbol) {
172
+ this.classSymbolTracked = true;
173
+ return false;
174
+ }
175
+ return this.handleSymbolAccessibilityError(this.resolver.isSymbolAccessible(symbol, enclosingDeclaration, meaning, true));
176
+ }
177
+ /** Queues aliases an accessible name needs, or reports an inaccessible one; true if reported. */
178
+ handleSymbolAccessibilityError(result) {
179
+ if (result.accessibility === 0 /* SymbolAccessibility.Accessible */) {
180
+ for (const alias of result.aliasesToMakeVisible)
181
+ if (this.lateMarkedStatements.indexOf(alias) < 0)
182
+ this.lateMarkedStatements.push(alias);
183
+ return false;
184
+ }
185
+ // The checker reports unresolved names.
186
+ if (result.accessibility === 3 /* SymbolAccessibility.NotResolved */)
187
+ return false;
188
+ const info = getSymbolAccessibilityDiagnostic(this.diagnosticContext, result);
189
+ if (info === undefined)
190
+ return false;
191
+ const node = result.errorNode ?? info.errorNode;
192
+ const args = info.typeName !== undefined
193
+ ? [textOfNode(info.typeName), result.errorSymbolName, result.errorModuleName]
194
+ : [result.errorSymbolName, result.errorModuleName];
195
+ return this.addDiagnostic(createDiagnosticForNode(node, info.message, args));
196
+ }
197
+ }
@@ -0,0 +1,175 @@
1
+ import { type Node } from '../ast.js';
2
+ import { type Diagnostic } from '../diagnostics.js';
3
+ import type { CompilerOptions } from '../options.js';
4
+ import { type OutputPathsHost } from '../output-paths.js';
5
+ import type { EmitContext } from '../printer/emit-context.js';
6
+ import { type DeclarationEmitResolver } from './declarations-resolver.js';
7
+ import { DeclarationTracker } from './declarations-tracker.js';
8
+ import { Transformer } from './transformer.js';
9
+ export declare class DeclarationTransformer extends Transformer {
10
+ readonly host: OutputPathsHost;
11
+ readonly options: CompilerOptions;
12
+ readonly resolver: DeclarationEmitResolver;
13
+ readonly tracker: DeclarationTracker;
14
+ private readonly declarationFilePath;
15
+ private needsDeclare;
16
+ private needsScopeFixMarker;
17
+ private resultHasScopeMarker;
18
+ private resultHasExternalModuleIndicator;
19
+ private enclosingDeclaration;
20
+ /** Whether types are inside an object type, where new diagnostic contexts aren't entered. */
21
+ private suppressNewDiagnosticContexts;
22
+ private inClassExpressionDeclaration;
23
+ /** Transformed top-level declarations by original node; undefined for removed ones. */
24
+ private lateStatementReplacements;
25
+ /** Functions with assigned properties (`f.x = 1`), transformed, by statement. */
26
+ private readonly expandoHosts;
27
+ /** The namespace members for the assigned properties of each function, by statement. */
28
+ private readonly expandoMembers;
29
+ /** The `export =` for a CommonJS `module.exports = …`. */
30
+ private cjsExportAssignment;
31
+ /** The exports for CommonJS `exports.x = …` assignments. */
32
+ private cjsExportMembers;
33
+ /** The name of the `module.exports` value, which `exports.x` members are nested in. */
34
+ private cjsExportAssignmentName;
35
+ private readonly witnessedCjsExports;
36
+ /** `this.x` members found in a JavaScript class, and their keys. */
37
+ private thisPropertyAssignments;
38
+ private readonly seenProperties;
39
+ constructor(context: EmitContext, host: OutputPathsHost, options: CompilerOptions, resolver: DeclarationEmitResolver, declarationFilePath: string);
40
+ get diagnostics(): Diagnostic[];
41
+ visit(node: Node): Node | undefined;
42
+ private visitSourceFile;
43
+ private originalSourceFile;
44
+ private appendCjsExports;
45
+ private reportMultipleModuleExports;
46
+ private createEmptyExports;
47
+ /** `/// <reference path>` directives with `preserve="true"`, relative to the output. */
48
+ private getReferencedFiles;
49
+ /**
50
+ * Replaces top-level declarations with their transformed forms. Transforming a declaration can
51
+ * mark more unexported declarations as referenced, so this runs until none are left.
52
+ */
53
+ private transformAndReplaceLatePaintedStatements;
54
+ private enterDiagnosticContext;
55
+ private exitDiagnosticContext;
56
+ private visitDeclarationSubtree;
57
+ private transformDeclarationSubtree;
58
+ private createUnion;
59
+ private replaceWith;
60
+ private keyword;
61
+ private checkName;
62
+ private checkEntityNameVisibility;
63
+ private transformMappedType;
64
+ private transformHeritageClause;
65
+ private transformImportType;
66
+ private transformConstructorType;
67
+ private transformFunctionType;
68
+ private transformConditionalType;
69
+ private transformTypeParameter;
70
+ private transformVariableDeclaration;
71
+ private recreateBindingPattern;
72
+ private recreateBindingElement;
73
+ private transformIndexSignature;
74
+ private transformCallSignature;
75
+ private transformPropertySignature;
76
+ /** Writes the description of a property from a JSDoc `@property` tag as its comment. */
77
+ private preservePartialJsDoc;
78
+ private transformPropertyDeclaration;
79
+ private transformSetAccessor;
80
+ private transformGetAccessor;
81
+ private updateAccessorParamList;
82
+ private transformConstructor;
83
+ private transformConstructSignature;
84
+ /** A private method is written as a property without a type. */
85
+ private omitPrivateMethodType;
86
+ private transformMethodSignature;
87
+ private transformMethodDeclaration;
88
+ private visitDeclarationStatement;
89
+ /** `export =`, `export default` or `module.exports =` of `expression`. */
90
+ transformExportAssignment(input: Node, assignment: Node, expression: Node, isExportEquals: boolean): Node | undefined;
91
+ private createConstStatement;
92
+ private transformFunctionLikeToDeclaration;
93
+ /** A class expression as a declaration, for `export default (class {})` and CommonJS exports. */
94
+ private transformClassExpressionToDeclaration;
95
+ private declareModifiers;
96
+ /** The name of the variable for an exported expression: its own name if it has one, else `_default`. */
97
+ private getNameOfExportedExpression;
98
+ /** The name of a named function or class expression, unique if it would shadow something. */
99
+ private tryGetNameOfAssignedExpression;
100
+ private rewriteModuleSpecifier;
101
+ private tryGetResolutionModeOverride;
102
+ /** The replacement statements for a direct child of a source file or module block. */
103
+ private transformTopLevelDeclaration;
104
+ private transformTypeAlias;
105
+ private transformInterface;
106
+ private transformFunctionDeclaration;
107
+ private transformModuleDeclaration;
108
+ private stripExportModifiersOfList;
109
+ private stripExportModifiers;
110
+ /** `node` with other modifiers; for statements that can be exported. */
111
+ private replaceModifiers;
112
+ /** Class members: parameter properties, a `#private` marker and the visited members. */
113
+ /** The members of a class declaration or expression. */
114
+ private buildClassMembers;
115
+ private walkBindingPattern;
116
+ private transformClassDeclaration;
117
+ private transformVariableStatement;
118
+ private transformEnumDeclaration;
119
+ /** A number as an expression: a literal, `-literal`, `Infinity`, `-Infinity` or `NaN`. */
120
+ createNumber(value: number): Node;
121
+ /** `const x = require("m")` as `import x = require("m")`, `const { a } = require("m")` as `import { a } from "m"`. */
122
+ private transformCjsRequireVariableDeclaration;
123
+ /** Finds `module.exports =` assignments anywhere in the file. */
124
+ visitModuleExportsAssignment(node: Node): boolean;
125
+ /** Finds assigned properties (`f.x = 1`) and CommonJS exports (`exports.x = 1`) anywhere in the file. */
126
+ visitNestedExpression(node: Node): boolean;
127
+ /** A property name as an identifier when it can be one; keywords other than `default` stay strings. */
128
+ private getNameExpressionPreferringIdentifier;
129
+ private transformCommonJSExport;
130
+ private transformCommonJSExportWorker;
131
+ /** `exports.K = class K {}` as a class declaration, in a namespace if its name differs or is used inside. */
132
+ private transformCommonJSClassExport;
133
+ private createExportDeclaration;
134
+ /** `exports.x = y` and `f.x = y` as `export { y as x }`. */
135
+ private transformBinaryExpressionToExportDeclaration;
136
+ /** CommonJS exports of a file with `module.exports =` are members of a namespace of its name. */
137
+ private wrapInCJSExportNamespace;
138
+ private stripDeclareModifier;
139
+ /** Writes `f.x = 1` as a namespace member of `f`, kept with `f` if it's emitted. */
140
+ private transformExpandoAssignment;
141
+ private tryGetPropertyName;
142
+ private getExpandoHostId;
143
+ /** The function a property is assigned to, written as a declaration once. */
144
+ private transformExpandoHost;
145
+ /** A function with its assigned properties as a namespace of the same name. */
146
+ private createFullExpandoBlock;
147
+ /** The `this.x = …` members of a JavaScript class, as property declarations. */
148
+ private collectThisPropertyAssignments;
149
+ /** Collects a `this.x = …` assignment of a member of `classNode`. */
150
+ visitThisPropertyAssignment(node: Node, classNode: Node): boolean;
151
+ private createModifiers;
152
+ private ensureModifiers;
153
+ private ensureModifierFlags;
154
+ private ensureTypeParams;
155
+ private updateParamList;
156
+ private ensureParameterNode;
157
+ private ensureParameter;
158
+ private visitBindingName;
159
+ /** The type of a declaration: its annotation, or the resolver's type; `any` if neither. */
160
+ private ensureType;
161
+ private nodeBuilderFlags;
162
+ private shouldPrintWithInitializer;
163
+ private canHaveLiteralInitializer;
164
+ private ensureNoInitializer;
165
+ private transformImportEquals;
166
+ private transformImportDeclaration;
167
+ private updateImport;
168
+ private parseNode;
169
+ private isPrivate;
170
+ private isDeclarationAndNotVisible;
171
+ private getBindingNameVisible;
172
+ private shouldStripInternal;
173
+ /** Whether a declaration has an `@internal` comment. */
174
+ private isInternalDeclaration;
175
+ }