@scriptc/compiler 0.2.5 → 0.2.6

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 (307) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +57 -30
  2. package/dist/backend/cycle-analysis.test.js +1 -1
  3. package/dist/backend/executable-features.js +1 -0
  4. package/dist/backend/executable-features.js.map +1 -1
  5. package/dist/backend/link-plan-core.d.ts +2 -0
  6. package/dist/backend/link-plan-core.js +1 -0
  7. package/dist/backend/link-plan-core.js.map +1 -1
  8. package/dist/backend/link-plan.d.ts +1 -0
  9. package/dist/backend/link-plan.js +3 -0
  10. package/dist/backend/link-plan.js.map +1 -1
  11. package/dist/backend/llvm/byte-numbers.js +32 -4
  12. package/dist/backend/llvm/byte-numbers.js.map +1 -1
  13. package/dist/backend/llvm/byte-windows.d.ts +31 -0
  14. package/dist/backend/llvm/byte-windows.js +334 -0
  15. package/dist/backend/llvm/byte-windows.js.map +1 -0
  16. package/dist/backend/llvm/byte-windows.test.d.ts +1 -0
  17. package/dist/backend/llvm/byte-windows.test.js +244 -0
  18. package/dist/backend/llvm/byte-windows.test.js.map +1 -0
  19. package/dist/backend/llvm/call-lifetimes.d.ts +2 -2
  20. package/dist/backend/llvm/call-lifetimes.js +17 -7
  21. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  22. package/dist/backend/llvm/classes.d.ts +14 -1
  23. package/dist/backend/llvm/classes.js +80 -9
  24. package/dist/backend/llvm/classes.js.map +1 -1
  25. package/dist/backend/llvm/classes.test.d.ts +1 -0
  26. package/dist/backend/llvm/classes.test.js +99 -0
  27. package/dist/backend/llvm/classes.test.js.map +1 -0
  28. package/dist/backend/llvm/constant-callbacks.d.ts +11 -0
  29. package/dist/backend/llvm/constant-callbacks.js +213 -0
  30. package/dist/backend/llvm/constant-callbacks.js.map +1 -0
  31. package/dist/backend/llvm/constant-callbacks.test.d.ts +1 -0
  32. package/dist/backend/llvm/constant-callbacks.test.js +124 -0
  33. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -0
  34. package/dist/backend/llvm/dyn.d.ts +1 -1
  35. package/dist/backend/llvm/dyn.js +7 -34
  36. package/dist/backend/llvm/dyn.js.map +1 -1
  37. package/dist/backend/llvm/emitter.d.ts +19 -0
  38. package/dist/backend/llvm/emitter.js +274 -46
  39. package/dist/backend/llvm/emitter.js.map +1 -1
  40. package/dist/backend/llvm/emitter.test.js +17 -11
  41. package/dist/backend/llvm/emitter.test.js.map +1 -1
  42. package/dist/backend/llvm/expr-bytes.js +11 -0
  43. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  44. package/dist/backend/llvm/expr-calls.js +91 -23
  45. package/dist/backend/llvm/expr-calls.js.map +1 -1
  46. package/dist/backend/llvm/expr-containers.js +21 -9
  47. package/dist/backend/llvm/expr-containers.js.map +1 -1
  48. package/dist/backend/llvm/expr-dynamic.js +36 -3
  49. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  50. package/dist/backend/llvm/expr-primitives.js +7 -0
  51. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  52. package/dist/backend/llvm/expr-primitives.test.js +1 -1
  53. package/dist/backend/llvm/expr-stream-bridges.test.js +1 -1
  54. package/dist/backend/llvm/integer-remainder.d.ts +7 -0
  55. package/dist/backend/llvm/integer-remainder.js +26 -0
  56. package/dist/backend/llvm/integer-remainder.js.map +1 -0
  57. package/dist/backend/llvm/layouts.js +1 -1
  58. package/dist/backend/llvm/layouts.js.map +1 -1
  59. package/dist/backend/llvm/lib-abi.js +7 -0
  60. package/dist/backend/llvm/lib-abi.js.map +1 -1
  61. package/dist/backend/llvm/lib-dispatch.js +7 -22
  62. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  63. package/dist/backend/llvm/lib-shared.js +15 -0
  64. package/dist/backend/llvm/lib-shared.js.map +1 -1
  65. package/dist/backend/llvm/local-array-reads.d.ts +8 -2
  66. package/dist/backend/llvm/local-array-reads.js +89 -68
  67. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  68. package/dist/backend/llvm/local-array-reads.test.js +28 -4
  69. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  70. package/dist/backend/llvm/local-union-storage.test.js +1 -1
  71. package/dist/backend/llvm/loop-array-borrows.d.ts +11 -0
  72. package/dist/backend/llvm/loop-array-borrows.js +70 -0
  73. package/dist/backend/llvm/loop-array-borrows.js.map +1 -0
  74. package/dist/backend/llvm/loop-array-borrows.test.d.ts +1 -0
  75. package/dist/backend/llvm/loop-array-borrows.test.js +145 -0
  76. package/dist/backend/llvm/loop-array-borrows.test.js.map +1 -0
  77. package/dist/backend/llvm/map-read-lifetimes.d.ts +5 -0
  78. package/dist/backend/llvm/map-read-lifetimes.js +20 -5
  79. package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
  80. package/dist/backend/llvm/map-read-lifetimes.test.js +1 -1
  81. package/dist/backend/llvm/reference-effects.d.ts +2 -1
  82. package/dist/backend/llvm/reference-effects.js +7 -0
  83. package/dist/backend/llvm/reference-effects.js.map +1 -1
  84. package/dist/backend/llvm/shapes.d.ts +4 -1
  85. package/dist/backend/llvm/shapes.js +22 -7
  86. package/dist/backend/llvm/shapes.js.map +1 -1
  87. package/dist/backend/llvm/split-loops.d.ts +48 -0
  88. package/dist/backend/llvm/split-loops.js +183 -0
  89. package/dist/backend/llvm/split-loops.js.map +1 -0
  90. package/dist/backend/llvm/split.js +0 -7
  91. package/dist/backend/llvm/split.js.map +1 -1
  92. package/dist/backend/llvm/split.test.js +66 -2
  93. package/dist/backend/llvm/split.test.js.map +1 -1
  94. package/dist/backend/llvm/stack-callbacks.d.ts +14 -0
  95. package/dist/backend/llvm/stack-callbacks.js +73 -0
  96. package/dist/backend/llvm/stack-callbacks.js.map +1 -0
  97. package/dist/backend/llvm/stack-captures.d.ts +25 -0
  98. package/dist/backend/llvm/stack-captures.js +150 -0
  99. package/dist/backend/llvm/stack-captures.js.map +1 -0
  100. package/dist/backend/llvm/stack-unions.test.js +1 -1
  101. package/dist/backend/llvm/string-construction.test.js +1 -1
  102. package/dist/backend/llvm/string-lifetimes.test.js +8 -4
  103. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  104. package/dist/backend/llvm/string-slices.d.ts +20 -0
  105. package/dist/backend/llvm/string-slices.js +87 -0
  106. package/dist/backend/llvm/string-slices.js.map +1 -0
  107. package/dist/backend/llvm/string-slices.test.d.ts +1 -0
  108. package/dist/backend/llvm/string-slices.test.js +98 -0
  109. package/dist/backend/llvm/string-slices.test.js.map +1 -0
  110. package/dist/backend/llvm/switch-dispatch.test.js +1 -1
  111. package/dist/backend/llvm/walkers.d.ts +4 -14
  112. package/dist/backend/llvm/walkers.js +53 -311
  113. package/dist/backend/llvm/walkers.js.map +1 -1
  114. package/dist/backend/may-throw.js +1 -1
  115. package/dist/backend/may-throw.js.map +1 -1
  116. package/dist/backend/may-throw.test.js +1 -1
  117. package/dist/backend/native/contracts.d.ts +2 -0
  118. package/dist/backend/native/executable.js +12 -4
  119. package/dist/backend/native/executable.js.map +1 -1
  120. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  121. package/dist/backend/native/runtime-inputs.js +2 -0
  122. package/dist/backend/native/runtime-inputs.js.map +1 -1
  123. package/dist/backend/native-codegen-core.d.ts +6 -0
  124. package/dist/backend/native-codegen-core.js +21 -0
  125. package/dist/backend/native-codegen-core.js.map +1 -1
  126. package/dist/backend/native-codegen.d.ts +4 -0
  127. package/dist/backend/native-codegen.js +34 -18
  128. package/dist/backend/native-codegen.js.map +1 -1
  129. package/dist/backend/native-codegen.test.js +47 -2
  130. package/dist/backend/native-codegen.test.js.map +1 -1
  131. package/dist/backend/native-link-info-core.d.ts +1 -0
  132. package/dist/backend/native-link-info-core.js.map +1 -1
  133. package/dist/backend/native-tools.d.ts +3 -1
  134. package/dist/backend/native-tools.js +6 -4
  135. package/dist/backend/native-tools.js.map +1 -1
  136. package/dist/backend/runtime-abi.d.ts +2 -2
  137. package/dist/backend/runtime-abi.js +2 -2
  138. package/dist/backend/runtime-pack-core.d.ts +1 -0
  139. package/dist/backend/runtime-pack-core.js +8 -1
  140. package/dist/backend/runtime-pack-core.js.map +1 -1
  141. package/dist/backend/runtime-pack-targets.test.js +41 -4
  142. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  143. package/dist/backend/runtime-pack.test.js +11 -1
  144. package/dist/backend/runtime-pack.test.js.map +1 -1
  145. package/dist/backend/target-diagnostics.test.js +1 -1
  146. package/dist/executable/executable-cache.d.ts +1 -0
  147. package/dist/executable/executable-cache.js +2 -1
  148. package/dist/executable/executable-cache.js.map +1 -1
  149. package/dist/executable/executable-cache.test.js +15 -0
  150. package/dist/executable/executable-cache.test.js.map +1 -1
  151. package/dist/frontend/fork-target.d.ts +5 -0
  152. package/dist/frontend/fork-target.js +40 -8
  153. package/dist/frontend/fork-target.js.map +1 -1
  154. package/dist/frontend/fork-target.test.d.ts +1 -0
  155. package/dist/frontend/fork-target.test.js +59 -0
  156. package/dist/frontend/fork-target.test.js.map +1 -0
  157. package/dist/frontend/lowering/binding-analysis.js +2 -2
  158. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  159. package/dist/frontend/lowering/builtins/atomics.d.ts +2 -11
  160. package/dist/frontend/lowering/builtins/atomics.js +64 -28
  161. package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
  162. package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +3 -0
  163. package/dist/frontend/lowering/builtins/filesystem-calls.js +51 -4
  164. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  165. package/dist/frontend/lowering/builtins/module-calls.js +6 -1
  166. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  167. package/dist/frontend/lowering/builtins/workers.d.ts +5 -0
  168. package/dist/frontend/lowering/builtins/workers.js +65 -0
  169. package/dist/frontend/lowering/builtins/workers.js.map +1 -0
  170. package/dist/frontend/lowering/class-assertions.d.ts +7 -0
  171. package/dist/frontend/lowering/class-assertions.js +96 -0
  172. package/dist/frontend/lowering/class-assertions.js.map +1 -0
  173. package/dist/frontend/lowering/class-protocols.d.ts +17 -0
  174. package/dist/frontend/lowering/class-protocols.js +126 -0
  175. package/dist/frontend/lowering/class-protocols.js.map +1 -0
  176. package/dist/frontend/lowering/containers/array-callbacks.d.ts +7 -11
  177. package/dist/frontend/lowering/containers/array-callbacks.js +52 -87
  178. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  179. package/dist/frontend/lowering/containers/bytes.js +12 -34
  180. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  181. package/dist/frontend/lowering/containers/string-and-regexp.js +22 -3
  182. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  183. package/dist/frontend/lowering/expressions/object-literals.js +2 -6
  184. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  185. package/dist/frontend/lowering/generic-functions.d.ts +2 -5
  186. package/dist/frontend/lowering/generic-functions.js +13 -10
  187. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  188. package/dist/frontend/lowering/instantiation-path.d.ts +8 -0
  189. package/dist/frontend/lowering/instantiation-path.js +10 -0
  190. package/dist/frontend/lowering/instantiation-path.js.map +1 -0
  191. package/dist/frontend/lowering/instantiation-path.test.d.ts +1 -0
  192. package/dist/frontend/lowering/instantiation-path.test.js +23 -0
  193. package/dist/frontend/lowering/instantiation-path.test.js.map +1 -0
  194. package/dist/frontend/lowering/lower-builtin-values.js +11 -7
  195. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  196. package/dist/frontend/lowering/lower-calls.js +36 -3
  197. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  198. package/dist/frontend/lowering/lower-classes.d.ts +5 -0
  199. package/dist/frontend/lowering/lower-classes.js +121 -53
  200. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  201. package/dist/frontend/lowering/lower-event-emitter.js +1 -1
  202. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  203. package/dist/frontend/lowering/lower-exprs.js +31 -10
  204. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  205. package/dist/frontend/lowering/lower-functions.d.ts +1 -1
  206. package/dist/frontend/lowering/lower-functions.js +2 -2
  207. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  208. package/dist/frontend/lowering/lower-island.js +1 -1
  209. package/dist/frontend/lowering/lower-island.js.map +1 -1
  210. package/dist/frontend/lowering/lower-modules.d.ts +1 -0
  211. package/dist/frontend/lowering/lower-modules.js +44 -9
  212. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  213. package/dist/frontend/lowering/lower-stmts.js +13 -11
  214. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  215. package/dist/frontend/lowering/lower-stream.js +1 -1
  216. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  217. package/dist/frontend/lowering/lowerer.d.ts +13 -1
  218. package/dist/frontend/lowering/lowerer.js +51 -9
  219. package/dist/frontend/lowering/lowerer.js.map +1 -1
  220. package/dist/frontend/lowering/sanitize-class-types.test.js +2 -2
  221. package/dist/frontend/lowering/split-consumers.d.ts +7 -0
  222. package/dist/frontend/lowering/split-consumers.js +64 -0
  223. package/dist/frontend/lowering/split-consumers.js.map +1 -0
  224. package/dist/frontend/lowering/surfaces.d.ts +3 -4
  225. package/dist/frontend/lowering/surfaces.js +35 -7
  226. package/dist/frontend/lowering/surfaces.js.map +1 -1
  227. package/dist/frontend/module-source-candidates.d.ts +10 -0
  228. package/dist/frontend/module-source-candidates.js +40 -0
  229. package/dist/frontend/module-source-candidates.js.map +1 -0
  230. package/dist/frontend/module-source-candidates.test.d.ts +1 -0
  231. package/dist/frontend/module-source-candidates.test.js +53 -0
  232. package/dist/frontend/module-source-candidates.test.js.map +1 -0
  233. package/dist/frontend/pipeline.js +2 -2
  234. package/dist/frontend/pipeline.js.map +1 -1
  235. package/dist/frontend/program-analysis.d.ts +2 -0
  236. package/dist/frontend/program-analysis.js +2 -0
  237. package/dist/frontend/program-analysis.js.map +1 -1
  238. package/dist/frontend/program.js +17 -29
  239. package/dist/frontend/program.js.map +1 -1
  240. package/dist/frontend/ts7/ast-node.js +6 -8
  241. package/dist/frontend/ts7/ast-node.js.map +1 -1
  242. package/dist/frontend/ts7/ast-node.test.js +42 -1
  243. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  244. package/dist/frontend/ts7/ast-wire.d.ts +4 -0
  245. package/dist/frontend/ts7/ast-wire.js +28 -0
  246. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  247. package/dist/frontend/ts7/ast.d.ts +2 -1
  248. package/dist/frontend/ts7/ast.js +8 -4
  249. package/dist/frontend/ts7/ast.js.map +1 -1
  250. package/dist/frontend/ts7/checker.d.ts +8 -2
  251. package/dist/frontend/ts7/checker.js +41 -5
  252. package/dist/frontend/ts7/checker.js.map +1 -1
  253. package/dist/frontend/ts7/checker.test.js +42 -0
  254. package/dist/frontend/ts7/checker.test.js.map +1 -1
  255. package/dist/frontend/ts7/program-host.d.ts +7 -0
  256. package/dist/frontend/ts7/program-host.js +26 -2
  257. package/dist/frontend/ts7/program-host.js.map +1 -1
  258. package/dist/frontend/ts7/program-host.test.js +29 -0
  259. package/dist/frontend/ts7/program-host.test.js.map +1 -1
  260. package/dist/frontend/type-mapper.d.ts +3 -0
  261. package/dist/frontend/type-mapper.js +44 -2
  262. package/dist/frontend/type-mapper.js.map +1 -1
  263. package/dist/frontend/worker-target.d.ts +6 -0
  264. package/dist/frontend/worker-target.js +108 -0
  265. package/dist/frontend/worker-target.js.map +1 -0
  266. package/dist/frontend/worker-target.test.d.ts +1 -0
  267. package/dist/frontend/worker-target.test.js +71 -0
  268. package/dist/frontend/worker-target.test.js.map +1 -0
  269. package/dist/index.js +24 -7
  270. package/dist/index.js.map +1 -1
  271. package/dist/ir/builtin-effects.js +12 -0
  272. package/dist/ir/builtin-effects.js.map +1 -1
  273. package/dist/ir/builtin-signatures.d.ts +1 -1
  274. package/dist/ir/builtin-signatures.js +13 -12
  275. package/dist/ir/builtin-signatures.js.map +1 -1
  276. package/dist/ir/constant-tables.test.js +1 -1
  277. package/dist/ir/initializer-bindings.test.js +1 -1
  278. package/dist/ir/ir.d.ts +9 -10
  279. package/dist/ir/ir.js.map +1 -1
  280. package/dist/ir/numeric-call-specialization.d.ts +8 -0
  281. package/dist/ir/numeric-call-specialization.js +198 -0
  282. package/dist/ir/numeric-call-specialization.js.map +1 -0
  283. package/dist/ir/runtime-features.js +4 -3
  284. package/dist/ir/runtime-features.js.map +1 -1
  285. package/dist/ir/scalar-records.test.js +1 -1
  286. package/dist/ir/serialize.d.ts +1 -1
  287. package/dist/ir/serialize.js +3 -3
  288. package/dist/ir/serialize.js.map +1 -1
  289. package/dist/ir/validate.js +89 -23
  290. package/dist/ir/validate.js.map +1 -1
  291. package/dist/ir/validate.test.js +91 -4
  292. package/dist/ir/validate.test.js.map +1 -1
  293. package/dist/library/fence-eval.test.js +1 -1
  294. package/dist/library/int-infer.test.js +4 -4
  295. package/dist/library/ir-policy.js +2 -0
  296. package/dist/library/ir-policy.js.map +1 -1
  297. package/dist/library/library-cache.test.js +5 -5
  298. package/dist/native/compiler.js +24 -11
  299. package/dist/native/compiler.js.map +1 -1
  300. package/dist/native/compiler.test.js +7 -3
  301. package/dist/native/compiler.test.js.map +1 -1
  302. package/dist/native/prepare.js +2 -0
  303. package/dist/native/prepare.js.map +1 -1
  304. package/dist/native/sanitizer.test.js +1 -0
  305. package/dist/native/sanitizer.test.js.map +1 -1
  306. package/package.json +20 -20
  307. package/surface-manifest.json +30 -2
