tsc-ts 0.0.9 → 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 (373) hide show
  1. package/README.md +2 -2
  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 +22 -15
  6. package/dist/api/compiler/ast.js +1026 -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 +178 -124
  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 +472 -440
  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 -107
  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 +212 -75
  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 +145 -36
  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 +104 -31
  73. package/dist/api/compiler/checker.js +181 -33
  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 +42 -3
  77. package/dist/api/compiler/compile-program.js +139 -27
  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.d.ts +22 -0
  81. package/dist/api/compiler/diagnostics.js +93 -11
  82. package/dist/api/compiler/emitter.d.ts +7 -1
  83. package/dist/api/compiler/emitter.js +53 -11
  84. package/dist/api/compiler/file-include.d.ts +2 -1
  85. package/dist/api/compiler/file-include.js +11 -7
  86. package/dist/api/compiler/file-loader.d.ts +21 -1
  87. package/dist/api/compiler/file-loader.js +201 -48
  88. package/dist/api/compiler/instantiation.d.ts +7 -0
  89. package/dist/api/compiler/instantiation.js +101 -49
  90. package/dist/api/compiler/jsdoc.js +23 -23
  91. package/dist/api/compiler/link-tables.d.ts +48 -18
  92. package/dist/api/compiler/link-tables.js +80 -37
  93. package/dist/api/compiler/locales/cs-CZ.d.ts +1 -1
  94. package/dist/api/compiler/locales/cs-CZ.js +1 -1
  95. package/dist/api/compiler/locales/de-DE.d.ts +1 -1
  96. package/dist/api/compiler/locales/de-DE.js +1 -1
  97. package/dist/api/compiler/locales/es-ES.d.ts +1 -1
  98. package/dist/api/compiler/locales/es-ES.js +1 -1
  99. package/dist/api/compiler/locales/fr-FR.d.ts +1 -1
  100. package/dist/api/compiler/locales/fr-FR.js +1 -1
  101. package/dist/api/compiler/locales/it-IT.d.ts +1 -1
  102. package/dist/api/compiler/locales/it-IT.js +1 -1
  103. package/dist/api/compiler/locales/ja-JP.d.ts +1 -1
  104. package/dist/api/compiler/locales/ja-JP.js +1 -1
  105. package/dist/api/compiler/locales/ko-KR.d.ts +1 -1
  106. package/dist/api/compiler/locales/ko-KR.js +1 -1
  107. package/dist/api/compiler/locales/pl-PL.d.ts +1 -1
  108. package/dist/api/compiler/locales/pl-PL.js +1 -1
  109. package/dist/api/compiler/locales/pt-BR.d.ts +1 -1
  110. package/dist/api/compiler/locales/pt-BR.js +1 -1
  111. package/dist/api/compiler/locales/ru-RU.d.ts +1 -1
  112. package/dist/api/compiler/locales/ru-RU.js +1 -1
  113. package/dist/api/compiler/locales/tr-TR.d.ts +1 -1
  114. package/dist/api/compiler/locales/tr-TR.js +1 -1
  115. package/dist/api/compiler/locales/zh-CN.d.ts +1 -1
  116. package/dist/api/compiler/locales/zh-CN.js +1 -1
  117. package/dist/api/compiler/locales/zh-TW.d.ts +1 -1
  118. package/dist/api/compiler/locales/zh-TW.js +1 -1
  119. package/dist/api/compiler/module-resolution-types.js +6 -6
  120. package/dist/api/compiler/module-resolution.d.ts +10 -1
  121. package/dist/api/compiler/module-resolution.js +115 -84
  122. package/dist/api/compiler/module-specifiers.d.ts +15 -0
  123. package/dist/api/compiler/module-specifiers.js +24 -18
  124. package/dist/api/compiler/name-resolver.js +74 -65
  125. package/dist/api/compiler/node-builder-names.d.ts +11 -3
  126. package/dist/api/compiler/node-builder-names.js +210 -90
  127. package/dist/api/compiler/node-builder-pseudo.js +29 -31
  128. package/dist/api/compiler/node-builder-reuse.js +23 -22
  129. package/dist/api/compiler/node-builder.d.ts +18 -1
  130. package/dist/api/compiler/node-builder.js +191 -102
  131. package/dist/api/compiler/option-declarations.d.ts +2 -6
  132. package/dist/api/compiler/option-declarations.js +315 -375
  133. package/dist/api/compiler/options.d.ts +15 -33
  134. package/dist/api/compiler/options.js +21 -54
  135. package/dist/api/compiler/output-paths.d.ts +4 -1
  136. package/dist/api/compiler/output-paths.js +6 -11
  137. package/dist/api/compiler/package-json.d.ts +3 -3
  138. package/dist/api/compiler/package-json.js +11 -10
  139. package/dist/api/compiler/parallel-parse.d.ts +3 -2
  140. package/dist/api/compiler/parallel-parse.js +17 -5
  141. package/dist/api/compiler/parser.d.ts +40 -19
  142. package/dist/api/compiler/parser.js +308 -216
  143. package/dist/api/compiler/path.d.ts +9 -0
  144. package/dist/api/compiler/path.js +20 -3
  145. package/dist/api/compiler/printer/emit-context.d.ts +5 -1
  146. package/dist/api/compiler/printer/emit-context.js +20 -1
  147. package/dist/api/compiler/printer/factory-base.d.ts +2 -2
  148. package/dist/api/compiler/printer/factory-base.js +7 -3
  149. package/dist/api/compiler/printer/factory.js +3 -1
  150. package/dist/api/compiler/printer/helpers.js +10 -1
  151. package/dist/api/compiler/printer/name-generator.d.ts +1 -1
  152. package/dist/api/compiler/printer/name-generator.js +35 -16
  153. package/dist/api/compiler/printer/printer.d.ts +49 -2
  154. package/dist/api/compiler/printer/printer.js +539 -293
  155. package/dist/api/compiler/printer/utilities.js +149 -147
  156. package/dist/api/compiler/program-checker.d.ts +12 -2
  157. package/dist/api/compiler/program-checker.js +88 -34
  158. package/dist/api/compiler/program-utilities.d.ts +3 -1
  159. package/dist/api/compiler/program-utilities.js +28 -15
  160. package/dist/api/compiler/program.d.ts +4 -6
  161. package/dist/api/compiler/program.js +74 -87
  162. package/dist/api/compiler/pseudo-bigint.d.ts +2 -0
  163. package/dist/api/compiler/pseudo-bigint.js +18 -0
  164. package/dist/api/compiler/regexp-checker.d.ts +1 -1
  165. package/dist/api/compiler/regexp-checker.js +93 -76
  166. package/dist/api/compiler/relations.d.ts +27 -4
  167. package/dist/api/compiler/relations.js +347 -180
  168. package/dist/api/compiler/reparser.js +60 -56
  169. package/dist/api/compiler/scanner.d.ts +19 -2
  170. package/dist/api/compiler/scanner.js +123 -108
  171. package/dist/api/compiler/shared-results.d.ts +463 -0
  172. package/dist/api/compiler/shared-results.js +2128 -0
  173. package/dist/api/compiler/sourcemap.js +2 -2
  174. package/dist/api/compiler/symbol-accessibility.js +87 -74
  175. package/dist/api/compiler/symbol.d.ts +23 -14
  176. package/dist/api/compiler/symbol.js +23 -11
  177. package/dist/api/compiler/syntax-kind.d.ts +198 -197
  178. package/dist/api/compiler/transformers/alias-references.js +247 -139
  179. package/dist/api/compiler/transformers/async-utilities.js +25 -25
  180. package/dist/api/compiler/transformers/async.d.ts +0 -1
  181. package/dist/api/compiler/transformers/async.js +64 -77
  182. package/dist/api/compiler/transformers/class-fields.d.ts +1 -0
  183. package/dist/api/compiler/transformers/class-fields.js +81 -78
  184. package/dist/api/compiler/transformers/commonjs-module.js +18 -15
  185. package/dist/api/compiler/transformers/const-enum-inliner.js +1 -1
  186. package/dist/api/compiler/transformers/declarations-diagnostics.js +247 -244
  187. package/dist/api/compiler/transformers/declarations-pseudo.js +100 -100
  188. package/dist/api/compiler/transformers/declarations-resolver.d.ts +0 -3
  189. package/dist/api/compiler/transformers/declarations-syntactic.d.ts +1 -2
  190. package/dist/api/compiler/transformers/declarations-syntactic.js +134 -156
  191. package/dist/api/compiler/transformers/declarations-tracker.js +18 -18
  192. package/dist/api/compiler/transformers/declarations.d.ts +4 -1
  193. package/dist/api/compiler/transformers/declarations.js +305 -238
  194. package/dist/api/compiler/transformers/decorator-metadata.d.ts +1 -1
  195. package/dist/api/compiler/transformers/decorator-metadata.js +53 -45
  196. package/dist/api/compiler/transformers/decorator-utilities.js +24 -24
  197. package/dist/api/compiler/transformers/destructuring.js +19 -18
  198. package/dist/api/compiler/transformers/emit-resolver.js +1 -1
  199. package/dist/api/compiler/transformers/es-decorators.js +55 -55
  200. package/dist/api/compiler/transformers/external-module-info.js +3 -3
  201. package/dist/api/compiler/transformers/for-await.js +25 -25
  202. package/dist/api/compiler/transformers/import-elision.js +14 -14
  203. package/dist/api/compiler/transformers/jsx.js +12 -12
  204. package/dist/api/compiler/transformers/legacy-decorators.js +17 -17
  205. package/dist/api/compiler/transformers/module.js +8 -8
  206. package/dist/api/compiler/transformers/named-evaluation.js +4 -4
  207. package/dist/api/compiler/transformers/object-rest-spread.js +20 -20
  208. package/dist/api/compiler/transformers/optional-chain.js +10 -10
  209. package/dist/api/compiler/transformers/reference-resolver.d.ts +12 -1
  210. package/dist/api/compiler/transformers/reference-resolver.js +131 -69
  211. package/dist/api/compiler/transformers/runtime-syntax.js +35 -31
  212. package/dist/api/compiler/transformers/subtree-facts.js +47 -47
  213. package/dist/api/compiler/transformers/syntax-facts.js +56 -58
  214. package/dist/api/compiler/transformers/type-eraser.js +73 -66
  215. package/dist/api/compiler/transformers/type-serialization.js +24 -24
  216. package/dist/api/compiler/transformers/using.js +12 -12
  217. package/dist/api/compiler/transformers/utilities.js +77 -77
  218. package/dist/api/compiler/transformers/visitor-base.js +172 -172
  219. package/dist/api/compiler/transformers/visitor-hooks.js +6 -2
  220. package/dist/api/compiler/tsconfig.d.ts +10 -2
  221. package/dist/api/compiler/tsconfig.js +136 -48
  222. package/dist/api/compiler/type-printer.js +40 -3
  223. package/dist/api/compiler/types.d.ts +2 -1
  224. package/dist/api/library/ast.generated.d.ts +42 -39
  225. package/dist/api/library/ast.generated.js +1 -1
  226. package/dist/api/library/compiler-options.generated.d.ts +111 -100
  227. package/dist/api/library/compiler-options.generated.js +1 -1
  228. package/dist/api/library/disk.js +12 -1
  229. package/dist/api/library/enums.generated.d.ts +206 -206
  230. package/dist/api/library/enums.generated.js +206 -206
  231. package/dist/api/library/nodes.js +26 -26
  232. package/package.json +9 -9
  233. package/src/compiler/ast-utilities.ts +99 -7
  234. package/src/compiler/ast.ts +58 -26
  235. package/src/compiler/binder.ts +39 -4
  236. package/src/compiler/character-codes.ts +2 -2
  237. package/src/compiler/checker-calls.ts +79 -9
  238. package/src/compiler/checker-classes.ts +78 -24
  239. package/src/compiler/checker-contextual.ts +6 -1
  240. package/src/compiler/checker-declarations.ts +31 -4
  241. package/src/compiler/checker-declared-types.ts +8 -5
  242. package/src/compiler/checker-decorators.ts +1 -1
  243. package/src/compiler/checker-deprecation.ts +29 -8
  244. package/src/compiler/checker-destructuring.ts +10 -3
  245. package/src/compiler/checker-emit-helpers.ts +1 -0
  246. package/src/compiler/checker-emit-resolver.ts +16 -6
  247. package/src/compiler/checker-expressions.ts +79 -46
  248. package/src/compiler/checker-functions.ts +21 -6
  249. package/src/compiler/checker-generated-code.ts +2 -22
  250. package/src/compiler/checker-grammar.ts +136 -62
  251. package/src/compiler/checker-heritage.ts +22 -21
  252. package/src/compiler/checker-inference.ts +514 -82
  253. package/src/compiler/checker-iteration.ts +18 -31
  254. package/src/compiler/checker-javascript.ts +1 -1
  255. package/src/compiler/checker-jsdoc.ts +50 -27
  256. package/src/compiler/checker-jsx.ts +26 -4
  257. package/src/compiler/checker-members.ts +200 -56
  258. package/src/compiler/checker-modules.ts +332 -65
  259. package/src/compiler/checker-narrowing.ts +98 -19
  260. package/src/compiler/checker-object-literals.ts +3 -0
  261. package/src/compiler/checker-operators.ts +11 -4
  262. package/src/compiler/checker-property-access.ts +7 -2
  263. package/src/compiler/checker-services.ts +39 -12
  264. package/src/compiler/checker-signatures.ts +15 -1
  265. package/src/compiler/checker-source-file.ts +39 -13
  266. package/src/compiler/checker-statements.ts +3 -2
  267. package/src/compiler/checker-symbol-types.ts +29 -6
  268. package/src/compiler/checker-symbols.ts +158 -15
  269. package/src/compiler/checker-type-factory.ts +124 -23
  270. package/src/compiler/checker-type-nodes.ts +46 -3
  271. package/src/compiler/checker-type-operators.ts +83 -26
  272. package/src/compiler/checker-types.ts +147 -4
  273. package/src/compiler/checker-unused.ts +9 -14
  274. package/src/compiler/checker.ts +203 -39
  275. package/src/compiler/command-line.ts +28 -28
  276. package/src/compiler/compile-program.ts +167 -27
  277. package/src/compiler/decoder.ts +13 -4
  278. package/src/compiler/diagnostic-messages.ts +1973 -1892
  279. package/src/compiler/diagnostics.ts +84 -3
  280. package/src/compiler/emitter.ts +57 -8
  281. package/src/compiler/encoder.ts +23 -8
  282. package/src/compiler/file-include.ts +9 -3
  283. package/src/compiler/file-loader.ts +197 -38
  284. package/src/compiler/help.ts +10 -14
  285. package/src/compiler/incremental.ts +165 -30
  286. package/src/compiler/init.ts +2 -7
  287. package/src/compiler/instantiation.ts +77 -22
  288. package/src/compiler/jsdoc.ts +3 -1
  289. package/src/compiler/link-tables.ts +82 -37
  290. package/src/compiler/locales/cs-CZ.ts +1 -1
  291. package/src/compiler/locales/de-DE.ts +1 -1
  292. package/src/compiler/locales/es-ES.ts +1 -1
  293. package/src/compiler/locales/fr-FR.ts +1 -1
  294. package/src/compiler/locales/it-IT.ts +1 -1
  295. package/src/compiler/locales/ja-JP.ts +1 -1
  296. package/src/compiler/locales/ko-KR.ts +1 -1
  297. package/src/compiler/locales/pl-PL.ts +1 -1
  298. package/src/compiler/locales/pt-BR.ts +1 -1
  299. package/src/compiler/locales/ru-RU.ts +1 -1
  300. package/src/compiler/locales/tr-TR.ts +1 -1
  301. package/src/compiler/locales/zh-CN.ts +1 -1
  302. package/src/compiler/locales/zh-TW.ts +1 -1
  303. package/src/compiler/module-resolution.ts +44 -8
  304. package/src/compiler/module-specifiers.ts +62 -20
  305. package/src/compiler/name-resolver.ts +9 -1
  306. package/src/compiler/node-builder-names.ts +236 -54
  307. package/src/compiler/node-builder-pseudo.ts +4 -7
  308. package/src/compiler/node-builder-reuse.ts +5 -4
  309. package/src/compiler/node-builder.ts +130 -31
  310. package/src/compiler/option-declarations.ts +33 -103
  311. package/src/compiler/options.ts +23 -62
  312. package/src/compiler/output-paths.ts +5 -18
  313. package/src/compiler/package-entrypoints.ts +345 -0
  314. package/src/compiler/package-json.ts +4 -4
  315. package/src/compiler/parallel-check.ts +326 -52
  316. package/src/compiler/parallel-emit.ts +320 -0
  317. package/src/compiler/parallel-parse.ts +16 -5
  318. package/src/compiler/parse-thread.ts +3 -0
  319. package/src/compiler/parser.ts +156 -39
  320. package/src/compiler/path.ts +22 -2
  321. package/src/compiler/printer/emit-context.ts +21 -0
  322. package/src/compiler/printer/factory-base.ts +10 -3
  323. package/src/compiler/printer/factory.ts +4 -1
  324. package/src/compiler/printer/helpers.ts +10 -1
  325. package/src/compiler/printer/name-generator.ts +24 -2
  326. package/src/compiler/printer/printer.ts +266 -30
  327. package/src/compiler/printer/utilities.ts +8 -2
  328. package/src/compiler/program-checker.ts +57 -5
  329. package/src/compiler/program-utilities.ts +23 -10
  330. package/src/compiler/program.ts +18 -26
  331. package/src/compiler/pseudo-bigint.ts +17 -0
  332. package/src/compiler/regexp-checker.ts +63 -30
  333. package/src/compiler/relations.ts +240 -77
  334. package/src/compiler/reparser.ts +7 -2
  335. package/src/compiler/scanner.ts +109 -79
  336. package/src/compiler/shared-results.ts +2414 -0
  337. package/src/compiler/show-config.ts +18 -1
  338. package/src/compiler/sourcemap.ts +2 -2
  339. package/src/compiler/symbol-accessibility.ts +26 -3
  340. package/src/compiler/symbol.ts +46 -24
  341. package/src/compiler/syntax-kind.ts +188 -187
  342. package/src/compiler/thread-entry.ts +64 -4
  343. package/src/compiler/transformers/alias-references.ts +123 -4
  344. package/src/compiler/transformers/async.ts +2 -17
  345. package/src/compiler/transformers/class-fields.ts +13 -12
  346. package/src/compiler/transformers/commonjs-module.ts +11 -7
  347. package/src/compiler/transformers/declarations-diagnostics.ts +5 -3
  348. package/src/compiler/transformers/declarations-pseudo.ts +2 -4
  349. package/src/compiler/transformers/declarations-resolver.ts +0 -3
  350. package/src/compiler/transformers/declarations-syntactic.ts +1 -21
  351. package/src/compiler/transformers/declarations.ts +134 -48
  352. package/src/compiler/transformers/decorator-metadata.ts +9 -1
  353. package/src/compiler/transformers/destructuring.ts +4 -3
  354. package/src/compiler/transformers/external-module-info.ts +1 -1
  355. package/src/compiler/transformers/jsx.ts +2 -1
  356. package/src/compiler/transformers/reference-resolver.ts +83 -19
  357. package/src/compiler/transformers/runtime-syntax.ts +6 -1
  358. package/src/compiler/transformers/syntax-facts.ts +2 -7
  359. package/src/compiler/transformers/type-eraser.ts +10 -1
  360. package/src/compiler/transformers/type-serialization.ts +3 -2
  361. package/src/compiler/transformers/visitor-base.ts +2 -1
  362. package/src/compiler/transformers/visitor-hooks.ts +9 -4
  363. package/src/compiler/tsc-build.ts +66 -9
  364. package/src/compiler/tsc-cli.ts +7 -0
  365. package/src/compiler/tsc-compile.ts +284 -4
  366. package/src/compiler/tsc-watch.ts +74 -45
  367. package/src/compiler/tsconfig.ts +176 -19
  368. package/src/compiler/type-printer.ts +36 -2
  369. package/src/compiler/types.ts +2 -1
  370. package/src/library/ast.generated.ts +57 -41
  371. package/src/library/compiler-options.generated.ts +117 -103
  372. package/src/library/disk.ts +10 -1
  373. package/src/library/enums.generated.ts +196 -196
