@scriptc/compiler 0.4.6 → 0.4.7

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 (652) hide show
  1. package/ambient/node-fallback/events.d.ts +6 -1
  2. package/ambient/node-fallback/fs-promises.d.ts +1 -1
  3. package/ambient/node-fallback/fs.d.ts +54 -10
  4. package/ambient/node-fallback/http.d.ts +3 -1
  5. package/ambient/node-fallback/net.d.ts +19 -0
  6. package/ambient/node-fallback/querystring.d.ts +3 -3
  7. package/ambient/scriptc-node-fallback.d.ts +58 -13
  8. package/dist/backend/executable-features.js +13 -0
  9. package/dist/backend/executable-features.js.map +1 -1
  10. package/dist/backend/immutability.d.ts +12 -1
  11. package/dist/backend/immutability.js +50 -4
  12. package/dist/backend/immutability.js.map +1 -1
  13. package/dist/backend/immutability.test.js +95 -1
  14. package/dist/backend/immutability.test.js.map +1 -1
  15. package/dist/backend/library-pack.js +2 -0
  16. package/dist/backend/library-pack.js.map +1 -1
  17. package/dist/backend/linker.d.ts +11 -0
  18. package/dist/backend/linker.js +31 -3
  19. package/dist/backend/linker.js.map +1 -1
  20. package/dist/backend/lld.d.ts +7 -2
  21. package/dist/backend/lld.js +5 -3
  22. package/dist/backend/lld.js.map +1 -1
  23. package/dist/backend/lld.test.js +10 -4
  24. package/dist/backend/lld.test.js.map +1 -1
  25. package/dist/backend/llvm/constant-callbacks.test.js +50 -1
  26. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  27. package/dist/backend/llvm/cpu-dispatch.js +6 -5
  28. package/dist/backend/llvm/cpu-dispatch.js.map +1 -1
  29. package/dist/backend/llvm/dyn.d.ts +53 -1
  30. package/dist/backend/llvm/dyn.js +221 -9
  31. package/dist/backend/llvm/dyn.js.map +1 -1
  32. package/dist/backend/llvm/emit-function.js +1 -1
  33. package/dist/backend/llvm/emit-function.js.map +1 -1
  34. package/dist/backend/llvm/emit-module.js +148 -50
  35. package/dist/backend/llvm/emit-module.js.map +1 -1
  36. package/dist/backend/llvm/emit-statements.js +39 -19
  37. package/dist/backend/llvm/emit-statements.js.map +1 -1
  38. package/dist/backend/llvm/emitter.d.ts +29 -2
  39. package/dist/backend/llvm/emitter.js +86 -7
  40. package/dist/backend/llvm/emitter.js.map +1 -1
  41. package/dist/backend/llvm/expr-calls.d.ts +4 -1
  42. package/dist/backend/llvm/expr-calls.js +20 -4
  43. package/dist/backend/llvm/expr-calls.js.map +1 -1
  44. package/dist/backend/llvm/expr-dynamic.js +209 -16
  45. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  46. package/dist/backend/llvm/expr-primitives.js +94 -11
  47. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  48. package/dist/backend/llvm/expr-stream-bridges.d.ts +8 -0
  49. package/dist/backend/llvm/expr-stream-bridges.js +42 -2
  50. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  51. package/dist/backend/llvm/expr-stream-callbacks.d.ts +16 -0
  52. package/dist/backend/llvm/expr-stream-callbacks.js +206 -20
  53. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  54. package/dist/backend/llvm/integer-values.d.ts +2 -0
  55. package/dist/backend/llvm/integer-values.js +6 -0
  56. package/dist/backend/llvm/integer-values.js.map +1 -1
  57. package/dist/backend/llvm/js-ic.d.ts +38 -0
  58. package/dist/backend/llvm/js-ic.js +295 -1
  59. package/dist/backend/llvm/js-ic.js.map +1 -1
  60. package/dist/backend/llvm/lib-dispatch.js +20 -0
  61. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  62. package/dist/backend/llvm/lib-filesystem.js +116 -11
  63. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  64. package/dist/backend/llvm/lib-process.js +136 -24
  65. package/dist/backend/llvm/lib-process.js.map +1 -1
  66. package/dist/backend/llvm/lib-shared.js +70 -0
  67. package/dist/backend/llvm/lib-shared.js.map +1 -1
  68. package/dist/backend/llvm/lib-stream.js +67 -0
  69. package/dist/backend/llvm/lib-stream.js.map +1 -1
  70. package/dist/backend/llvm/loop-entry-versions.d.ts +2 -2
  71. package/dist/backend/llvm/loop-entry-versions.js +43 -21
  72. package/dist/backend/llvm/loop-entry-versions.js.map +1 -1
  73. package/dist/backend/llvm/loop-state.d.ts +7 -1
  74. package/dist/backend/llvm/loop-state.js +20 -2
  75. package/dist/backend/llvm/loop-state.js.map +1 -1
  76. package/dist/backend/llvm/map-number-lookup.d.ts +3 -1
  77. package/dist/backend/llvm/map-number-lookup.js +7 -3
  78. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  79. package/dist/backend/llvm/map-number-lookup.test.js +52 -11
  80. package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
  81. package/dist/backend/llvm/receiver-brackets.test.d.ts +1 -0
  82. package/dist/backend/llvm/receiver-brackets.test.js +68 -0
  83. package/dist/backend/llvm/receiver-brackets.test.js.map +1 -0
  84. package/dist/backend/llvm/record-views.d.ts +22 -2
  85. package/dist/backend/llvm/record-views.js +139 -10
  86. package/dist/backend/llvm/record-views.js.map +1 -1
  87. package/dist/backend/llvm/record-views.test.js +76 -0
  88. package/dist/backend/llvm/record-views.test.js.map +1 -1
  89. package/dist/backend/llvm/reference-writes.js +1 -0
  90. package/dist/backend/llvm/reference-writes.js.map +1 -1
  91. package/dist/backend/llvm/shapes.d.ts +3 -0
  92. package/dist/backend/llvm/shapes.js +18 -3
  93. package/dist/backend/llvm/shapes.js.map +1 -1
  94. package/dist/backend/llvm/shapes.test.js +4 -0
  95. package/dist/backend/llvm/shapes.test.js.map +1 -1
  96. package/dist/backend/llvm/speculative-integers.d.ts +10 -1
  97. package/dist/backend/llvm/speculative-integers.js +59 -8
  98. package/dist/backend/llvm/speculative-integers.js.map +1 -1
  99. package/dist/backend/llvm/unwind-abi.d.ts +3 -3
  100. package/dist/backend/llvm/unwind-abi.js +8 -3
  101. package/dist/backend/llvm/unwind-abi.js.map +1 -1
  102. package/dist/backend/llvm/walkers.js +1 -1
  103. package/dist/backend/llvm/walkers.js.map +1 -1
  104. package/dist/backend/native/contracts.d.ts +54 -0
  105. package/dist/backend/native/executable.js +87 -5
  106. package/dist/backend/native/executable.js.map +1 -1
  107. package/dist/backend/native/library.js +1 -1
  108. package/dist/backend/native/library.js.map +1 -1
  109. package/dist/backend/native/runtime-inputs.js +5 -1
  110. package/dist/backend/native/runtime-inputs.js.map +1 -1
  111. package/dist/backend/native/vendor.d.ts +1 -1
  112. package/dist/backend/native/vendor.js +1 -1
  113. package/dist/backend/native/vendor.js.map +1 -1
  114. package/dist/backend/native-codegen.js +3 -0
  115. package/dist/backend/native-codegen.js.map +1 -1
  116. package/dist/backend/native-link-info-core.d.ts +43 -0
  117. package/dist/backend/native-link-info-core.js.map +1 -1
  118. package/dist/backend/native-link-info.js +1 -0
  119. package/dist/backend/native-link-info.js.map +1 -1
  120. package/dist/backend/native-profile.d.ts +4 -1
  121. package/dist/backend/native-profile.js +12 -1
  122. package/dist/backend/native-profile.js.map +1 -1
  123. package/dist/backend/native-profile.test.js +10 -0
  124. package/dist/backend/native-profile.test.js.map +1 -1
  125. package/dist/backend/publication.d.ts +4 -1
  126. package/dist/backend/publication.js +4 -2
  127. package/dist/backend/publication.js.map +1 -1
  128. package/dist/backend/runtime-abi.d.ts +2 -2
  129. package/dist/backend/runtime-abi.js +2 -2
  130. package/dist/backend/runtime-pack-core.d.ts +31 -7
  131. package/dist/backend/runtime-pack-core.js +21 -1
  132. package/dist/backend/runtime-pack-core.js.map +1 -1
  133. package/dist/backend/runtime-pack-native.d.ts +18 -1
  134. package/dist/backend/runtime-pack-native.js +138 -29
  135. package/dist/backend/runtime-pack-native.js.map +1 -1
  136. package/dist/backend/runtime-pack-native.test.js +166 -4
  137. package/dist/backend/runtime-pack-native.test.js.map +1 -1
  138. package/dist/backend/runtime-pack-targets.test.js +3 -1
  139. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  140. package/dist/backend/runtime-pack.d.ts +7 -0
  141. package/dist/backend/runtime-pack.js +25 -3
  142. package/dist/backend/runtime-pack.js.map +1 -1
  143. package/dist/backend/runtime-pack.test.js +3 -11
  144. package/dist/backend/runtime-pack.test.js.map +1 -1
  145. package/dist/backend/vendor-archives.d.ts +4 -1
  146. package/dist/backend/vendor-archives.js +264 -3
  147. package/dist/backend/vendor-archives.js.map +1 -1
  148. package/dist/backend/vendor-inputs.d.ts +36 -0
  149. package/dist/backend/vendor-inputs.js +42 -0
  150. package/dist/backend/vendor-inputs.js.map +1 -1
  151. package/dist/backend/vendor-inputs.test.js +28 -1
  152. package/dist/backend/vendor-inputs.test.js.map +1 -1
  153. package/dist/backend/warm-cache.js +2 -0
  154. package/dist/backend/warm-cache.js.map +1 -1
  155. package/dist/compat/fetch-profile.d.ts +7 -1
  156. package/dist/compat/fetch-profile.js +23 -10
  157. package/dist/compat/fetch-profile.js.map +1 -1
  158. package/dist/compile-types.d.ts +7 -0
  159. package/dist/contracts/check.d.ts +3 -0
  160. package/dist/contracts/check.js +18 -5
  161. package/dist/contracts/check.js.map +1 -1
  162. package/dist/coverage/surface-manifest.js +1 -1
  163. package/dist/coverage/surface-manifest.js.map +1 -1
  164. package/dist/diagnostics/codes.d.ts +6 -0
  165. package/dist/diagnostics/codes.js +6 -0
  166. package/dist/diagnostics/codes.js.map +1 -1
  167. package/dist/diagnostics/diagnostic.d.ts +50 -0
  168. package/dist/diagnostics/diagnostic.js +142 -3
  169. package/dist/diagnostics/diagnostic.js.map +1 -1
  170. package/dist/diagnostics/dynamic-tier.js +3 -1
  171. package/dist/diagnostics/dynamic-tier.js.map +1 -1
  172. package/dist/executable/executable-cache.d.ts +29 -0
  173. package/dist/executable/executable-cache.js +18 -0
  174. package/dist/executable/executable-cache.js.map +1 -1
  175. package/dist/executable/executable-cache.test.js +5 -1
  176. package/dist/executable/executable-cache.test.js.map +1 -1
  177. package/dist/executable/prepare.d.ts +13 -3
  178. package/dist/executable/prepare.js +271 -18
  179. package/dist/executable/prepare.js.map +1 -1
  180. package/dist/frontend/early-errors.d.ts +14 -0
  181. package/dist/frontend/early-errors.js +305 -0
  182. package/dist/frontend/early-errors.js.map +1 -0
  183. package/dist/frontend/early-errors.test.d.ts +1 -0
  184. package/dist/frontend/early-errors.test.js +42 -0
  185. package/dist/frontend/early-errors.test.js.map +1 -0
  186. package/dist/frontend/inferred-js-diagnostics.test.js +23 -0
  187. package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
  188. package/dist/frontend/input-tracker.d.ts +47 -0
  189. package/dist/frontend/input-tracker.js +173 -36
  190. package/dist/frontend/input-tracker.js.map +1 -1
  191. package/dist/frontend/input-tracker.test.js +86 -2
  192. package/dist/frontend/input-tracker.test.js.map +1 -1
  193. package/dist/frontend/js-inference.d.ts +2 -0
  194. package/dist/frontend/js-inference.js +18 -0
  195. package/dist/frontend/js-inference.js.map +1 -0
  196. package/dist/frontend/lowering/binding-analysis.d.ts +2 -1
  197. package/dist/frontend/lowering/binding-analysis.js +65 -1
  198. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  199. package/dist/frontend/lowering/builtin-calls.js +9 -0
  200. package/dist/frontend/lowering/builtin-calls.js.map +1 -1
  201. package/dist/frontend/lowering/builtin-namespaces.d.ts +1 -1
  202. package/dist/frontend/lowering/builtin-namespaces.js +19 -2
  203. package/dist/frontend/lowering/builtin-namespaces.js.map +1 -1
  204. package/dist/frontend/lowering/builtins/child-process-methods.d.ts +7 -0
  205. package/dist/frontend/lowering/builtins/child-process-methods.js +50 -10
  206. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
  207. package/dist/frontend/lowering/builtins/child-process.js +5 -1
  208. package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
  209. package/dist/frontend/lowering/builtins/dates.d.ts +1 -1
  210. package/dist/frontend/lowering/builtins/dates.js +23 -1
  211. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  212. package/dist/frontend/lowering/builtins/environment.d.ts +55 -0
  213. package/dist/frontend/lowering/builtins/environment.js +213 -2
  214. package/dist/frontend/lowering/builtins/environment.js.map +1 -1
  215. package/dist/frontend/lowering/builtins/filesystem-calls.js +47 -16
  216. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  217. package/dist/frontend/lowering/builtins/filesystem.d.ts +25 -7
  218. package/dist/frontend/lowering/builtins/filesystem.js +185 -16
  219. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
  220. package/dist/frontend/lowering/builtins/module-calls.js +39 -2
  221. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  222. package/dist/frontend/lowering/builtins/module-resolution.d.ts +8 -0
  223. package/dist/frontend/lowering/builtins/module-resolution.js +31 -5
  224. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
  225. package/dist/frontend/lowering/builtins/operating-system.d.ts +3 -2
  226. package/dist/frontend/lowering/builtins/operating-system.js +5 -4
  227. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
  228. package/dist/frontend/lowering/builtins/process.d.ts +17 -1
  229. package/dist/frontend/lowering/builtins/process.js +285 -19
  230. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  231. package/dist/frontend/lowering/builtins/querystring.d.ts +8 -0
  232. package/dist/frontend/lowering/builtins/querystring.js +202 -18
  233. package/dist/frontend/lowering/builtins/querystring.js.map +1 -1
  234. package/dist/frontend/lowering/builtins/readline.js +21 -3
  235. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  236. package/dist/frontend/lowering/builtins/reflection.js +60 -1
  237. package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
  238. package/dist/frontend/lowering/builtins/text-codecs.js +208 -59
  239. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
  240. package/dist/frontend/lowering/builtins/url.js +20 -1
  241. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  242. package/dist/frontend/lowering/builtins/v8.d.ts +5 -5
  243. package/dist/frontend/lowering/builtins/v8.js +7 -5
  244. package/dist/frontend/lowering/builtins/v8.js.map +1 -1
  245. package/dist/frontend/lowering/builtins/web-streams-dyn.d.ts +17 -2
  246. package/dist/frontend/lowering/builtins/web-streams-dyn.js +97 -9
  247. package/dist/frontend/lowering/builtins/web-streams-dyn.js.map +1 -1
  248. package/dist/frontend/lowering/call-signatures.js +77 -0
  249. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  250. package/dist/frontend/lowering/cjs-exports-object.d.ts +3 -0
  251. package/dist/frontend/lowering/cjs-exports-object.js +1 -1
  252. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -1
  253. package/dist/frontend/lowering/cjs-inline-require.js +5 -0
  254. package/dist/frontend/lowering/cjs-inline-require.js.map +1 -1
  255. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +5 -0
  256. package/dist/frontend/lowering/class-dynamic-dispatch.js +114 -0
  257. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  258. package/dist/frontend/lowering/class-protocols.js +59 -10
  259. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  260. package/dist/frontend/lowering/class-runtime-statics.js +15 -0
  261. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  262. package/dist/frontend/lowering/class-views.d.ts +13 -0
  263. package/dist/frontend/lowering/class-views.js +51 -0
  264. package/dist/frontend/lowering/class-views.js.map +1 -0
  265. package/dist/frontend/lowering/coercions/function-adapters.d.ts +15 -1
  266. package/dist/frontend/lowering/coercions/function-adapters.js +54 -10
  267. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  268. package/dist/frontend/lowering/coercions/state.d.ts +7 -0
  269. package/dist/frontend/lowering/coercions/state.js +7 -0
  270. package/dist/frontend/lowering/coercions/state.js.map +1 -1
  271. package/dist/frontend/lowering/coercions/structural-plans.js +60 -3
  272. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  273. package/dist/frontend/lowering/coercions/structural.js +29 -1
  274. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  275. package/dist/frontend/lowering/containers/array-callbacks.d.ts +8 -1
  276. package/dist/frontend/lowering/containers/array-callbacks.js +132 -28
  277. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  278. package/dist/frontend/lowering/containers/array-construction.js +16 -5
  279. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  280. package/dist/frontend/lowering/containers/array-methods.js +16 -0
  281. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  282. package/dist/frontend/lowering/containers/bytes.js +4 -0
  283. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  284. package/dist/frontend/lowering/containers/callback-arguments.d.ts +11 -0
  285. package/dist/frontend/lowering/containers/callback-arguments.js +53 -0
  286. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  287. package/dist/frontend/lowering/containers/filter-predicates.d.ts +10 -0
  288. package/dist/frontend/lowering/containers/filter-predicates.js +69 -3
  289. package/dist/frontend/lowering/containers/filter-predicates.js.map +1 -1
  290. package/dist/frontend/lowering/containers/indexed-objects.js +46 -2
  291. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  292. package/dist/frontend/lowering/expressions/array-literals.d.ts +14 -0
  293. package/dist/frontend/lowering/expressions/array-literals.js +26 -10
  294. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
  295. package/dist/frontend/lowering/expressions/binary.js +104 -12
  296. package/dist/frontend/lowering/expressions/binary.js.map +1 -1
  297. package/dist/frontend/lowering/expressions/element-access.js +121 -4
  298. package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
  299. package/dist/frontend/lowering/expressions/identifiers.js +143 -3
  300. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
  301. package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +11 -1
  302. package/dist/frontend/lowering/expressions/keyed-field-targets.js +22 -1
  303. package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -1
  304. package/dist/frontend/lowering/expressions/narrowing.js +25 -1
  305. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
  306. package/dist/frontend/lowering/expressions/object-literals.d.ts +5 -1
  307. package/dist/frontend/lowering/expressions/object-literals.js +778 -229
  308. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  309. package/dist/frontend/lowering/expressions/optional-chains.js +66 -20
  310. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  311. package/dist/frontend/lowering/expressions/property-access.d.ts +31 -0
  312. package/dist/frontend/lowering/expressions/property-access.js +796 -12
  313. package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
  314. package/dist/frontend/lowering/expressions/relational.js +29 -1
  315. package/dist/frontend/lowering/expressions/relational.js.map +1 -1
  316. package/dist/frontend/lowering/expressions/typeof.js +17 -0
  317. package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
  318. package/dist/frontend/lowering/expressions/updates.js +132 -17
  319. package/dist/frontend/lowering/expressions/updates.js.map +1 -1
  320. package/dist/frontend/lowering/frozen-records.d.ts +6 -0
  321. package/dist/frontend/lowering/frozen-records.js +10 -4
  322. package/dist/frontend/lowering/frozen-records.js.map +1 -1
  323. package/dist/frontend/lowering/frozen-records.test.d.ts +1 -0
  324. package/dist/frontend/lowering/frozen-records.test.js +44 -0
  325. package/dist/frontend/lowering/frozen-records.test.js.map +1 -0
  326. package/dist/frontend/lowering/function-names.d.ts +9 -0
  327. package/dist/frontend/lowering/function-names.js +95 -0
  328. package/dist/frontend/lowering/function-names.js.map +1 -0
  329. package/dist/frontend/lowering/function-returns.js +5 -3
  330. package/dist/frontend/lowering/function-returns.js.map +1 -1
  331. package/dist/frontend/lowering/generic-functions.d.ts +49 -0
  332. package/dist/frontend/lowering/generic-functions.js +365 -7
  333. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  334. package/dist/frontend/lowering/global-values.d.ts +9 -0
  335. package/dist/frontend/lowering/global-values.js +44 -0
  336. package/dist/frontend/lowering/global-values.js.map +1 -1
  337. package/dist/frontend/lowering/handle-properties.js +34 -1
  338. package/dist/frontend/lowering/handle-properties.js.map +1 -1
  339. package/dist/frontend/lowering/key-order-witness.d.ts +54 -0
  340. package/dist/frontend/lowering/key-order-witness.js +546 -5
  341. package/dist/frontend/lowering/key-order-witness.js.map +1 -1
  342. package/dist/frontend/lowering/lib-boundary.js +14 -0
  343. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  344. package/dist/frontend/lowering/lower-assert.js +110 -1
  345. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  346. package/dist/frontend/lowering/lower-builtin-values.d.ts +36 -6
  347. package/dist/frontend/lowering/lower-builtin-values.js +332 -58
  348. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  349. package/dist/frontend/lowering/lower-calls.d.ts +22 -1
  350. package/dist/frontend/lowering/lower-calls.js +427 -48
  351. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  352. package/dist/frontend/lowering/lower-calls.test.d.ts +1 -0
  353. package/dist/frontend/lowering/lower-calls.test.js +78 -0
  354. package/dist/frontend/lowering/lower-calls.test.js.map +1 -0
  355. package/dist/frontend/lowering/lower-classes.d.ts +16 -5
  356. package/dist/frontend/lowering/lower-classes.js +168 -51
  357. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  358. package/dist/frontend/lowering/lower-event-emitter.d.ts +9 -0
  359. package/dist/frontend/lowering/lower-event-emitter.js +383 -41
  360. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  361. package/dist/frontend/lowering/lower-exprs.d.ts +14 -0
  362. package/dist/frontend/lowering/lower-exprs.js +25 -0
  363. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  364. package/dist/frontend/lowering/lower-functions.js +2 -0
  365. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  366. package/dist/frontend/lowering/lower-inspect.js +80 -33
  367. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  368. package/dist/frontend/lowering/lower-modules.js +87 -25
  369. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  370. package/dist/frontend/lowering/lower-node-island.d.ts +35 -4
  371. package/dist/frontend/lowering/lower-node-island.js +456 -61
  372. package/dist/frontend/lowering/lower-node-island.js.map +1 -1
  373. package/dist/frontend/lowering/lower-server.js +160 -9
  374. package/dist/frontend/lowering/lower-server.js.map +1 -1
  375. package/dist/frontend/lowering/lower-shared-modules.js +13 -1
  376. package/dist/frontend/lowering/lower-shared-modules.js.map +1 -1
  377. package/dist/frontend/lowering/lower-stdlib.d.ts +3 -2
  378. package/dist/frontend/lowering/lower-stdlib.js +32 -18
  379. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  380. package/dist/frontend/lowering/lower-stmts.d.ts +21 -4
  381. package/dist/frontend/lowering/lower-stmts.js +580 -103
  382. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  383. package/dist/frontend/lowering/lower-stream.js +126 -8
  384. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  385. package/dist/frontend/lowering/lower-timers.js +133 -21
  386. package/dist/frontend/lowering/lower-timers.js.map +1 -1
  387. package/dist/frontend/lowering/lowerer.d.ts +139 -3
  388. package/dist/frontend/lowering/lowerer.js +579 -43
  389. package/dist/frontend/lowering/lowerer.js.map +1 -1
  390. package/dist/frontend/lowering/lowerer.test.js +1 -1
  391. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  392. package/dist/frontend/lowering/module-namespace-elements.js +15 -0
  393. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  394. package/dist/frontend/lowering/new-target.js +2 -2
  395. package/dist/frontend/lowering/nullish-empty-pattern.d.ts +17 -0
  396. package/dist/frontend/lowering/nullish-empty-pattern.js +118 -0
  397. package/dist/frontend/lowering/nullish-empty-pattern.js.map +1 -0
  398. package/dist/frontend/lowering/partial-assertions.d.ts +39 -0
  399. package/dist/frontend/lowering/partial-assertions.js +195 -0
  400. package/dist/frontend/lowering/partial-assertions.js.map +1 -0
  401. package/dist/frontend/lowering/primitive-wrappers.d.ts +34 -0
  402. package/dist/frontend/lowering/primitive-wrappers.js +220 -0
  403. package/dist/frontend/lowering/primitive-wrappers.js.map +1 -0
  404. package/dist/frontend/lowering/private-statics.d.ts +46 -0
  405. package/dist/frontend/lowering/private-statics.js +322 -0
  406. package/dist/frontend/lowering/private-statics.js.map +1 -0
  407. package/dist/frontend/lowering/record-sources.d.ts +12 -1
  408. package/dist/frontend/lowering/record-sources.js +60 -0
  409. package/dist/frontend/lowering/record-sources.js.map +1 -1
  410. package/dist/frontend/lowering/strict-equality.d.ts +4 -0
  411. package/dist/frontend/lowering/strict-equality.js +14 -0
  412. package/dist/frontend/lowering/strict-equality.js.map +1 -1
  413. package/dist/frontend/lowering/surfaces.d.ts +27 -0
  414. package/dist/frontend/lowering/surfaces.js +135 -62
  415. package/dist/frontend/lowering/surfaces.js.map +1 -1
  416. package/dist/frontend/lowering/unit-journal.d.ts +128 -17
  417. package/dist/frontend/lowering/unit-journal.js +310 -53
  418. package/dist/frontend/lowering/unit-journal.js.map +1 -1
  419. package/dist/frontend/lowering/unit-journal.test.js +91 -3
  420. package/dist/frontend/lowering/unit-journal.test.js.map +1 -1
  421. package/dist/frontend/lowering/unit-reuse.d.ts +92 -0
  422. package/dist/frontend/lowering/unit-reuse.js +1008 -0
  423. package/dist/frontend/lowering/unit-reuse.js.map +1 -0
  424. package/dist/frontend/lowering/width-lift.d.ts +12 -0
  425. package/dist/frontend/npm-file-import.test.d.ts +1 -0
  426. package/dist/frontend/npm-file-import.test.js +76 -0
  427. package/dist/frontend/npm-file-import.test.js.map +1 -0
  428. package/dist/frontend/npm-static.js +17 -2
  429. package/dist/frontend/npm-static.js.map +1 -1
  430. package/dist/frontend/npm.d.ts +9 -0
  431. package/dist/frontend/npm.js +82 -0
  432. package/dist/frontend/npm.js.map +1 -1
  433. package/dist/frontend/pipeline-native.js +2 -1
  434. package/dist/frontend/pipeline-native.js.map +1 -1
  435. package/dist/frontend/pipeline.d.ts +4 -0
  436. package/dist/frontend/pipeline.js +68 -7
  437. package/dist/frontend/pipeline.js.map +1 -1
  438. package/dist/frontend/program-node.d.ts +3 -0
  439. package/dist/frontend/program-node.js +13 -6
  440. package/dist/frontend/program-node.js.map +1 -1
  441. package/dist/frontend/program.d.ts +9 -0
  442. package/dist/frontend/program.js +159 -7
  443. package/dist/frontend/program.js.map +1 -1
  444. package/dist/frontend/provenance-core.js +4 -0
  445. package/dist/frontend/provenance-core.js.map +1 -1
  446. package/dist/frontend/services.d.ts +14 -0
  447. package/dist/frontend/services.js +52 -2
  448. package/dist/frontend/services.js.map +1 -1
  449. package/dist/frontend/services.test.js +61 -1
  450. package/dist/frontend/services.test.js.map +1 -1
  451. package/dist/frontend/shape-inference/analyze.d.ts +5 -0
  452. package/dist/frontend/shape-inference/analyze.js +104 -4
  453. package/dist/frontend/shape-inference/analyze.js.map +1 -1
  454. package/dist/frontend/shape-inference/domain.js +0 -1
  455. package/dist/frontend/shape-inference/domain.js.map +1 -1
  456. package/dist/frontend/shape-inference/index.js +5 -1
  457. package/dist/frontend/shape-inference/index.js.map +1 -1
  458. package/dist/frontend/shape-inference/memo.d.ts +2 -1
  459. package/dist/frontend/shape-inference/memo.js +6 -2
  460. package/dist/frontend/shape-inference/memo.js.map +1 -1
  461. package/dist/frontend/shape-inference/overlay.d.ts +1 -1
  462. package/dist/frontend/shape-inference/overlay.js +116 -2
  463. package/dist/frontend/shape-inference/overlay.js.map +1 -1
  464. package/dist/frontend/shape-inference/static-objects.js +11 -6
  465. package/dist/frontend/shape-inference/static-objects.js.map +1 -1
  466. package/dist/frontend/source-phase-imports.test.d.ts +1 -0
  467. package/dist/frontend/source-phase-imports.test.js +37 -0
  468. package/dist/frontend/source-phase-imports.test.js.map +1 -0
  469. package/dist/frontend/ts7/ast-node.d.ts +6 -1
  470. package/dist/frontend/ts7/ast-node.js +12 -0
  471. package/dist/frontend/ts7/ast-node.js.map +1 -1
  472. package/dist/frontend/ts7/ast-wire-protocols.test.js +11 -3
  473. package/dist/frontend/ts7/ast-wire-protocols.test.js.map +1 -1
  474. package/dist/frontend/ts7/ast-wire.js +3 -5
  475. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  476. package/dist/frontend/ts7/checker-backend.d.ts +13 -0
  477. package/dist/frontend/ts7/checker-backend.js +84 -2
  478. package/dist/frontend/ts7/checker-backend.js.map +1 -1
  479. package/dist/frontend/ts7/checker-backend.test.js +126 -2
  480. package/dist/frontend/ts7/checker-backend.test.js.map +1 -1
  481. package/dist/frontend/ts7/program-host.d.ts +22 -1
  482. package/dist/frontend/ts7/program-host.js +49 -4
  483. package/dist/frontend/ts7/program-host.js.map +1 -1
  484. package/dist/frontend/ts7/program-host.test.js +83 -0
  485. package/dist/frontend/ts7/program-host.test.js.map +1 -1
  486. package/dist/frontend/ts7/rpc-process.d.ts +16 -1
  487. package/dist/frontend/ts7/rpc-process.js +170 -92
  488. package/dist/frontend/ts7/rpc-process.js.map +1 -1
  489. package/dist/frontend/ts7/rpc-process.test.js +49 -21
  490. package/dist/frontend/ts7/rpc-process.test.js.map +1 -1
  491. package/dist/frontend/tsc-codes.js +70 -0
  492. package/dist/frontend/tsc-codes.js.map +1 -1
  493. package/dist/frontend/type-mapper.d.ts +7 -2
  494. package/dist/frontend/type-mapper.js +148 -1
  495. package/dist/frontend/type-mapper.js.map +1 -1
  496. package/dist/index.d.ts +1 -1
  497. package/dist/index.js +152 -8
  498. package/dist/index.js.map +1 -1
  499. package/dist/ir/api.d.ts +1 -1
  500. package/dist/ir/api.js +1 -1
  501. package/dist/ir/api.js.map +1 -1
  502. package/dist/ir/build.d.ts +3 -2
  503. package/dist/ir/build.js +4 -2
  504. package/dist/ir/build.js.map +1 -1
  505. package/dist/ir/builtin-effects.js +53 -0
  506. package/dist/ir/builtin-effects.js.map +1 -1
  507. package/dist/ir/builtin-signatures.d.ts +1 -1
  508. package/dist/ir/builtin-signatures.js +211 -10
  509. package/dist/ir/builtin-signatures.js.map +1 -1
  510. package/dist/ir/codec.d.ts +82 -0
  511. package/dist/ir/codec.generated.d.ts +13 -0
  512. package/dist/ir/codec.generated.js +5274 -0
  513. package/dist/ir/codec.generated.js.map +1 -0
  514. package/dist/ir/codec.js +325 -0
  515. package/dist/ir/codec.js.map +1 -0
  516. package/dist/ir/codec.test.d.ts +1 -0
  517. package/dist/ir/codec.test.js +225 -0
  518. package/dist/ir/codec.test.js.map +1 -0
  519. package/dist/ir/fields.generated.d.ts +20 -10
  520. package/dist/ir/fields.generated.js +1031 -11
  521. package/dist/ir/fields.generated.js.map +1 -1
  522. package/dist/ir/fields.test.js +46 -2
  523. package/dist/ir/fields.test.js.map +1 -1
  524. package/dist/ir/function-references.d.ts +5 -4
  525. package/dist/ir/function-references.js +8 -4
  526. package/dist/ir/function-references.js.map +1 -1
  527. package/dist/ir/function-references.test.js +7 -0
  528. package/dist/ir/function-references.test.js.map +1 -1
  529. package/dist/ir/inline-array-sources.js +4 -1
  530. package/dist/ir/inline-array-sources.js.map +1 -1
  531. package/dist/ir/inline-array-views.d.ts +13 -0
  532. package/dist/ir/inline-array-views.js +944 -0
  533. package/dist/ir/inline-array-views.js.map +1 -0
  534. package/dist/ir/inline-arrays.d.ts +7 -0
  535. package/dist/ir/inline-arrays.js +190 -55
  536. package/dist/ir/inline-arrays.js.map +1 -1
  537. package/dist/ir/inline-arrays.test.js +140 -2
  538. package/dist/ir/inline-arrays.test.js.map +1 -1
  539. package/dist/ir/integer-ranges.js +16 -6
  540. package/dist/ir/integer-ranges.js.map +1 -1
  541. package/dist/ir/ir.d.ts +75 -44
  542. package/dist/ir/ir.js.map +1 -1
  543. package/dist/ir/js-ic.d.ts +10 -9
  544. package/dist/ir/js-ic.js +28 -20
  545. package/dist/ir/js-ic.js.map +1 -1
  546. package/dist/ir/js-ic.test.js +10 -2
  547. package/dist/ir/js-ic.test.js.map +1 -1
  548. package/dist/ir/jsval.js +374 -63
  549. package/dist/ir/jsval.js.map +1 -1
  550. package/dist/ir/jsval.test.js +96 -2
  551. package/dist/ir/jsval.test.js.map +1 -1
  552. package/dist/ir/loop-entry-ranges.js +112 -9
  553. package/dist/ir/loop-entry-ranges.js.map +1 -1
  554. package/dist/ir/loop-entry-ranges.test.js +40 -0
  555. package/dist/ir/loop-entry-ranges.test.js.map +1 -1
  556. package/dist/ir/parameter-versions.d.ts +2 -1
  557. package/dist/ir/parameter-versions.js +3 -1
  558. package/dist/ir/parameter-versions.js.map +1 -1
  559. package/dist/ir/receiver-readers.js +58 -2
  560. package/dist/ir/receiver-readers.js.map +1 -1
  561. package/dist/ir/runtime-features.d.ts +60 -1
  562. package/dist/ir/runtime-features.js +277 -2
  563. package/dist/ir/runtime-features.js.map +1 -1
  564. package/dist/ir/runtime-features.test.js +165 -1
  565. package/dist/ir/runtime-features.test.js.map +1 -1
  566. package/dist/ir/saturating-loop-jams.d.ts +8 -1
  567. package/dist/ir/saturating-loop-jams.js +46 -7
  568. package/dist/ir/saturating-loop-jams.js.map +1 -1
  569. package/dist/ir/saturating-loop-jams.test.js +39 -1
  570. package/dist/ir/saturating-loop-jams.test.js.map +1 -1
  571. package/dist/ir/self-captures.js +8 -1
  572. package/dist/ir/self-captures.js.map +1 -1
  573. package/dist/ir/self-captures.test.js +15 -0
  574. package/dist/ir/self-captures.test.js.map +1 -1
  575. package/dist/ir/serialize.d.ts +3 -2
  576. package/dist/ir/serialize.js +6 -2
  577. package/dist/ir/serialize.js.map +1 -1
  578. package/dist/ir/validate.js +82 -4
  579. package/dist/ir/validate.js.map +1 -1
  580. package/dist/ir/validate.test.js +46 -0
  581. package/dist/ir/validate.test.js.map +1 -1
  582. package/dist/library/ir-policy.js +3 -0
  583. package/dist/library/ir-policy.js.map +1 -1
  584. package/dist/native/cache.js +2 -0
  585. package/dist/native/cache.js.map +1 -1
  586. package/dist/native/cli.js +2 -0
  587. package/dist/native/cli.js.map +1 -1
  588. package/dist/native/compiler.js +8 -2
  589. package/dist/native/compiler.js.map +1 -1
  590. package/dist/native/prepare.js +32 -3
  591. package/dist/native/prepare.js.map +1 -1
  592. package/dist/native/sanitizer.js +53 -3
  593. package/dist/native/sanitizer.js.map +1 -1
  594. package/dist/native/sanitizer.test.js +88 -2
  595. package/dist/native/sanitizer.test.js.map +1 -1
  596. package/dist/native/toolchain.js +9 -2
  597. package/dist/native/toolchain.js.map +1 -1
  598. package/dist/node-islands/boundary.d.ts +25 -1
  599. package/dist/node-islands/boundary.js +28 -2
  600. package/dist/node-islands/boundary.js.map +1 -1
  601. package/dist/node-islands/detect.d.ts +18 -1
  602. package/dist/node-islands/detect.js +365 -40
  603. package/dist/node-islands/detect.js.map +1 -1
  604. package/dist/node-islands/detect.test.js +151 -4
  605. package/dist/node-islands/detect.test.js.map +1 -1
  606. package/dist/node-islands/effect-gate.js +30 -20
  607. package/dist/node-islands/effect-gate.js.map +1 -1
  608. package/dist/node-islands/effect-gate.test.js +4 -1
  609. package/dist/node-islands/effect-gate.test.js.map +1 -1
  610. package/dist/node-islands/libnode.d.ts +1 -1
  611. package/dist/node-islands/libnode.js +1 -1
  612. package/dist/node-islands/libnode.js.map +1 -1
  613. package/dist/node-islands/modules.d.ts +28 -0
  614. package/dist/node-islands/modules.js +156 -0
  615. package/dist/node-islands/modules.js.map +1 -1
  616. package/dist/node-islands/modules.test.js +105 -1
  617. package/dist/node-islands/modules.test.js.map +1 -1
  618. package/dist/node-islands/policy.js +2 -3
  619. package/dist/node-islands/policy.js.map +1 -1
  620. package/dist/node-islands/probe-recorder.d.ts +1 -0
  621. package/dist/node-islands/probe-recorder.js +596 -0
  622. package/dist/node-islands/probe-recorder.js.map +1 -0
  623. package/dist/node-islands/probe-recorder.test.d.ts +1 -0
  624. package/dist/node-islands/probe-recorder.test.js +80 -0
  625. package/dist/node-islands/probe-recorder.test.js.map +1 -0
  626. package/dist/node-islands/report.test.js +2 -0
  627. package/dist/node-islands/report.test.js.map +1 -1
  628. package/dist/node-islands/rules.js +4 -0
  629. package/dist/node-islands/rules.js.map +1 -1
  630. package/dist/node-islands/scan.d.ts +7 -1
  631. package/dist/node-islands/scan.js +51 -2
  632. package/dist/node-islands/scan.js.map +1 -1
  633. package/dist/node-islands/snapshot.d.ts +38 -1
  634. package/dist/node-islands/snapshot.js +165 -161
  635. package/dist/node-islands/snapshot.js.map +1 -1
  636. package/dist/node-islands/snapshot.test.js +63 -2
  637. package/dist/node-islands/snapshot.test.js.map +1 -1
  638. package/dist/node-islands/summary.js +8 -0
  639. package/dist/node-islands/summary.js.map +1 -1
  640. package/dist/node-islands/type-strip.d.ts +11 -0
  641. package/dist/node-islands/type-strip.js +157 -0
  642. package/dist/node-islands/type-strip.js.map +1 -0
  643. package/dist/node-islands/type-strip.test.d.ts +1 -0
  644. package/dist/node-islands/type-strip.test.js +31 -0
  645. package/dist/node-islands/type-strip.test.js.map +1 -0
  646. package/dist/project-config.d.ts +4 -0
  647. package/dist/project-config.js +19 -0
  648. package/dist/project-config.js.map +1 -1
  649. package/dist/project-config.test.js +10 -0
  650. package/dist/project-config.test.js.map +1 -1
  651. package/package.json +20 -20
  652. package/surface-manifest.json +43 -11