@@ -19,5 +19,5 @@ export declare function lowerNestedFunctionDecl(lowerer: Lowerer, stmt: ts.Funct
19
19
  /** Lifts an arrow function / function expression / nested declaration /
20
20
  * object-literal shorthand method to a module-level function and yields
21
21
  * the `closure` expression creating it. */
22
- export declare function lowerLambda(lowerer: Lowerer, node: ts.ArrowFunction | ts.FunctionExpression | ts.FunctionDeclaration | ts.MethodDeclaration | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration): IrExpr;
22
+ export declare function lowerLambda(lowerer: Lowerer, node: ts.ArrowFunction | ts.FunctionExpression | ts.FunctionDeclaration | ts.MethodDeclaration | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration, checkedReceiver?: boolean): IrExpr;
23
23
  export declare function lowerFunction(lowerer: Lowerer, decl: ts.FunctionDeclaration): IrFunction | null;
@@ -103,7 +103,7 @@ function declareFunctionArguments(lowerer, node, shapes, params, prologue, loc,
103
103
  /** Lifts an arrow function / function expression / nested declaration /
104
104
  * object-literal shorthand method to a module-level function and yields
105
105
  * the `closure` expression creating it. */
106
- export function lowerLambda(lowerer, node) {
106
+ export function lowerLambda(lowerer, node, checkedReceiver = false) {
107
107
  const prepared = ts.isArrowFunction(node) || ts.isFunctionExpression(node)
108
108
  ? lowerer.preparedClassFactories.get(node)
109
109
  : undefined;
@@ -191,7 +191,7 @@ export function lowerLambda(lowerer, node) {
191
191
  // Checked JavaScript functions take their receiver from the call site.
192
192
  // Store it as this function's binding so escaping arrows capture it,
193
193
  // and a method nested inside another method never captures its owner.
194
- if (isJsSourceFile(node.getSourceFile()) && !ts.isArrowFunction(node)) {
194
+ if ((checkedReceiver || isJsSourceFile(node.getSourceFile())) && !ts.isArrowFunction(node)) {
195
195
  const receiver = lowerer.declareThis(DYN);
196
196
  prologue.unshift({
197
197
  kind: "varDecl",
@@ -1 +1 @@
1
- {"version":3,"file":"lower-functions.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lower-functions.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-functions.ts"],"names":[],"mappings":"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"}
@@ -290,7 +290,7 @@ function requestInitPropMutatedSymbols(lowerer) {
290
290
  /* not a traceable RequestInit candidate */
291
291
  }
292
292
  };
293
- for (const source of lowerer.program.getSourceFiles()) {
293
+ for (const source of lowerer.program.getImplementationSourceFiles()) {
294
294
  if (source.isDeclarationFile)
295
295
  continue;
296
296
  const walk = (node) => {