@@ -227,8 +227,8 @@ export class ESDecorators extends Transformer {
227
227
  enterClassElement(node) {
228
228
  const entry = new LexicalEntry(1 /* LexicalEntryKind.ClassElement */, this.top, undefined, undefined);
229
229
  this.top = entry;
230
- if (node.kind === 176 /* SyntaxKind.ClassStaticBlockDeclaration */ ||
231
- (node.kind === 173 /* SyntaxKind.PropertyDeclaration */ && hasStaticModifier(node))) {
230
+ if (node.kind === 177 /* SyntaxKind.ClassStaticBlockDeclaration */ ||
231
+ (node.kind === 174 /* SyntaxKind.PropertyDeclaration */ && hasStaticModifier(node))) {
232
232
  const info = entry.next.classInfo;
233
233
  if (info !== undefined) {
234
234
  entry.classThis = info.classThis;
@@ -284,90 +284,90 @@ export class ESDecorators extends Transformer {
284
284
  if (!this.shouldVisitNode(node))
285
285
  return node;
286
286
  switch (node.kind) {
287
- case 171 /* SyntaxKind.Decorator */:
287
+ case 172 /* SyntaxKind.Decorator */:
288
288
  return undefined;
289
- case 264 /* SyntaxKind.ClassDeclaration */:
289
+ case 265 /* SyntaxKind.ClassDeclaration */:
290
290
  if (node instanceof ClassDeclaration)
291
291
  return this.visitClassDeclaration(node);
292
292
  break;
293
- case 232 /* SyntaxKind.ClassExpression */:
293
+ case 233 /* SyntaxKind.ClassExpression */:
294
294
  if (node instanceof ClassExpression)
295
295
  return this.visitClassExpression(node);
296
296
  break;
297
- case 177 /* SyntaxKind.Constructor */:
298
- case 173 /* SyntaxKind.PropertyDeclaration */:
299
- case 176 /* SyntaxKind.ClassStaticBlockDeclaration */:
297
+ case 178 /* SyntaxKind.Constructor */:
298
+ case 174 /* SyntaxKind.PropertyDeclaration */:
299
+ case 177 /* SyntaxKind.ClassStaticBlockDeclaration */:
300
300
  throw new Error('Class elements are visited with visitClassElement');
301
- case 170 /* SyntaxKind.Parameter */:
301
+ case 171 /* SyntaxKind.Parameter */:
302
302
  if (node instanceof ParameterDeclaration)
303
303
  return this.visitParameterDeclaration(node);
304
304
  break;
305
- case 227 /* SyntaxKind.BinaryExpression */:
305
+ case 228 /* SyntaxKind.BinaryExpression */:
306
306
  if (node instanceof BinaryExpression)
307
307
  return this.visitBinaryExpression(node, false);
308
308
  break;
309
- case 303 /* SyntaxKind.PropertyAssignment */:
309
+ case 304 /* SyntaxKind.PropertyAssignment */:
310
310
  if (node instanceof PropertyAssignment)
311
311
  return this.visitNamedEvaluationSite(node, node.initializer);
312
312
  break;
313
- case 261 /* SyntaxKind.VariableDeclaration */:
313
+ case 262 /* SyntaxKind.VariableDeclaration */:
314
314
  if (node instanceof VariableDeclaration)
315
315
  return this.visitNamedEvaluationSite(node, node.initializer);
316
316
  break;
317
- case 209 /* SyntaxKind.BindingElement */:
317
+ case 210 /* SyntaxKind.BindingElement */:
318
318
  if (node instanceof BindingElement)
319
319
  return this.visitNamedEvaluationSite(node, node.initializer);
320
320
  break;
321
- case 278 /* SyntaxKind.ExportAssignment */:
321
+ case 279 /* SyntaxKind.ExportAssignment */:
322
322
  if (node instanceof ExportAssignment)
323
323
  return this.visitNamedEvaluationSite(node, node.expression);
324
324
  break;
325
325
  case 109 /* SyntaxKind.ThisKeyword */:
326
326
  return this.classThis !== undefined ? this.classThis : node;
327
- case 249 /* SyntaxKind.ForStatement */:
327
+ case 250 /* SyntaxKind.ForStatement */:
328
328
  if (node instanceof ForStatement)
329
329
  return this.visitForStatement(node);
330
330
  break;
331
- case 245 /* SyntaxKind.ExpressionStatement */:
331
+ case 246 /* SyntaxKind.ExpressionStatement */:
332
332
  if (node instanceof ExpressionStatement)
333
333
  return this.factory.updateExpressionStatement(node, this.visitDiscardedNode(node.expression));
334
334
  break;
335
- case 218 /* SyntaxKind.ParenthesizedExpression */:
335
+ case 219 /* SyntaxKind.ParenthesizedExpression */:
336
336
  if (node instanceof ParenthesizedExpression)
337
337
  return this.visitParenthesizedExpression(node, false);
338
338
  break;
339
- case 348 /* SyntaxKind.PartiallyEmittedExpression */:
339
+ case 349 /* SyntaxKind.PartiallyEmittedExpression */:
340
340
  if (node instanceof PartiallyEmittedExpression)
341
341
  return this.visitPartiallyEmittedExpression(node, false);
342
342
  break;
343
- case 214 /* SyntaxKind.CallExpression */:
343
+ case 215 /* SyntaxKind.CallExpression */:
344
344
  if (node instanceof CallExpression)
345
345
  return this.visitCallExpression(node);
346
346
  break;
347
- case 216 /* SyntaxKind.TaggedTemplateExpression */:
347
+ case 217 /* SyntaxKind.TaggedTemplateExpression */:
348
348
  if (node instanceof TaggedTemplateExpression)
349
349
  return this.visitTaggedTemplateExpression(node);
350
350
  break;
351
- case 225 /* SyntaxKind.PrefixUnaryExpression */:
352
- case 226 /* SyntaxKind.PostfixUnaryExpression */:
351
+ case 226 /* SyntaxKind.PrefixUnaryExpression */:
352
+ case 227 /* SyntaxKind.PostfixUnaryExpression */:
353
353
  return this.visitPreOrPostfixUnaryExpression(node, false);
354
- case 212 /* SyntaxKind.PropertyAccessExpression */:
354
+ case 213 /* SyntaxKind.PropertyAccessExpression */:
355
355
  if (node instanceof PropertyAccessExpression)
356
356
  return this.visitPropertyAccessExpression(node);
357
357
  break;
358
- case 213 /* SyntaxKind.ElementAccessExpression */:
358
+ case 214 /* SyntaxKind.ElementAccessExpression */:
359
359
  if (node instanceof ElementAccessExpression)
360
360
  return this.visitElementAccessExpression(node);
361
361
  break;
362
- case 168 /* SyntaxKind.ComputedPropertyName */:
362
+ case 169 /* SyntaxKind.ComputedPropertyName */:
363
363
  if (node instanceof ComputedPropertyName)
364
364
  return this.visitComputedPropertyName(node);
365
365
  break;
366
- case 175 /* SyntaxKind.MethodDeclaration */:
367
- case 179 /* SyntaxKind.SetAccessor */:
368
- case 178 /* SyntaxKind.GetAccessor */:
369
- case 219 /* SyntaxKind.FunctionExpression */:
370
- case 263 /* SyntaxKind.FunctionDeclaration */: {
366
+ case 176 /* SyntaxKind.MethodDeclaration */:
367
+ case 180 /* SyntaxKind.SetAccessor */:
368
+ case 179 /* SyntaxKind.GetAccessor */:
369
+ case 220 /* SyntaxKind.FunctionExpression */:
370
+ case 264 /* SyntaxKind.FunctionDeclaration */: {
371
371
  this.enterOther();
372
372
  const result = this.visitEachChild(node);
373
373
  this.exitOther();
@@ -402,27 +402,27 @@ export class ESDecorators extends Transformer {
402
402
  }
403
403
  visitClassElement(node) {
404
404
  switch (node.kind) {
405
- case 177 /* SyntaxKind.Constructor */:
405
+ case 178 /* SyntaxKind.Constructor */:
406
406
  if (node instanceof ConstructorDeclaration)
407
407
  return this.visitConstructorDeclaration(node);
408
408
  break;
409
- case 175 /* SyntaxKind.MethodDeclaration */:
409
+ case 176 /* SyntaxKind.MethodDeclaration */:
410
410
  if (node instanceof MethodDeclaration)
411
411
  return this.visitMethodDeclaration(node);
412
412
  break;
413
- case 178 /* SyntaxKind.GetAccessor */:
413
+ case 179 /* SyntaxKind.GetAccessor */:
414
414
  if (node instanceof GetAccessorDeclaration)
415
415
  return this.visitGetAccessorDeclaration(node);
416
416
  break;
417
- case 179 /* SyntaxKind.SetAccessor */:
417
+ case 180 /* SyntaxKind.SetAccessor */:
418
418
  if (node instanceof SetAccessorDeclaration)
419
419
  return this.visitSetAccessorDeclaration(node);
420
420
  break;
421
- case 173 /* SyntaxKind.PropertyDeclaration */:
421
+ case 174 /* SyntaxKind.PropertyDeclaration */:
422
422
  if (node instanceof PropertyDeclaration)
423
423
  return this.visitPropertyDeclaration(node);
424
424
  break;
425
- case 176 /* SyntaxKind.ClassStaticBlockDeclaration */:
425
+ case 177 /* SyntaxKind.ClassStaticBlockDeclaration */:
426
426
  if (node instanceof ClassStaticBlockDeclaration)
427
427
  return this.visitClassStaticBlockDeclaration(node);
428
428
  break;
@@ -432,18 +432,18 @@ export class ESDecorators extends Transformer {
432
432
  /** Visits a node whose value is discarded, such as an expression statement's expression. */
433
433
  visitDiscarded(node) {
434
434
  switch (node.kind) {
435
- case 225 /* SyntaxKind.PrefixUnaryExpression */:
436
- case 226 /* SyntaxKind.PostfixUnaryExpression */:
435
+ case 226 /* SyntaxKind.PrefixUnaryExpression */:
436
+ case 227 /* SyntaxKind.PostfixUnaryExpression */:
437
437
  return this.visitPreOrPostfixUnaryExpression(node, true);
438
- case 227 /* SyntaxKind.BinaryExpression */:
438
+ case 228 /* SyntaxKind.BinaryExpression */:
439
439
  if (node instanceof BinaryExpression)
440
440
  return this.visitBinaryExpression(node, true);
441
441
  break;
442
- case 218 /* SyntaxKind.ParenthesizedExpression */:
442
+ case 219 /* SyntaxKind.ParenthesizedExpression */:
443
443
  if (node instanceof ParenthesizedExpression)
444
444
  return this.visitParenthesizedExpression(node, true);
445
445
  break;
446
- case 348 /* SyntaxKind.PartiallyEmittedExpression */:
446
+ case 349 /* SyntaxKind.PartiallyEmittedExpression */:
447
447
  if (node instanceof PartiallyEmittedExpression)
448
448
  return this.visitPartiallyEmittedExpression(node, true);
449
449
  break;
@@ -458,9 +458,9 @@ export class ESDecorators extends Transformer {
458
458
  case 0 /* ListVisit.ClassElements */:
459
459
  return this.visitClassElement(node);
460
460
  case 1 /* ListVisit.NonConstructorClassElements */:
461
- return node.kind === 177 /* SyntaxKind.Constructor */ ? node : this.visitClassElement(node);
461
+ return node.kind === 178 /* SyntaxKind.Constructor */ ? node : this.visitClassElement(node);
462
462
  case 2 /* ListVisit.ConstructorClassElements */:
463
- return node.kind === 177 /* SyntaxKind.Constructor */ ? this.visitClassElement(node) : node;
463
+ return node.kind === 178 /* SyntaxKind.Constructor */ ? this.visitClassElement(node) : node;
464
464
  case 3 /* ListVisit.ArrayAssignmentElements */:
465
465
  return this.visitArrayAssignmentElement(node);
466
466
  case 4 /* ListVisit.ObjectAssignmentElements */:
@@ -633,7 +633,7 @@ export class ESDecorators extends Transformer {
633
633
  const unwrapped = skipOuterExpressions(extendsExpression, 63 /* OuterExpressionKinds.All */);
634
634
  const anonymous = (unwrapped instanceof ClassExpression && unwrapped.name === undefined) ||
635
635
  (unwrapped instanceof FunctionExpression && unwrapped.name === undefined) ||
636
- unwrapped.kind === 220 /* SyntaxKind.ArrowFunction */;
636
+ unwrapped.kind === 221 /* SyntaxKind.ArrowFunction */;
637
637
  const safeExtendsExpression = anonymous
638
638
  ? factory.createCommaExpression(factory.createNumericLiteral('0'), extendsExpression)
639
639
  : extendsExpression;
@@ -1002,11 +1002,11 @@ export class ESDecorators extends Transformer {
1002
1002
  const memberInfo = new MemberInfo(memberDecoratorsName);
1003
1003
  info.setMemberInfo(member, memberInfo);
1004
1004
  this.pendingExpressions.push(factory.createAssignment(memberDecoratorsName, factory.created(new ArrayLiteralExpression(factory.createNodeList(memberDecorators), false))));
1005
- const kind = member.kind === 178 /* SyntaxKind.GetAccessor */
1005
+ const kind = member.kind === 179 /* SyntaxKind.GetAccessor */
1006
1006
  ? 'getter'
1007
- : member.kind === 179 /* SyntaxKind.SetAccessor */
1007
+ : member.kind === 180 /* SyntaxKind.SetAccessor */
1008
1008
  ? 'setter'
1009
- : member.kind === 175 /* SyntaxKind.MethodDeclaration */
1009
+ : member.kind === 176 /* SyntaxKind.MethodDeclaration */
1010
1010
  ? 'method'
1011
1011
  : isAutoAccessorPropertyDeclaration(member)
1012
1012
  ? 'accessor'
@@ -1031,8 +1031,8 @@ export class ESDecorators extends Transformer {
1031
1031
  nameExpression = result.referencedName;
1032
1032
  }
1033
1033
  }
1034
- const isField = member.kind === 173 /* SyntaxKind.PropertyDeclaration */;
1035
- const contextObject = this.createClassElementContextObject(kind, nameComputed, nameExpression, isStatic(member), memberName instanceof PrivateIdentifier, isField || member.kind === 178 /* SyntaxKind.GetAccessor */ || member.kind === 175 /* SyntaxKind.MethodDeclaration */, isField || member.kind === 179 /* SyntaxKind.SetAccessor */, info.metadataReference);
1034
+ const isField = member.kind === 174 /* SyntaxKind.PropertyDeclaration */;
1035
+ const contextObject = this.createClassElementContextObject(kind, nameComputed, nameExpression, isStatic(member), memberName instanceof PrivateIdentifier, isField || member.kind === 179 /* SyntaxKind.GetAccessor */ || member.kind === 176 /* SyntaxKind.MethodDeclaration */, isField || member.kind === 180 /* SyntaxKind.SetAccessor */, info.metadataReference);
1036
1036
  if (isMethodOrAccessor(member)) {
1037
1037
  // __esDecorate(this, null | _member_descriptor = { value() { ... } }, _member_decorators, { kind: "method", ... }, null, _instanceExtraInitializers);
1038
1038
  const extraInitializersName = isStatic(member)
@@ -1086,7 +1086,7 @@ export class ESDecorators extends Transformer {
1086
1086
  }
1087
1087
  // Comments of methods and properties without modifiers would print twice on the name.
1088
1088
  if ((modifiers === undefined || modifiers.nodes.length === 0) &&
1089
- (member.kind === 175 /* SyntaxKind.MethodDeclaration */ || member.kind === 173 /* SyntaxKind.PropertyDeclaration */))
1089
+ (member.kind === 176 /* SyntaxKind.MethodDeclaration */ || member.kind === 174 /* SyntaxKind.PropertyDeclaration */))
1090
1090
  context.setEmitFlags(result.name, 128 /* EmitFlags.NoLeadingComments */);
1091
1091
  return result;
1092
1092
  }
@@ -1551,7 +1551,7 @@ export class ESDecorators extends Transformer {
1551
1551
  return this.factory.updateSpreadElement(spread, this.visitDestructuringAssignmentTarget(spread.expression));
1552
1552
  return this.visitEachChild(node);
1553
1553
  }
1554
- if (node.kind !== 233 /* SyntaxKind.OmittedExpression */)
1554
+ if (node.kind !== 234 /* SyntaxKind.OmittedExpression */)
1555
1555
  return this.visitAssignmentElement(node);
1556
1556
  return this.visitEachChild(node);
1557
1557
  }
@@ -1858,9 +1858,9 @@ function getHelperVariableName(context, node) {
1858
1858
  declarationName = 'class';
1859
1859
  else
1860
1860
  declarationName = 'member';
1861
- if (node.kind === 178 /* SyntaxKind.GetAccessor */)
1861
+ if (node.kind === 179 /* SyntaxKind.GetAccessor */)
1862
1862
  declarationName = 'get_' + declarationName;
1863
- if (node.kind === 179 /* SyntaxKind.SetAccessor */)
1863
+ if (node.kind === 180 /* SyntaxKind.SetAccessor */)
1864
1864
  declarationName = 'set_' + declarationName;
1865
1865
  if (name instanceof PrivateIdentifier)
1866
1866
  declarationName = 'private_' + declarationName;
@@ -1875,9 +1875,9 @@ function isStaticPrivateOrAutoAccessor(member) {
1875
1875
  function keepsModifier(filter, kind) {
1876
1876
  switch (filter) {
1877
1877
  case 0 /* ModifierFilter.NoDecorators */:
1878
- return kind !== 171 /* SyntaxKind.Decorator */;
1878
+ return kind !== 172 /* SyntaxKind.Decorator */;
1879
1879
  case 1 /* ModifierFilter.NoExport */:
1880
- return kind !== 171 /* SyntaxKind.Decorator */ && kind !== 94 /* SyntaxKind.ExportKeyword */;
1880
+ return kind !== 172 /* SyntaxKind.Decorator */ && kind !== 94 /* SyntaxKind.ExportKeyword */;
1881
1881
  case 2 /* ModifierFilter.StaticOnly */:
1882
1882
  return kind === 125 /* SyntaxKind.StaticKeyword */;
1883
1883
  case 3 /* ModifierFilter.AsyncOnly */:
@@ -62,7 +62,7 @@ class ExternalModuleInfoCollector {
62
62
  if (node instanceof ImportDeclaration)
63
63
  output.externalImports.push(node);
64
64
  else if (node instanceof ImportEqualsDeclaration) {
65
- if (node.moduleReference.kind === 284 /* SyntaxKind.ExternalModuleReference */)
65
+ if (node.moduleReference.kind === 285 /* SyntaxKind.ExternalModuleReference */)
66
66
  output.externalImports.push(node);
67
67
  }
68
68
  else if (node instanceof ExportDeclaration)
@@ -319,12 +319,12 @@ export function createExternalHelpersImportDeclarationIfNeeded(context, file, op
319
319
  for (let i = 0; i < names.length; i++) {
320
320
  const name = names[i];
321
321
  // Aliased when the name is used in the file.
322
- specifiers.push(isFileLevelUniqueName(file, name)
322
+ specifiers.push(isFileLevelUniqueName(context.mostOriginal(file), name)
323
323
  ? factory.created(new ImportSpecifier(false, undefined, factory.createIdentifier(name)))
324
324
  : factory.created(new ImportSpecifier(false, factory.createIdentifier(name), factory.createUnscopedHelperName(name))));
325
325
  }
326
326
  context.addEmitFlags(context.mostOriginal(file), 262144 /* EmitFlags.ExternalHelpers */);
327
- const declaration = factory.created(new ImportDeclaration(273 /* SyntaxKind.ImportDeclaration */, undefined, factory.created(new ImportClause(undefined, undefined, factory.created(new NamedImports(factory.createNodeList(specifiers))))), factory.createStringLiteral(externalHelpersModuleNameText, 0 /* TokenFlags.None */), undefined));
327
+ const declaration = factory.created(new ImportDeclaration(274 /* SyntaxKind.ImportDeclaration */, undefined, factory.created(new ImportClause(undefined, undefined, factory.created(new NamedImports(factory.createNodeList(specifiers))))), factory.createStringLiteral(externalHelpersModuleNameText, 0 /* TokenFlags.None */), undefined));
328
328
  context.addEmitFlags(declaration, 65536 /* EmitFlags.CustomPrologue */);
329
329
  return declaration;
330
330
  }
@@ -34,12 +34,12 @@ export class AsyncIteration extends Transformer {
34
34
  if (this.superAccess.capturedSuperProperties === undefined)
35
35
  return node;
36
36
  switch (node.kind) {
37
- case 219 /* SyntaxKind.FunctionExpression */:
38
- case 263 /* SyntaxKind.FunctionDeclaration */:
39
- case 175 /* SyntaxKind.MethodDeclaration */:
40
- case 178 /* SyntaxKind.GetAccessor */:
41
- case 179 /* SyntaxKind.SetAccessor */:
42
- case 177 /* SyntaxKind.Constructor */:
37
+ case 220 /* SyntaxKind.FunctionExpression */:
38
+ case 264 /* SyntaxKind.FunctionDeclaration */:
39
+ case 176 /* SyntaxKind.MethodDeclaration */:
40
+ case 179 /* SyntaxKind.GetAccessor */:
41
+ case 180 /* SyntaxKind.SetAccessor */:
42
+ case 178 /* SyntaxKind.Constructor */:
43
43
  return node;
44
44
  }
45
45
  this.superAccess.track(node);
@@ -53,45 +53,45 @@ export class AsyncIteration extends Transformer {
53
53
  return this.fallback(node);
54
54
  this.superAccess.track(node);
55
55
  switch (node.kind) {
56
- case 307 /* SyntaxKind.SourceFile */:
56
+ case 308 /* SyntaxKind.SourceFile */:
57
57
  if (node instanceof SourceFile)
58
58
  return this.visitSourceFile(node);
59
59
  break;
60
- case 224 /* SyntaxKind.AwaitExpression */:
60
+ case 225 /* SyntaxKind.AwaitExpression */:
61
61
  if (node instanceof AwaitExpression)
62
62
  return this.visitAwaitExpression(node);
63
63
  break;
64
- case 230 /* SyntaxKind.YieldExpression */:
64
+ case 231 /* SyntaxKind.YieldExpression */:
65
65
  if (node instanceof YieldExpression)
66
66
  return this.visitYieldExpression(node);
67
67
  break;
68
- case 254 /* SyntaxKind.ReturnStatement */:
68
+ case 255 /* SyntaxKind.ReturnStatement */:
69
69
  if (node instanceof ReturnStatement)
70
70
  return this.visitReturnStatement(node);
71
71
  break;
72
- case 257 /* SyntaxKind.LabeledStatement */:
72
+ case 258 /* SyntaxKind.LabeledStatement */:
73
73
  if (node instanceof LabeledStatement)
74
74
  return this.visitLabeledStatement(node);
75
75
  break;
76
- case 247 /* SyntaxKind.DoStatement */:
77
- case 248 /* SyntaxKind.WhileStatement */:
78
- case 250 /* SyntaxKind.ForInStatement */:
79
- case 249 /* SyntaxKind.ForStatement */:
76
+ case 248 /* SyntaxKind.DoStatement */:
77
+ case 249 /* SyntaxKind.WhileStatement */:
78
+ case 251 /* SyntaxKind.ForInStatement */:
79
+ case 250 /* SyntaxKind.ForStatement */:
80
80
  return this.visitWithFacts(node, 0 /* HierarchyFacts.None */, 2 /* HierarchyFacts.IterationContainer */);
81
- case 251 /* SyntaxKind.ForOfStatement */:
81
+ case 252 /* SyntaxKind.ForOfStatement */:
82
82
  if (node instanceof ForInOrOfStatement)
83
83
  return this.visitForOfStatement(node, undefined);
84
84
  break;
85
- case 220 /* SyntaxKind.ArrowFunction */:
85
+ case 221 /* SyntaxKind.ArrowFunction */:
86
86
  return this.visitWithFacts(node, 2 /* HierarchyFacts.IterationContainer */, 0 /* HierarchyFacts.None */);
87
- case 177 /* SyntaxKind.Constructor */:
88
- case 175 /* SyntaxKind.MethodDeclaration */:
89
- case 178 /* SyntaxKind.GetAccessor */:
90
- case 179 /* SyntaxKind.SetAccessor */:
91
- case 263 /* SyntaxKind.FunctionDeclaration */:
92
- case 219 /* SyntaxKind.FunctionExpression */:
93
- case 264 /* SyntaxKind.ClassDeclaration */:
94
- case 232 /* SyntaxKind.ClassExpression */:
87
+ case 178 /* SyntaxKind.Constructor */:
88
+ case 176 /* SyntaxKind.MethodDeclaration */:
89
+ case 179 /* SyntaxKind.GetAccessor */:
90
+ case 180 /* SyntaxKind.SetAccessor */:
91
+ case 264 /* SyntaxKind.FunctionDeclaration */:
92
+ case 220 /* SyntaxKind.FunctionExpression */:
93
+ case 265 /* SyntaxKind.ClassDeclaration */:
94
+ case 233 /* SyntaxKind.ClassExpression */:
95
95
  return this.visitWithFacts(node, 2 /* HierarchyFacts.IterationContainer */, 1 /* HierarchyFacts.HasLexicalThis */);
96
96
  }
97
97
  return this.visitEachChild(node);
@@ -15,7 +15,7 @@ export class ImportElision extends Transformer {
15
15
  visit(node) {
16
16
  const factory = this.factory;
17
17
  switch (node.kind) {
18
- case 307 /* SyntaxKind.SourceFile */:
18
+ case 308 /* SyntaxKind.SourceFile */:
19
19
  if (node instanceof SourceFile) {
20
20
  const original = this.context.mostOriginal(node);
21
21
  if (original instanceof SourceFile)
@@ -27,9 +27,9 @@ export class ImportElision extends Transformer {
27
27
  return result;
28
28
  }
29
29
  break;
30
- case 272 /* SyntaxKind.ImportEqualsDeclaration */:
30
+ case 273 /* SyntaxKind.ImportEqualsDeclaration */:
31
31
  if (node instanceof ImportEqualsDeclaration) {
32
- const keep = node.moduleReference.kind === 284 /* SyntaxKind.ExternalModuleReference */
32
+ const keep = node.moduleReference.kind === 285 /* SyntaxKind.ExternalModuleReference */
33
33
  ? this.shouldEmitAliasDeclaration(node)
34
34
  : this.shouldEmitAliasDeclaration(node) ||
35
35
  (this.currentSourceFile !== undefined &&
@@ -38,7 +38,7 @@ export class ImportElision extends Transformer {
38
38
  return keep ? this.visitEachChild(node) : undefined;
39
39
  }
40
40
  break;
41
- case 273 /* SyntaxKind.ImportDeclaration */:
41
+ case 274 /* SyntaxKind.ImportDeclaration */:
42
42
  if (node instanceof ImportDeclaration) {
43
43
  if (node.importClause === undefined)
44
44
  return this.visitEachChild(node);
@@ -49,7 +49,7 @@ export class ImportElision extends Transformer {
49
49
  return factory.updateImportDeclaration(node, node.modifiers, importClause, node.moduleSpecifier, this.importAttributes(node.attributes));
50
50
  }
51
51
  break;
52
- case 274 /* SyntaxKind.ImportClause */:
52
+ case 275 /* SyntaxKind.ImportClause */:
53
53
  if (node instanceof ImportClause) {
54
54
  const name = this.shouldEmitAliasDeclaration(node) ? node.name : undefined;
55
55
  const bindings = this.visitNode(node.namedBindings);
@@ -58,23 +58,23 @@ export class ImportElision extends Transformer {
58
58
  return factory.updateImportClause(node, node.phaseModifier, name, bindings);
59
59
  }
60
60
  break;
61
- case 275 /* SyntaxKind.NamespaceImport */:
62
- case 277 /* SyntaxKind.ImportSpecifier */:
61
+ case 276 /* SyntaxKind.NamespaceImport */:
62
+ case 278 /* SyntaxKind.ImportSpecifier */:
63
63
  return this.shouldEmitAliasDeclaration(node) ? node : undefined;
64
- case 276 /* SyntaxKind.NamedImports */:
64
+ case 277 /* SyntaxKind.NamedImports */:
65
65
  if (node instanceof NamedImports) {
66
66
  const elements = this.visitNodes(node.elements);
67
67
  return elements.nodes.length === 0 ? undefined : factory.updateNamedImports(node, elements);
68
68
  }
69
69
  break;
70
- case 278 /* SyntaxKind.ExportAssignment */:
70
+ case 279 /* SyntaxKind.ExportAssignment */:
71
71
  if (node instanceof ExportAssignment) {
72
72
  if (this.options.verbatimModuleSyntax !== true && !this.isValueAliasDeclaration(node))
73
73
  return undefined;
74
74
  return this.visitEachChild(node);
75
75
  }
76
76
  break;
77
- case 279 /* SyntaxKind.ExportDeclaration */:
77
+ case 280 /* SyntaxKind.ExportDeclaration */:
78
78
  if (node instanceof ExportDeclaration) {
79
79
  let clause = undefined;
80
80
  if (node.exportClause !== undefined) {
@@ -85,16 +85,16 @@ export class ImportElision extends Transformer {
85
85
  return factory.updateExportDeclaration(node, undefined, false, clause, this.visitNode(node.moduleSpecifier), this.importAttributes(node.attributes));
86
86
  }
87
87
  break;
88
- case 280 /* SyntaxKind.NamedExports */:
88
+ case 281 /* SyntaxKind.NamedExports */:
89
89
  if (node instanceof NamedExports) {
90
90
  const elements = this.visitNodes(node.elements);
91
91
  return elements.nodes.length === 0 ? undefined : factory.updateNamedExports(node, elements);
92
92
  }
93
93
  break;
94
- case 282 /* SyntaxKind.ExportSpecifier */:
94
+ case 283 /* SyntaxKind.ExportSpecifier */:
95
95
  return this.isValueAliasDeclaration(node) ? node : undefined;
96
- case 268 /* SyntaxKind.ModuleDeclaration */:
97
- case 269 /* SyntaxKind.ModuleBlock */:
96
+ case 269 /* SyntaxKind.ModuleDeclaration */:
97
+ case 270 /* SyntaxKind.ModuleBlock */:
98
98
  return this.visitEachChild(node);
99
99
  }
100
100
  return node;
@@ -1,6 +1,6 @@
1
1
  // Transforms JSX into calls of the JSX factory (`jsx: react`) or of the automatic runtime
2
2
  // (`react-jsx`, `react-jsxdev`), importing the runtime's functions.
3
- import { BindingElement, BindingPattern, Identifier, ImportClause, ImportDeclaration, ImportSpecifier, JsxAttribute, JsxExpression, JsxNamespacedName, JsxSpreadAttribute, JsxText, ModuleDeclaration, NamedImports, ObjectLiteralExpression, PropertyAssignment, QualifiedName, SourceFile, SpreadAssignment, SpreadElement, StringLiteral, ArrayLiteralExpression, getTagName, } from '../ast.js';
3
+ import { BindingElement, BindingPattern, Identifier, ImportClause, ImportDeclaration, ImportSpecifier, JsxAttribute, JsxExpression, JsxNamespacedName, JsxSpreadAttribute, JsxText, ModuleDeclaration, NamedImports, ObjectLiteralExpression, PropertyAssignment, QualifiedName, SourceFile, SpreadAssignment, SpreadElement, StringLiteral, ArrayLiteralExpression, getTagName, getText, } from '../ast.js';
4
4
  import { isExternalOrCommonJSModule } from '../binder-utilities.js';
5
5
  import { isLineBreak, isWhiteSpaceSingleLine } from '../character-codes.js';
6
6
  import { JsxEmit, ScriptTarget, getEmitScriptTarget } from '../options.js';
@@ -53,19 +53,19 @@ export class JsxTransformer extends Transformer {
53
53
  if (!this.facts.has(node, 2 /* SubtreeFacts.ContainsJsx */))
54
54
  return node;
55
55
  switch (node.kind) {
56
- case 307 /* SyntaxKind.SourceFile */:
56
+ case 308 /* SyntaxKind.SourceFile */:
57
57
  this.inChild = false;
58
58
  return this.visitSourceFile(node);
59
- case 285 /* SyntaxKind.JsxElement */:
59
+ case 286 /* SyntaxKind.JsxElement */:
60
60
  return this.visitJsxElement(node);
61
- case 286 /* SyntaxKind.JsxSelfClosingElement */:
61
+ case 287 /* SyntaxKind.JsxSelfClosingElement */:
62
62
  return this.visitJsxSelfClosingElement(node);
63
- case 289 /* SyntaxKind.JsxFragment */:
63
+ case 290 /* SyntaxKind.JsxFragment */:
64
64
  return this.visitJsxFragment(node);
65
65
  case 11 /* SyntaxKind.JsxText */:
66
66
  this.inChild = false;
67
67
  return this.visitJsxText(node);
68
- case 295 /* SyntaxKind.JsxExpression */:
68
+ case 296 /* SyntaxKind.JsxExpression */:
69
69
  this.inChild = false;
70
70
  return this.visitJsxExpression(node);
71
71
  }
@@ -119,7 +119,7 @@ export class JsxTransformer extends Transformer {
119
119
  specifiers[i].parent = named;
120
120
  const clause = factory.created(new ImportClause(undefined, undefined, named));
121
121
  named.parent = clause;
122
- const declaration = factory.created(new ImportDeclaration(273 /* SyntaxKind.ImportDeclaration */, undefined, clause, factory.createStringLiteral(imports.source, 0 /* TokenFlags.None */), undefined));
122
+ const declaration = factory.created(new ImportDeclaration(274 /* SyntaxKind.ImportDeclaration */, undefined, clause, factory.createStringLiteral(imports.source, 0 /* TokenFlags.None */), undefined));
123
123
  clause.parent = declaration;
124
124
  return declaration;
125
125
  }
@@ -130,7 +130,7 @@ export class JsxTransformer extends Transformer {
130
130
  const elements = [];
131
131
  for (let i = 0; i < specifiers.length; i++)
132
132
  elements.push(factory.created(new BindingElement(undefined, specifiers[i].propertyName, specifiers[i].name, undefined)));
133
- const pattern = factory.created(new BindingPattern(207 /* SyntaxKind.ObjectBindingPattern */, factory.createNodeList(elements)));
133
+ const pattern = factory.created(new BindingPattern(208 /* SyntaxKind.ObjectBindingPattern */, factory.createNodeList(elements)));
134
134
  const require = factory.createCallExpression(factory.createIdentifier('require'), [
135
135
  factory.createStringLiteral(imports.source, 0 /* TokenFlags.None */),
136
136
  ]);
@@ -412,9 +412,9 @@ export class JsxTransformer extends Transformer {
412
412
  return factory.createTrue();
413
413
  return this.visit(node.expression);
414
414
  }
415
- if (node.kind === 285 /* SyntaxKind.JsxElement */ ||
416
- node.kind === 286 /* SyntaxKind.JsxSelfClosingElement */ ||
417
- node.kind === 289 /* SyntaxKind.JsxFragment */) {
415
+ if (node.kind === 286 /* SyntaxKind.JsxElement */ ||
416
+ node.kind === 287 /* SyntaxKind.JsxSelfClosingElement */ ||
417
+ node.kind === 290 /* SyntaxKind.JsxFragment */) {
418
418
  this.inChild = false;
419
419
  return this.visit(node);
420
420
  }
@@ -436,7 +436,7 @@ export class JsxTransformer extends Transformer {
436
436
  expressionFromEntityName(entity, parent) {
437
437
  if (entity instanceof QualifiedName) {
438
438
  const left = this.expressionFromEntityName(entity.left, parent);
439
- return this.factory.createPropertyAccessExpression(left, this.factory.createIdentifier(entity.right.text));
439
+ return this.factory.createPropertyAccessExpression(left, this.factory.createIdentifier(getText(entity.right)));
440
440
  }
441
441
  return this.createReactNamespace(entity.text, parent);
442
442
  }