@@ -799,14 +799,14 @@ export function walkExprFields(node, walker, skipType) {
799
799
  case "classRef": {
800
800
  walker.string(node.kind);
801
801
  walker.string(node.className);
802
+ if (!skipType) {
803
+ walkTypeFields(node.type, walker, skipType);
804
+ }
802
805
  if (node.captures !== undefined && node.captures !== null) {
803
806
  for (const item6 of node.captures) {
804
807
  walker.string(item6);
805
808
  }
806
809
  }
807
- if (!skipType) {
808
- walkTypeFields(node.type, walker, skipType);
809
- }
810
810
  return;
811
811
  }
812
812
  case "closure": {
@@ -887,12 +887,12 @@ export function walkExprFields(node, walker, skipType) {
887
887
  case "dynFrom": {
888
888
  walker.string(node.kind);
889
889
  walkExprFields(node.value, walker, skipType);
890
- if (node.fnName !== undefined && node.fnName !== null) {
891
- walker.string(node.fnName);
892
- }
893
890
  if (!skipType) {
894
891
  walkTypeFields(node.type, walker, skipType);
895
892
  }
893
+ if (node.fnName !== undefined && node.fnName !== null) {
894
+ walker.string(node.fnName);
895
+ }
896
896
  return;
897
897
  }
898
898
  case "dynHasKey": {
@@ -1631,14 +1631,14 @@ export function walkStmtFields(node, walker, skipType) {
1631
1631
  }
1632
1632
  case "block": {
1633
1633
  walker.string(node.kind);
1634
- for (const item30 of node.body) {
1635
- walkStmtFields(item30, walker, skipType);
1636
- }
1637
1634
  if (node.labels !== undefined && node.labels !== null) {
1638
- for (const item31 of node.labels) {
1639
- walker.string(item31);
1635
+ for (const item30 of node.labels) {
1636
+ walker.string(item30);
1640
1637
  }
1641
1638
  }
1639
+ for (const item31 of node.body) {
1640
+ walkStmtFields(item31, walker, skipType);
1641
+ }
1642
1642
  return;
1643
1643
  }
1644
1644
  case "break": {
@@ -2068,4 +2068,1024 @@ export function walkTypeFields(node, walker, skipType) {
2068
2068
  }
2069
2069
  }
2070
2070
  }
2071
+ /** Replaces the child expression `from` of `node` with `to`: the field,
2072
+ * array element or field of a plain object under it that holds `from`
2073
+ * (child IR nodes are not entered). Returns false when no slot holds it. */
2074
+ export function replaceChildExpr(node, from, to) {
2075
+ switch (node.kind) {
2076
+ case "arrIntrinsic": {
2077
+ if (node.receiver === from) {
2078
+ node.receiver = to;
2079
+ return true;
2080
+ }
2081
+ for (let index52 = 0; index52 < node.args.length; index52++) {
2082
+ const item51 = node.args[index52];
2083
+ if (item51 === from) {
2084
+ node.args[index52] = to;
2085
+ return true;
2086
+ }
2087
+ }
2088
+ return false;
2089
+ }
2090
+ case "arrayDelete": {
2091
+ if (node.arr === from) {
2092
+ node.arr = to;
2093
+ return true;
2094
+ }
2095
+ if (node.index === from) {
2096
+ node.index = to;
2097
+ return true;
2098
+ }
2099
+ return false;
2100
+ }
2101
+ case "arrayGet": {
2102
+ if (node.arr === from) {
2103
+ node.arr = to;
2104
+ return true;
2105
+ }
2106
+ if (node.index === from) {
2107
+ node.index = to;
2108
+ return true;
2109
+ }
2110
+ return false;
2111
+ }
2112
+ case "arrayHas": {
2113
+ if (node.arr === from) {
2114
+ node.arr = to;
2115
+ return true;
2116
+ }
2117
+ if (node.index === from) {
2118
+ node.index = to;
2119
+ return true;
2120
+ }
2121
+ return false;
2122
+ }
2123
+ case "arrayLit": {
2124
+ for (let index56 = 0; index56 < node.elems.length; index56++) {
2125
+ const item55 = node.elems[index56];
2126
+ if (item55 === from) {
2127
+ node.elems[index56] = to;
2128
+ return true;
2129
+ }
2130
+ }
2131
+ return false;
2132
+ }
2133
+ case "arrayNewLen": {
2134
+ if (node.length === from) {
2135
+ node.length = to;
2136
+ return true;
2137
+ }
2138
+ return false;
2139
+ }
2140
+ case "arraySet": {
2141
+ if (node.arr === from) {
2142
+ node.arr = to;
2143
+ return true;
2144
+ }
2145
+ if (node.index === from) {
2146
+ node.index = to;
2147
+ return true;
2148
+ }
2149
+ if (node.value === from) {
2150
+ node.value = to;
2151
+ return true;
2152
+ }
2153
+ return false;
2154
+ }
2155
+ case "arraySetLength": {
2156
+ if (node.arr === from) {
2157
+ node.arr = to;
2158
+ return true;
2159
+ }
2160
+ if (node.length === from) {
2161
+ node.length = to;
2162
+ return true;
2163
+ }
2164
+ return false;
2165
+ }
2166
+ case "arraySetUndefined": {
2167
+ if (node.arr === from) {
2168
+ node.arr = to;
2169
+ return true;
2170
+ }
2171
+ if (node.index === from) {
2172
+ node.index = to;
2173
+ return true;
2174
+ }
2175
+ return false;
2176
+ }
2177
+ case "arrayState": {
2178
+ if (node.arr === from) {
2179
+ node.arr = to;
2180
+ return true;
2181
+ }
2182
+ if (node.index === from) {
2183
+ node.index = to;
2184
+ return true;
2185
+ }
2186
+ return false;
2187
+ }
2188
+ case "assign": {
2189
+ if (node.value === from) {
2190
+ node.value = to;
2191
+ return true;
2192
+ }
2193
+ return false;
2194
+ }
2195
+ case "assignExpr": {
2196
+ if (node.value === from) {
2197
+ node.value = to;
2198
+ return true;
2199
+ }
2200
+ return false;
2201
+ }
2202
+ case "awaitExpr": {
2203
+ if (node.value === from) {
2204
+ node.value = to;
2205
+ return true;
2206
+ }
2207
+ return false;
2208
+ }
2209
+ case "awaitUnionExpr": {
2210
+ if (node.value === from) {
2211
+ node.value = to;
2212
+ return true;
2213
+ }
2214
+ return false;
2215
+ }
2216
+ case "bin": {
2217
+ if (node.left === from) {
2218
+ node.left = to;
2219
+ return true;
2220
+ }
2221
+ if (node.right === from) {
2222
+ node.right = to;
2223
+ return true;
2224
+ }
2225
+ return false;
2226
+ }
2227
+ case "bytesIntrinsic": {
2228
+ if (node.receiver === from) {
2229
+ node.receiver = to;
2230
+ return true;
2231
+ }
2232
+ for (let index66 = 0; index66 < node.args.length; index66++) {
2233
+ const item65 = node.args[index66];
2234
+ if (item65 === from) {
2235
+ node.args[index66] = to;
2236
+ return true;
2237
+ }
2238
+ }
2239
+ return false;
2240
+ }
2241
+ case "bytesNew": {
2242
+ if (node.source !== undefined && node.source !== null) {
2243
+ if (node.source === from) {
2244
+ node.source = to;
2245
+ return true;
2246
+ }
2247
+ }
2248
+ return false;
2249
+ }
2250
+ case "bytesSet": {
2251
+ if (node.arr === from) {
2252
+ node.arr = to;
2253
+ return true;
2254
+ }
2255
+ if (node.index === from) {
2256
+ node.index = to;
2257
+ return true;
2258
+ }
2259
+ if (node.value === from) {
2260
+ node.value = to;
2261
+ return true;
2262
+ }
2263
+ return false;
2264
+ }
2265
+ case "call": {
2266
+ for (let index70 = 0; index70 < node.args.length; index70++) {
2267
+ const item69 = node.args[index70];
2268
+ if (item69 === from) {
2269
+ node.args[index70] = to;
2270
+ return true;
2271
+ }
2272
+ }
2273
+ return false;
2274
+ }
2275
+ case "callValue": {
2276
+ if (node.callee === from) {
2277
+ node.callee = to;
2278
+ return true;
2279
+ }
2280
+ if (node.receiver !== undefined && node.receiver !== null) {
2281
+ if (node.receiver === from) {
2282
+ node.receiver = to;
2283
+ return true;
2284
+ }
2285
+ }
2286
+ for (let index74 = 0; index74 < node.args.length; index74++) {
2287
+ const item73 = node.args[index74];
2288
+ if (item73 === from) {
2289
+ node.args[index74] = to;
2290
+ return true;
2291
+ }
2292
+ }
2293
+ return false;
2294
+ }
2295
+ case "caughtCheck": {
2296
+ if (node.value === from) {
2297
+ node.value = to;
2298
+ return true;
2299
+ }
2300
+ return false;
2301
+ }
2302
+ case "caughtNarrow": {
2303
+ if (node.value === from) {
2304
+ node.value = to;
2305
+ return true;
2306
+ }
2307
+ return false;
2308
+ }
2309
+ case "caughtTest": {
2310
+ if (node.value === from) {
2311
+ node.value = to;
2312
+ return true;
2313
+ }
2314
+ return false;
2315
+ }
2316
+ case "caughtToDyn": {
2317
+ if (node.value === from) {
2318
+ node.value = to;
2319
+ return true;
2320
+ }
2321
+ return false;
2322
+ }
2323
+ case "doWhile": {
2324
+ if (node.cond === from) {
2325
+ node.cond = to;
2326
+ return true;
2327
+ }
2328
+ return false;
2329
+ }
2330
+ case "downcast": {
2331
+ if (node.value === from) {
2332
+ node.value = to;
2333
+ return true;
2334
+ }
2335
+ return false;
2336
+ }
2337
+ case "dynArrLit": {
2338
+ for (let index86 = 0; index86 < node.elems.length; index86++) {
2339
+ const item85 = node.elems[index86];
2340
+ if (item85 === from) {
2341
+ node.elems[index86] = to;
2342
+ return true;
2343
+ }
2344
+ }
2345
+ return false;
2346
+ }
2347
+ case "dynCall": {
2348
+ if (node.callee === from) {
2349
+ node.callee = to;
2350
+ return true;
2351
+ }
2352
+ if (node.receiver !== undefined && node.receiver !== null) {
2353
+ if (node.receiver === from) {
2354
+ node.receiver = to;
2355
+ return true;
2356
+ }
2357
+ }
2358
+ if (node.calleeNameValue !== undefined && node.calleeNameValue !== null) {
2359
+ if (node.calleeNameValue === from) {
2360
+ node.calleeNameValue = to;
2361
+ return true;
2362
+ }
2363
+ }
2364
+ for (let index90 = 0; index90 < node.args.length; index90++) {
2365
+ const item89 = node.args[index90];
2366
+ if (item89 === from) {
2367
+ node.args[index90] = to;
2368
+ return true;
2369
+ }
2370
+ }
2371
+ return false;
2372
+ }
2373
+ case "dynCheck": {
2374
+ if (node.value === from) {
2375
+ node.value = to;
2376
+ return true;
2377
+ }
2378
+ return false;
2379
+ }
2380
+ case "dynDestrCheck": {
2381
+ if (node.value === from) {
2382
+ node.value = to;
2383
+ return true;
2384
+ }
2385
+ return false;
2386
+ }
2387
+ case "dynFrom": {
2388
+ if (node.value === from) {
2389
+ node.value = to;
2390
+ return true;
2391
+ }
2392
+ return false;
2393
+ }
2394
+ case "dynHasKey": {
2395
+ if (node.value === from) {
2396
+ node.value = to;
2397
+ return true;
2398
+ }
2399
+ return false;
2400
+ }
2401
+ case "dynInvoke": {
2402
+ if (node.recv === from) {
2403
+ node.recv = to;
2404
+ return true;
2405
+ }
2406
+ if (node.calleeNameValue !== undefined && node.calleeNameValue !== null) {
2407
+ if (node.calleeNameValue === from) {
2408
+ node.calleeNameValue = to;
2409
+ return true;
2410
+ }
2411
+ }
2412
+ for (let index96 = 0; index96 < node.args.length; index96++) {
2413
+ const item95 = node.args[index96];
2414
+ if (item95 === from) {
2415
+ node.args[index96] = to;
2416
+ return true;
2417
+ }
2418
+ }
2419
+ return false;
2420
+ }
2421
+ case "dynIterN": {
2422
+ if (node.value === from) {
2423
+ node.value = to;
2424
+ return true;
2425
+ }
2426
+ return false;
2427
+ }
2428
+ case "dynKeyGet": {
2429
+ if (node.key === from) {
2430
+ node.key = to;
2431
+ return true;
2432
+ }
2433
+ if (node.value === from) {
2434
+ node.value = to;
2435
+ return true;
2436
+ }
2437
+ return false;
2438
+ }
2439
+ case "dynObjLit": {
2440
+ if (node.fields !== undefined && node.fields !== null) {
2441
+ for (let index100 = 0; index100 < node.fields.length; index100++) {
2442
+ const item99 = node.fields[index100];
2443
+ if (item99.key === from) {
2444
+ item99.key = to;
2445
+ return true;
2446
+ }
2447
+ if (item99.value === from) {
2448
+ item99.value = to;
2449
+ return true;
2450
+ }
2451
+ }
2452
+ }
2453
+ return false;
2454
+ }
2455
+ case "dynScalarEq": {
2456
+ if (node.left === from) {
2457
+ node.left = to;
2458
+ return true;
2459
+ }
2460
+ if (node.right === from) {
2461
+ node.right = to;
2462
+ return true;
2463
+ }
2464
+ return false;
2465
+ }
2466
+ case "dynTest": {
2467
+ if (node.value === from) {
2468
+ node.value = to;
2469
+ return true;
2470
+ }
2471
+ return false;
2472
+ }
2473
+ case "exprStmt": {
2474
+ if (node.expr === from) {
2475
+ node.expr = to;
2476
+ return true;
2477
+ }
2478
+ return false;
2479
+ }
2480
+ case "ffiCall": {
2481
+ for (let index104 = 0; index104 < node.args.length; index104++) {
2482
+ const item103 = node.args[index104];
2483
+ if (item103 === from) {
2484
+ node.args[index104] = to;
2485
+ return true;
2486
+ }
2487
+ }
2488
+ return false;
2489
+ }
2490
+ case "fieldGet": {
2491
+ if (node.obj === from) {
2492
+ node.obj = to;
2493
+ return true;
2494
+ }
2495
+ return false;
2496
+ }
2497
+ case "fieldIncDec": {
2498
+ if (node.obj === from) {
2499
+ node.obj = to;
2500
+ return true;
2501
+ }
2502
+ return false;
2503
+ }
2504
+ case "fieldSet": {
2505
+ if (node.obj === from) {
2506
+ node.obj = to;
2507
+ return true;
2508
+ }
2509
+ if (node.value === from) {
2510
+ node.value = to;
2511
+ return true;
2512
+ }
2513
+ return false;
2514
+ }
2515
+ case "for": {
2516
+ if (node.cond !== undefined && node.cond !== null) {
2517
+ if (node.cond === from) {
2518
+ node.cond = to;
2519
+ return true;
2520
+ }
2521
+ }
2522
+ return false;
2523
+ }
2524
+ case "forOf": {
2525
+ if (node.iterable === from) {
2526
+ node.iterable = to;
2527
+ return true;
2528
+ }
2529
+ return false;
2530
+ }
2531
+ case "genResume": {
2532
+ if (node.gen === from) {
2533
+ node.gen = to;
2534
+ return true;
2535
+ }
2536
+ if (node.arg !== undefined && node.arg !== null) {
2537
+ if (node.arg === from) {
2538
+ node.arg = to;
2539
+ return true;
2540
+ }
2541
+ }
2542
+ return false;
2543
+ }
2544
+ case "if": {
2545
+ if (node.cond === from) {
2546
+ node.cond = to;
2547
+ return true;
2548
+ }
2549
+ return false;
2550
+ }
2551
+ case "instanceOf": {
2552
+ if (node.value === from) {
2553
+ node.value = to;
2554
+ return true;
2555
+ }
2556
+ return false;
2557
+ }
2558
+ case "instanceOfValue": {
2559
+ if (node.value === from) {
2560
+ node.value = to;
2561
+ return true;
2562
+ }
2563
+ if (node.classValue === from) {
2564
+ node.classValue = to;
2565
+ return true;
2566
+ }
2567
+ return false;
2568
+ }
2569
+ case "intrinsic": {
2570
+ for (let index120 = 0; index120 < node.args.length; index120++) {
2571
+ const item119 = node.args[index120];
2572
+ if (item119 === from) {
2573
+ node.args[index120] = to;
2574
+ return true;
2575
+ }
2576
+ }
2577
+ return false;
2578
+ }
2579
+ case "jsonStringify": {
2580
+ if (node.value === from) {
2581
+ node.value = to;
2582
+ return true;
2583
+ }
2584
+ return false;
2585
+ }
2586
+ case "libCall": {
2587
+ for (let index124 = 0; index124 < node.args.length; index124++) {
2588
+ const item123 = node.args[index124];
2589
+ if (item123 === from) {
2590
+ node.args[index124] = to;
2591
+ return true;
2592
+ }
2593
+ }
2594
+ return false;
2595
+ }
2596
+ case "logical": {
2597
+ if (node.left === from) {
2598
+ node.left = to;
2599
+ return true;
2600
+ }
2601
+ if (node.right === from) {
2602
+ node.right = to;
2603
+ return true;
2604
+ }
2605
+ return false;
2606
+ }
2607
+ case "mapIntrinsic": {
2608
+ if (node.receiver === from) {
2609
+ node.receiver = to;
2610
+ return true;
2611
+ }
2612
+ for (let index128 = 0; index128 < node.args.length; index128++) {
2613
+ const item127 = node.args[index128];
2614
+ if (item127 === from) {
2615
+ node.args[index128] = to;
2616
+ return true;
2617
+ }
2618
+ }
2619
+ return false;
2620
+ }
2621
+ case "mapNew": {
2622
+ if (node.seed !== undefined && node.seed !== null) {
2623
+ for (let index132 = 0; index132 < node.seed.length; index132++) {
2624
+ const item131 = node.seed[index132];
2625
+ if (item131.key === from) {
2626
+ item131.key = to;
2627
+ return true;
2628
+ }
2629
+ if (item131.value === from) {
2630
+ item131.value = to;
2631
+ return true;
2632
+ }
2633
+ }
2634
+ }
2635
+ return false;
2636
+ }
2637
+ case "new": {
2638
+ for (let index136 = 0; index136 < node.args.length; index136++) {
2639
+ const item135 = node.args[index136];
2640
+ if (item135 === from) {
2641
+ node.args[index136] = to;
2642
+ return true;
2643
+ }
2644
+ }
2645
+ return false;
2646
+ }
2647
+ case "newPromise": {
2648
+ if (node.executor === from) {
2649
+ node.executor = to;
2650
+ return true;
2651
+ }
2652
+ return false;
2653
+ }
2654
+ case "newValue": {
2655
+ if (node.callee === from) {
2656
+ node.callee = to;
2657
+ return true;
2658
+ }
2659
+ for (let index140 = 0; index140 < node.args.length; index140++) {
2660
+ const item139 = node.args[index140];
2661
+ if (item139 === from) {
2662
+ node.args[index140] = to;
2663
+ return true;
2664
+ }
2665
+ }
2666
+ return false;
2667
+ }
2668
+ case "nullish": {
2669
+ if (node.left === from) {
2670
+ node.left = to;
2671
+ return true;
2672
+ }
2673
+ if (node.right === from) {
2674
+ node.right = to;
2675
+ return true;
2676
+ }
2677
+ return false;
2678
+ }
2679
+ case "optChain": {
2680
+ if (node.receiver === from) {
2681
+ node.receiver = to;
2682
+ return true;
2683
+ }
2684
+ if (node.body === from) {
2685
+ node.body = to;
2686
+ return true;
2687
+ }
2688
+ return false;
2689
+ }
2690
+ case "orDefault": {
2691
+ if (node.left === from) {
2692
+ node.left = to;
2693
+ return true;
2694
+ }
2695
+ if (node.right === from) {
2696
+ node.right = to;
2697
+ return true;
2698
+ }
2699
+ return false;
2700
+ }
2701
+ case "promiseVoidWiden": {
2702
+ if (node.value === from) {
2703
+ node.value = to;
2704
+ return true;
2705
+ }
2706
+ return false;
2707
+ }
2708
+ case "recordClone": {
2709
+ if (node.source === from) {
2710
+ node.source = to;
2711
+ return true;
2712
+ }
2713
+ for (let index144 = 0; index144 < node.overrides.length; index144++) {
2714
+ const item143 = node.overrides[index144];
2715
+ if (item143.value === from) {
2716
+ item143.value = to;
2717
+ return true;
2718
+ }
2719
+ }
2720
+ return false;
2721
+ }
2722
+ case "recordGet": {
2723
+ if (node.obj === from) {
2724
+ node.obj = to;
2725
+ return true;
2726
+ }
2727
+ return false;
2728
+ }
2729
+ case "recordHas": {
2730
+ if (node.obj === from) {
2731
+ node.obj = to;
2732
+ return true;
2733
+ }
2734
+ return false;
2735
+ }
2736
+ case "recordKeyDelete": {
2737
+ if (node.obj === from) {
2738
+ node.obj = to;
2739
+ return true;
2740
+ }
2741
+ if (node.key === from) {
2742
+ node.key = to;
2743
+ return true;
2744
+ }
2745
+ return false;
2746
+ }
2747
+ case "recordKeyGet": {
2748
+ if (node.obj === from) {
2749
+ node.obj = to;
2750
+ return true;
2751
+ }
2752
+ if (node.key === from) {
2753
+ node.key = to;
2754
+ return true;
2755
+ }
2756
+ return false;
2757
+ }
2758
+ case "recordKeySet": {
2759
+ if (node.obj === from) {
2760
+ node.obj = to;
2761
+ return true;
2762
+ }
2763
+ if (node.key === from) {
2764
+ node.key = to;
2765
+ return true;
2766
+ }
2767
+ if (node.value === from) {
2768
+ node.value = to;
2769
+ return true;
2770
+ }
2771
+ return false;
2772
+ }
2773
+ case "recordLit": {
2774
+ for (let index148 = 0; index148 < node.fields.length; index148++) {
2775
+ const item147 = node.fields[index148];
2776
+ if (item147.value === from) {
2777
+ item147.value = to;
2778
+ return true;
2779
+ }
2780
+ }
2781
+ return false;
2782
+ }
2783
+ case "recordNullProto": {
2784
+ if (node.obj === from) {
2785
+ node.obj = to;
2786
+ return true;
2787
+ }
2788
+ return false;
2789
+ }
2790
+ case "recordOvfHas": {
2791
+ if (node.obj === from) {
2792
+ node.obj = to;
2793
+ return true;
2794
+ }
2795
+ if (node.key === from) {
2796
+ node.key = to;
2797
+ return true;
2798
+ }
2799
+ return false;
2800
+ }
2801
+ case "recordOvfKeys": {
2802
+ if (node.obj === from) {
2803
+ node.obj = to;
2804
+ return true;
2805
+ }
2806
+ return false;
2807
+ }
2808
+ case "recordSet": {
2809
+ if (node.obj === from) {
2810
+ node.obj = to;
2811
+ return true;
2812
+ }
2813
+ if (node.value === from) {
2814
+ node.value = to;
2815
+ return true;
2816
+ }
2817
+ return false;
2818
+ }
2819
+ case "regexIntrinsic": {
2820
+ if (node.receiver === from) {
2821
+ node.receiver = to;
2822
+ return true;
2823
+ }
2824
+ for (let index152 = 0; index152 < node.args.length; index152++) {
2825
+ const item151 = node.args[index152];
2826
+ if (item151 === from) {
2827
+ node.args[index152] = to;
2828
+ return true;
2829
+ }
2830
+ }
2831
+ return false;
2832
+ }
2833
+ case "return": {
2834
+ if (node.value !== undefined && node.value !== null) {
2835
+ if (node.value === from) {
2836
+ node.value = to;
2837
+ return true;
2838
+ }
2839
+ }
2840
+ return false;
2841
+ }
2842
+ case "seqExpr": {
2843
+ if (node.result === from) {
2844
+ node.result = to;
2845
+ return true;
2846
+ }
2847
+ return false;
2848
+ }
2849
+ case "setIntrinsic": {
2850
+ if (node.receiver === from) {
2851
+ node.receiver = to;
2852
+ return true;
2853
+ }
2854
+ for (let index158 = 0; index158 < node.args.length; index158++) {
2855
+ const item157 = node.args[index158];
2856
+ if (item157 === from) {
2857
+ node.args[index158] = to;
2858
+ return true;
2859
+ }
2860
+ }
2861
+ return false;
2862
+ }
2863
+ case "setNew": {
2864
+ if (node.seed !== undefined && node.seed !== null) {
2865
+ if (node.seed === from) {
2866
+ node.seed = to;
2867
+ return true;
2868
+ }
2869
+ }
2870
+ return false;
2871
+ }
2872
+ case "strCmp": {
2873
+ if (node.left === from) {
2874
+ node.left = to;
2875
+ return true;
2876
+ }
2877
+ if (node.right === from) {
2878
+ node.right = to;
2879
+ return true;
2880
+ }
2881
+ return false;
2882
+ }
2883
+ case "strConcat": {
2884
+ if (node.left === from) {
2885
+ node.left = to;
2886
+ return true;
2887
+ }
2888
+ if (node.right === from) {
2889
+ node.right = to;
2890
+ return true;
2891
+ }
2892
+ return false;
2893
+ }
2894
+ case "strEq": {
2895
+ if (node.left === from) {
2896
+ node.left = to;
2897
+ return true;
2898
+ }
2899
+ if (node.right === from) {
2900
+ node.right = to;
2901
+ return true;
2902
+ }
2903
+ return false;
2904
+ }
2905
+ case "strIntrinsic": {
2906
+ if (node.receiver === from) {
2907
+ node.receiver = to;
2908
+ return true;
2909
+ }
2910
+ for (let index162 = 0; index162 < node.args.length; index162++) {
2911
+ const item161 = node.args[index162];
2912
+ if (item161 === from) {
2913
+ node.args[index162] = to;
2914
+ return true;
2915
+ }
2916
+ }
2917
+ return false;
2918
+ }
2919
+ case "switch": {
2920
+ if (node.disc === from) {
2921
+ node.disc = to;
2922
+ return true;
2923
+ }
2924
+ for (let index168 = 0; index168 < node.cases.length; index168++) {
2925
+ const item167 = node.cases[index168];
2926
+ if (item167.test !== undefined && item167.test !== null) {
2927
+ if (item167.test === from) {
2928
+ item167.test = to;
2929
+ return true;
2930
+ }
2931
+ }
2932
+ }
2933
+ return false;
2934
+ }
2935
+ case "ternary": {
2936
+ if (node.cond === from) {
2937
+ node.cond = to;
2938
+ return true;
2939
+ }
2940
+ if (node.then === from) {
2941
+ node.then = to;
2942
+ return true;
2943
+ }
2944
+ if (node.else_ === from) {
2945
+ node.else_ = to;
2946
+ return true;
2947
+ }
2948
+ return false;
2949
+ }
2950
+ case "throw": {
2951
+ if (node.value === from) {
2952
+ node.value = to;
2953
+ return true;
2954
+ }
2955
+ return false;
2956
+ }
2957
+ case "toBool": {
2958
+ if (node.operand === from) {
2959
+ node.operand = to;
2960
+ return true;
2961
+ }
2962
+ return false;
2963
+ }
2964
+ case "toString": {
2965
+ if (node.operand === from) {
2966
+ node.operand = to;
2967
+ return true;
2968
+ }
2969
+ return false;
2970
+ }
2971
+ case "unary": {
2972
+ if (node.operand === from) {
2973
+ node.operand = to;
2974
+ return true;
2975
+ }
2976
+ return false;
2977
+ }
2978
+ case "unionDisc": {
2979
+ if (node.value === from) {
2980
+ node.value = to;
2981
+ return true;
2982
+ }
2983
+ return false;
2984
+ }
2985
+ case "unionEq": {
2986
+ if (node.left === from) {
2987
+ node.left = to;
2988
+ return true;
2989
+ }
2990
+ if (node.right === from) {
2991
+ node.right = to;
2992
+ return true;
2993
+ }
2994
+ return false;
2995
+ }
2996
+ case "unionFuncEq": {
2997
+ if (node.union === from) {
2998
+ node.union = to;
2999
+ return true;
3000
+ }
3001
+ if (node.func === from) {
3002
+ node.func = to;
3003
+ return true;
3004
+ }
3005
+ return false;
3006
+ }
3007
+ case "unionIsTag": {
3008
+ if (node.value === from) {
3009
+ node.value = to;
3010
+ return true;
3011
+ }
3012
+ return false;
3013
+ }
3014
+ case "unionKeyGet": {
3015
+ if (node.key === from) {
3016
+ node.key = to;
3017
+ return true;
3018
+ }
3019
+ if (node.value === from) {
3020
+ node.value = to;
3021
+ return true;
3022
+ }
3023
+ return false;
3024
+ }
3025
+ case "unionNarrow": {
3026
+ if (node.value === from) {
3027
+ node.value = to;
3028
+ return true;
3029
+ }
3030
+ return false;
3031
+ }
3032
+ case "unionRetype": {
3033
+ if (node.value === from) {
3034
+ node.value = to;
3035
+ return true;
3036
+ }
3037
+ return false;
3038
+ }
3039
+ case "unionWrap": {
3040
+ if (node.value === from) {
3041
+ node.value = to;
3042
+ return true;
3043
+ }
3044
+ return false;
3045
+ }
3046
+ case "upcast": {
3047
+ if (node.value === from) {
3048
+ node.value = to;
3049
+ return true;
3050
+ }
3051
+ return false;
3052
+ }
3053
+ case "varDecl": {
3054
+ if (node.init !== undefined && node.init !== null) {
3055
+ if (node.init === from) {
3056
+ node.init = to;
3057
+ return true;
3058
+ }
3059
+ }
3060
+ return false;
3061
+ }
3062
+ case "virtualCall": {
3063
+ for (let index186 = 0; index186 < node.args.length; index186++) {
3064
+ const item185 = node.args[index186];
3065
+ if (item185 === from) {
3066
+ node.args[index186] = to;
3067
+ return true;
3068
+ }
3069
+ }
3070
+ return false;
3071
+ }
3072
+ case "while": {
3073
+ if (node.cond === from) {
3074
+ node.cond = to;
3075
+ return true;
3076
+ }
3077
+ return false;
3078
+ }
3079
+ case "yieldExpr": {
3080
+ if (node.value !== undefined && node.value !== null) {
3081
+ if (node.value === from) {
3082
+ node.value = to;
3083
+ return true;
3084
+ }
3085
+ }
3086
+ return false;
3087
+ }
3088
+ }
3089
+ return false;
3090
+ }
2071
3091
  //# sourceMappingURL=fields.generated.js.map