@eagleoutice/flowr 2.6.0 → 2.6.2

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 (703) hide show
  1. package/README.md +142 -45
  2. package/abstract-interpretation/data-frame/absint-info.d.ts +1 -1
  3. package/abstract-interpretation/data-frame/absint-visitor.d.ts +3 -4
  4. package/abstract-interpretation/data-frame/absint-visitor.js +16 -11
  5. package/abstract-interpretation/data-frame/dataframe-domain.d.ts +18 -12
  6. package/abstract-interpretation/data-frame/dataframe-domain.js +25 -13
  7. package/abstract-interpretation/data-frame/mappers/access-mapper.d.ts +0 -1
  8. package/abstract-interpretation/data-frame/mappers/access-mapper.js +0 -1
  9. package/abstract-interpretation/data-frame/mappers/arguments.d.ts +1 -10
  10. package/abstract-interpretation/data-frame/mappers/arguments.js +0 -7
  11. package/abstract-interpretation/data-frame/mappers/assignment-mapper.d.ts +0 -1
  12. package/abstract-interpretation/data-frame/mappers/assignment-mapper.js +0 -1
  13. package/abstract-interpretation/data-frame/mappers/function-mapper.d.ts +4 -5
  14. package/abstract-interpretation/data-frame/mappers/function-mapper.js +3 -4
  15. package/abstract-interpretation/data-frame/mappers/replacement-mapper.d.ts +0 -1
  16. package/abstract-interpretation/data-frame/mappers/replacement-mapper.js +0 -1
  17. package/abstract-interpretation/data-frame/resolve-args.d.ts +1 -1
  18. package/abstract-interpretation/data-frame/semantics.d.ts +3 -4
  19. package/abstract-interpretation/data-frame/semantics.js +171 -162
  20. package/abstract-interpretation/data-frame/shape-inference.d.ts +1 -4
  21. package/abstract-interpretation/data-frame/shape-inference.js +7 -9
  22. package/abstract-interpretation/domains/abstract-domain.d.ts +59 -18
  23. package/abstract-interpretation/domains/abstract-domain.js +74 -1
  24. package/abstract-interpretation/domains/bounded-set-domain.d.ts +37 -24
  25. package/abstract-interpretation/domains/bounded-set-domain.js +70 -47
  26. package/abstract-interpretation/domains/interval-domain.d.ts +33 -25
  27. package/abstract-interpretation/domains/interval-domain.js +109 -50
  28. package/abstract-interpretation/domains/lattice.d.ts +19 -11
  29. package/abstract-interpretation/domains/mapped-abstract-domain.d.ts +34 -0
  30. package/abstract-interpretation/domains/mapped-abstract-domain.js +189 -0
  31. package/abstract-interpretation/domains/positive-interval-domain.d.ts +16 -12
  32. package/abstract-interpretation/domains/positive-interval-domain.js +20 -11
  33. package/abstract-interpretation/domains/product-domain.d.ts +18 -23
  34. package/abstract-interpretation/domains/product-domain.js +11 -19
  35. package/abstract-interpretation/domains/satisfiable-domain.d.ts +29 -0
  36. package/abstract-interpretation/domains/satisfiable-domain.js +24 -0
  37. package/abstract-interpretation/domains/set-upper-bound-domain.d.ts +54 -0
  38. package/abstract-interpretation/domains/set-upper-bound-domain.js +197 -0
  39. package/abstract-interpretation/domains/singleton-domain.d.ts +24 -19
  40. package/abstract-interpretation/domains/singleton-domain.js +52 -37
  41. package/abstract-interpretation/domains/state-abstract-domain.d.ts +8 -24
  42. package/abstract-interpretation/domains/state-abstract-domain.js +2 -167
  43. package/abstract-interpretation/normalized-ast-fold.d.ts +1 -7
  44. package/abstract-interpretation/normalized-ast-fold.js +0 -5
  45. package/benchmark/slicer.d.ts +3 -7
  46. package/benchmark/slicer.js +14 -19
  47. package/benchmark/stats/print.d.ts +6 -0
  48. package/benchmark/stats/print.js +6 -0
  49. package/benchmark/stats/size-of.d.ts +0 -1
  50. package/benchmark/stats/size-of.js +0 -1
  51. package/benchmark/stats/stats.d.ts +2 -2
  52. package/benchmark/stopwatch.d.ts +11 -13
  53. package/benchmark/stopwatch.js +11 -13
  54. package/benchmark/summarizer/first-phase/input.d.ts +6 -0
  55. package/benchmark/summarizer/first-phase/input.js +6 -0
  56. package/benchmark/summarizer/first-phase/process.d.ts +13 -1
  57. package/benchmark/summarizer/first-phase/process.js +12 -0
  58. package/benchmark/summarizer/second-phase/graph.d.ts +3 -0
  59. package/benchmark/summarizer/second-phase/graph.js +3 -0
  60. package/benchmark/summarizer/second-phase/process.d.ts +12 -0
  61. package/benchmark/summarizer/second-phase/process.js +12 -0
  62. package/benchmark/summarizer/summarizer.d.ts +1 -2
  63. package/cli/benchmark-app.js +0 -2
  64. package/cli/common/features.d.ts +7 -1
  65. package/cli/common/features.js +6 -0
  66. package/cli/common/script.d.ts +3 -1
  67. package/cli/common/script.js +3 -1
  68. package/cli/common/scripts-info.d.ts +3 -1
  69. package/cli/common/scripts-info.js +3 -0
  70. package/cli/flowr-main-options.d.ts +3 -0
  71. package/cli/flowr-main-options.js +3 -0
  72. package/cli/flowr.js +8 -4
  73. package/cli/repl/commands/repl-cfg.js +4 -4
  74. package/cli/repl/commands/repl-commands.d.ts +13 -0
  75. package/cli/repl/commands/repl-commands.js +15 -4
  76. package/cli/repl/commands/repl-dataflow.js +4 -4
  77. package/cli/repl/commands/repl-execute.d.ts +5 -1
  78. package/cli/repl/commands/repl-execute.js +12 -8
  79. package/cli/repl/commands/repl-main.d.ts +17 -14
  80. package/cli/repl/commands/repl-normalize.js +2 -2
  81. package/cli/repl/commands/repl-parse.js +4 -3
  82. package/cli/repl/commands/repl-query.js +18 -7
  83. package/cli/repl/commands/repl-quit.js +1 -1
  84. package/cli/repl/commands/repl-version.d.ts +1 -16
  85. package/cli/repl/commands/repl-version.js +2 -19
  86. package/cli/repl/core.d.ts +32 -14
  87. package/cli/repl/core.js +38 -35
  88. package/cli/repl/execute.d.ts +0 -2
  89. package/cli/repl/execute.js +0 -2
  90. package/cli/repl/parser/slice-query-parser.d.ts +14 -0
  91. package/cli/repl/parser/slice-query-parser.js +34 -0
  92. package/cli/repl/print-version.d.ts +6 -0
  93. package/cli/repl/print-version.js +8 -2
  94. package/cli/repl/server/compact.d.ts +8 -0
  95. package/cli/repl/server/compact.js +8 -0
  96. package/cli/repl/server/connection.d.ts +4 -3
  97. package/cli/repl/server/connection.js +9 -33
  98. package/cli/repl/server/messages/all-messages.d.ts +1 -3
  99. package/cli/repl/server/messages/all-messages.js +0 -1
  100. package/cli/repl/server/messages/message-analysis.d.ts +0 -2
  101. package/cli/repl/server/messages/message-hello.d.ts +1 -1
  102. package/cli/repl/server/messages/message-query.d.ts +1 -1
  103. package/cli/repl/server/messages/message-repl.d.ts +0 -1
  104. package/cli/repl/server/send.d.ts +6 -0
  105. package/cli/repl/server/send.js +6 -0
  106. package/cli/repl/server/server.d.ts +1 -1
  107. package/cli/repl/server/server.js +2 -2
  108. package/cli/repl/server/validate.d.ts +10 -1
  109. package/cli/repl/server/validate.js +9 -0
  110. package/cli/run-script.d.ts +1 -2
  111. package/cli/run-script.js +0 -1
  112. package/cli/script-core/statistics-core.d.ts +3 -0
  113. package/cli/script-core/statistics-core.js +3 -0
  114. package/cli/script-core/statistics-helper-core.d.ts +4 -1
  115. package/cli/script-core/statistics-helper-core.js +3 -0
  116. package/cli/script-core/summarizer-core.d.ts +3 -0
  117. package/cli/script-core/summarizer-core.js +3 -0
  118. package/cli/summarizer-app.d.ts +2 -3
  119. package/cli/summarizer-app.js +2 -3
  120. package/config.d.ts +17 -3
  121. package/config.js +15 -0
  122. package/control-flow/basic-cfg-guided-visitor.d.ts +1 -2
  123. package/control-flow/basic-cfg-guided-visitor.js +0 -1
  124. package/control-flow/cfg-to-basic-blocks.d.ts +1 -1
  125. package/control-flow/control-flow-graph.d.ts +20 -12
  126. package/control-flow/control-flow-graph.js +16 -4
  127. package/control-flow/dfg-cfg-guided-visitor.d.ts +2 -3
  128. package/control-flow/diff-cfg.d.ts +3 -5
  129. package/control-flow/diff-cfg.js +0 -1
  130. package/control-flow/extract-cfg.d.ts +3 -6
  131. package/control-flow/extract-cfg.js +0 -3
  132. package/control-flow/happens-before.d.ts +1 -1
  133. package/control-flow/semantic-cfg-guided-visitor.d.ts +2 -31
  134. package/control-flow/semantic-cfg-guided-visitor.js +0 -28
  135. package/control-flow/simple-visitor.d.ts +1 -3
  136. package/control-flow/simple-visitor.js +0 -2
  137. package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
  138. package/control-flow/useless-loop.d.ts +0 -3
  139. package/control-flow/useless-loop.js +2 -5
  140. package/core/pipeline-executor.d.ts +8 -16
  141. package/core/pipeline-executor.js +9 -18
  142. package/core/print/dataflow-printer.d.ts +19 -0
  143. package/core/print/dataflow-printer.js +19 -0
  144. package/core/print/normalize-printer.d.ts +21 -1
  145. package/core/print/normalize-printer.js +20 -0
  146. package/core/print/parse-printer.d.ts +6 -1
  147. package/core/print/parse-printer.js +5 -0
  148. package/core/print/print.d.ts +0 -1
  149. package/core/print/print.js +0 -1
  150. package/core/print/slice-diff-ansi.d.ts +3 -0
  151. package/core/print/slice-diff-ansi.js +3 -0
  152. package/core/steps/all/core/00-parse.d.ts +1 -1
  153. package/core/steps/all/core/01-parse-tree-sitter.d.ts +1 -11
  154. package/core/steps/all/core/10-normalize.d.ts +3 -0
  155. package/core/steps/all/core/10-normalize.js +3 -0
  156. package/core/steps/all/core/11-normalize-tree-sitter.d.ts +4 -3
  157. package/core/steps/all/core/20-dataflow.d.ts +3 -1
  158. package/core/steps/pipeline/create-pipeline.d.ts +1 -1
  159. package/core/steps/pipeline/default-pipelines.d.ts +29 -13
  160. package/core/steps/pipeline/default-pipelines.js +0 -4
  161. package/core/steps/pipeline/pipeline.d.ts +1 -8
  162. package/core/steps/pipeline/pipeline.js +1 -3
  163. package/core/steps/pipeline-step.d.ts +0 -1
  164. package/core/steps/pipeline-step.js +0 -1
  165. package/dataflow/cluster.d.ts +3 -0
  166. package/dataflow/cluster.js +3 -0
  167. package/dataflow/environments/append.d.ts +1 -1
  168. package/dataflow/environments/built-in-config.d.ts +1 -5
  169. package/dataflow/environments/built-in-config.js +0 -1
  170. package/dataflow/environments/built-in.d.ts +10 -5
  171. package/dataflow/environments/built-in.js +6 -1
  172. package/dataflow/environments/clone.d.ts +1 -1
  173. package/dataflow/environments/default-builtin-config.d.ts +3 -0
  174. package/dataflow/environments/default-builtin-config.js +12 -1
  175. package/dataflow/environments/diff.d.ts +11 -2
  176. package/dataflow/environments/diff.js +9 -0
  177. package/dataflow/environments/environment.d.ts +3 -3
  178. package/dataflow/environments/environment.js +8 -6
  179. package/dataflow/environments/identifier.d.ts +0 -4
  180. package/dataflow/environments/identifier.js +0 -1
  181. package/dataflow/environments/overwrite.d.ts +4 -1
  182. package/dataflow/environments/overwrite.js +3 -0
  183. package/dataflow/environments/resolve-by-name.d.ts +4 -4
  184. package/dataflow/environments/resolve-by-name.js +3 -2
  185. package/dataflow/environments/scoping.d.ts +4 -1
  186. package/dataflow/environments/scoping.js +3 -0
  187. package/dataflow/eval/resolve/alias-tracking.d.ts +4 -10
  188. package/dataflow/eval/resolve/alias-tracking.js +13 -14
  189. package/dataflow/eval/resolve/resolve-argument.d.ts +1 -1
  190. package/dataflow/eval/resolve/resolve.d.ts +1 -7
  191. package/dataflow/eval/resolve/resolve.js +3 -5
  192. package/dataflow/eval/values/general.d.ts +1 -3
  193. package/dataflow/eval/values/general.js +0 -1
  194. package/dataflow/eval/values/intervals/interval-constants.d.ts +7 -1
  195. package/dataflow/eval/values/intervals/interval-constants.js +6 -0
  196. package/dataflow/eval/values/logical/logical-constants.d.ts +4 -1
  197. package/dataflow/eval/values/logical/logical-constants.js +3 -0
  198. package/dataflow/eval/values/r-value.d.ts +16 -1
  199. package/dataflow/eval/values/r-value.js +14 -0
  200. package/dataflow/eval/values/scalar/scalar-consatnts.d.ts +7 -1
  201. package/dataflow/eval/values/scalar/scalar-consatnts.js +6 -0
  202. package/dataflow/eval/values/sets/set-constants.d.ts +7 -2
  203. package/dataflow/eval/values/sets/set-constants.js +6 -0
  204. package/dataflow/eval/values/string/string-constants.d.ts +10 -1
  205. package/dataflow/eval/values/string/string-constants.js +9 -0
  206. package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
  207. package/dataflow/extractor.d.ts +5 -2
  208. package/dataflow/extractor.js +7 -5
  209. package/dataflow/fn/higher-order-function.d.ts +9 -0
  210. package/dataflow/fn/higher-order-function.js +75 -0
  211. package/dataflow/graph/dataflowgraph-builder.d.ts +20 -38
  212. package/dataflow/graph/dataflowgraph-builder.js +6 -23
  213. package/dataflow/graph/diff-dataflow-graph.d.ts +16 -6
  214. package/dataflow/graph/diff-dataflow-graph.js +12 -1
  215. package/dataflow/graph/edge.d.ts +9 -0
  216. package/dataflow/graph/edge.js +9 -0
  217. package/dataflow/graph/graph.d.ts +6 -19
  218. package/dataflow/graph/graph.js +4 -15
  219. package/dataflow/graph/invert-dfg.d.ts +3 -0
  220. package/dataflow/graph/invert-dfg.js +3 -0
  221. package/dataflow/graph/quads.d.ts +1 -1
  222. package/dataflow/graph/unknown-replacement.d.ts +6 -0
  223. package/dataflow/graph/unknown-replacement.js +6 -0
  224. package/dataflow/graph/unknown-side-effect.d.ts +8 -0
  225. package/dataflow/graph/unknown-side-effect.js +8 -0
  226. package/dataflow/graph/vertex.d.ts +9 -9
  227. package/dataflow/graph/vertex.js +9 -1
  228. package/dataflow/info.d.ts +9 -10
  229. package/dataflow/info.js +6 -1
  230. package/dataflow/internal/linker.d.ts +25 -9
  231. package/dataflow/internal/linker.js +23 -7
  232. package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
  233. package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -0
  234. package/dataflow/internal/process/functions/call/argument/unpack-argument.d.ts +1 -1
  235. package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +4 -1
  236. package/dataflow/internal/process/functions/call/built-in/built-in-access.js +3 -1
  237. package/dataflow/internal/process/functions/call/built-in/built-in-apply.d.ts +4 -1
  238. package/dataflow/internal/process/functions/call/built-in/built-in-apply.js +3 -0
  239. package/dataflow/internal/process/functions/call/built-in/built-in-assignment.d.ts +2 -2
  240. package/dataflow/internal/process/functions/call/built-in/built-in-eval.d.ts +6 -3
  241. package/dataflow/internal/process/functions/call/built-in/built-in-eval.js +3 -0
  242. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.d.ts +4 -1
  243. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +3 -0
  244. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.d.ts +5 -2
  245. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +3 -0
  246. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.d.ts +10 -4
  247. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +6 -0
  248. package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +3 -0
  249. package/dataflow/internal/process/functions/call/built-in/built-in-get.js +3 -0
  250. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.d.ts +5 -2
  251. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +4 -0
  252. package/dataflow/internal/process/functions/call/built-in/built-in-library.d.ts +3 -0
  253. package/dataflow/internal/process/functions/call/built-in/built-in-library.js +3 -0
  254. package/dataflow/internal/process/functions/call/built-in/built-in-list.d.ts +1 -1
  255. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.d.ts +3 -0
  256. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +3 -0
  257. package/dataflow/internal/process/functions/call/built-in/built-in-quote.d.ts +3 -0
  258. package/dataflow/internal/process/functions/call/built-in/built-in-quote.js +3 -0
  259. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +5 -2
  260. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +3 -0
  261. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.d.ts +6 -3
  262. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +3 -1
  263. package/dataflow/internal/process/functions/call/built-in/built-in-rm.d.ts +4 -1
  264. package/dataflow/internal/process/functions/call/built-in/built-in-rm.js +3 -0
  265. package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +23 -6
  266. package/dataflow/internal/process/functions/call/built-in/built-in-source.js +20 -1
  267. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +3 -0
  268. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +3 -0
  269. package/dataflow/internal/process/functions/call/built-in/built-in-vector.d.ts +1 -1
  270. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.d.ts +5 -2
  271. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +3 -0
  272. package/dataflow/internal/process/functions/call/common.d.ts +11 -5
  273. package/dataflow/internal/process/functions/call/common.js +6 -0
  274. package/dataflow/internal/process/functions/call/default-call-handling.d.ts +3 -0
  275. package/dataflow/internal/process/functions/call/default-call-handling.js +3 -0
  276. package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
  277. package/dataflow/internal/process/functions/call/known-call-handling.js +7 -0
  278. package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
  279. package/dataflow/internal/process/functions/call/named-call-handling.js +6 -0
  280. package/dataflow/internal/process/functions/call/unnamed-call-handling.d.ts +4 -1
  281. package/dataflow/internal/process/functions/call/unnamed-call-handling.js +3 -0
  282. package/dataflow/internal/process/functions/process-argument.d.ts +8 -2
  283. package/dataflow/internal/process/functions/process-argument.js +6 -0
  284. package/dataflow/internal/process/functions/process-parameter.d.ts +5 -2
  285. package/dataflow/internal/process/functions/process-parameter.js +3 -0
  286. package/dataflow/internal/process/process-symbol.d.ts +3 -0
  287. package/dataflow/internal/process/process-symbol.js +3 -0
  288. package/dataflow/internal/process/process-uninteresting-leaf.d.ts +3 -0
  289. package/dataflow/internal/process/process-uninteresting-leaf.js +3 -0
  290. package/dataflow/internal/process/process-value.d.ts +3 -0
  291. package/dataflow/internal/process/process-value.js +3 -0
  292. package/dataflow/origin/dfg-get-origin.d.ts +0 -2
  293. package/dataflow/origin/dfg-get-symbol-refs.d.ts +5 -7
  294. package/dataflow/origin/dfg-get-symbol-refs.js +6 -8
  295. package/dataflow/processor.d.ts +0 -1
  296. package/dataflow/processor.js +0 -1
  297. package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -0
  298. package/documentation/data/dfg/doc-data-dfg-util.js +6 -0
  299. package/documentation/data/faq/faqs.d.ts +5 -0
  300. package/documentation/data/faq/faqs.js +78 -0
  301. package/documentation/data/faq/wiki-faq-store.d.ts +18 -0
  302. package/documentation/data/faq/wiki-faq-store.js +75 -0
  303. package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
  304. package/documentation/data/server/doc-data-server-messages.js +4 -63
  305. package/documentation/doc-util/doc-auto-gen.d.ts +6 -0
  306. package/documentation/doc-util/doc-auto-gen.js +6 -0
  307. package/documentation/doc-util/doc-benchmarks.d.ts +12 -0
  308. package/documentation/doc-util/doc-benchmarks.js +12 -0
  309. package/documentation/doc-util/doc-cfg.d.ts +7 -1
  310. package/documentation/doc-util/doc-cfg.js +9 -0
  311. package/documentation/doc-util/doc-cli-option.d.ts +9 -0
  312. package/documentation/doc-util/doc-cli-option.js +9 -0
  313. package/documentation/doc-util/doc-code.d.ts +24 -0
  314. package/documentation/doc-util/doc-code.js +24 -0
  315. package/documentation/doc-util/doc-dfg.d.ts +7 -1
  316. package/documentation/doc-util/doc-dfg.js +9 -0
  317. package/documentation/doc-util/doc-env.d.ts +3 -0
  318. package/documentation/doc-util/doc-env.js +3 -0
  319. package/documentation/doc-util/doc-escape.d.ts +0 -1
  320. package/documentation/doc-util/doc-escape.js +0 -1
  321. package/documentation/doc-util/doc-files.d.ts +11 -0
  322. package/documentation/doc-util/doc-files.js +15 -4
  323. package/documentation/doc-util/doc-general.d.ts +6 -0
  324. package/documentation/doc-util/doc-general.js +6 -0
  325. package/documentation/doc-util/doc-normalized-ast.d.ts +7 -1
  326. package/documentation/doc-util/doc-normalized-ast.js +6 -0
  327. package/documentation/doc-util/doc-query.d.ts +15 -0
  328. package/documentation/doc-util/doc-query.js +17 -2
  329. package/documentation/doc-util/doc-repl.d.ts +6 -0
  330. package/documentation/doc-util/doc-repl.js +11 -2
  331. package/documentation/doc-util/doc-search.d.ts +15 -0
  332. package/documentation/doc-util/doc-search.js +17 -2
  333. package/documentation/doc-util/doc-server-message.d.ts +13 -1
  334. package/documentation/doc-util/doc-server-message.js +13 -1
  335. package/documentation/doc-util/doc-structure.d.ts +9 -0
  336. package/documentation/doc-util/doc-structure.js +10 -1
  337. package/documentation/doc-util/doc-types.d.ts +42 -0
  338. package/documentation/doc-util/doc-types.js +42 -0
  339. package/documentation/print-analyzer-wiki.js +4 -0
  340. package/documentation/print-core-wiki.d.ts +3 -0
  341. package/documentation/print-core-wiki.js +5 -2
  342. package/documentation/print-dataflow-graph-wiki.js +7 -7
  343. package/documentation/print-faq-wiki.js +3 -75
  344. package/documentation/print-interface-wiki.js +1 -1
  345. package/documentation/print-onboarding-wiki.js +1 -1
  346. package/documentation/print-query-wiki.js +24 -34
  347. package/documentation/print-readme.js +106 -1
  348. package/engines.d.ts +1 -1
  349. package/linter/linter-executor.d.ts +6 -3
  350. package/linter/linter-executor.js +3 -0
  351. package/linter/linter-format.d.ts +8 -0
  352. package/linter/linter-format.js +8 -0
  353. package/linter/rules/absolute-path.d.ts +3 -4
  354. package/linter/rules/dataframe-access-validation.d.ts +3 -4
  355. package/linter/rules/dataframe-access-validation.js +9 -11
  356. package/linter/rules/dead-code.d.ts +1 -1
  357. package/linter/rules/deprecated-functions.d.ts +1 -1
  358. package/linter/rules/file-path-validity.d.ts +1 -2
  359. package/linter/rules/function-finder-util.d.ts +1 -2
  360. package/linter/rules/naming-convention.d.ts +13 -2
  361. package/linter/rules/naming-convention.js +13 -1
  362. package/linter/rules/network-functions.d.ts +1 -1
  363. package/linter/rules/seeded-randomness.d.ts +1 -2
  364. package/linter/rules/unused-definition.d.ts +2 -3
  365. package/linter/rules/useless-loop.d.ts +1 -2
  366. package/package.json +2 -2
  367. package/project/cache/flowr-analyzer-cache.d.ts +8 -14
  368. package/project/cache/flowr-analyzer-cache.js +21 -19
  369. package/project/cfg-kind.d.ts +17 -0
  370. package/project/cfg-kind.js +22 -0
  371. package/project/context/abstract-flowr-analyzer-context.d.ts +4 -0
  372. package/project/context/flowr-analyzer-context.d.ts +9 -6
  373. package/project/context/flowr-analyzer-context.js +11 -0
  374. package/project/context/flowr-analyzer-dependencies-context.d.ts +1 -1
  375. package/project/context/flowr-analyzer-dependencies-context.js +4 -0
  376. package/project/context/flowr-analyzer-files-context.d.ts +3 -4
  377. package/project/context/flowr-analyzer-files-context.js +4 -0
  378. package/project/context/flowr-analyzer-loading-order-context.d.ts +1 -0
  379. package/project/context/flowr-analyzer-loading-order-context.js +6 -0
  380. package/project/context/flowr-file.d.ts +0 -1
  381. package/project/flowr-analyzer-builder.d.ts +1 -3
  382. package/project/flowr-analyzer-builder.js +5 -6
  383. package/project/flowr-analyzer.d.ts +42 -32
  384. package/project/flowr-analyzer.js +14 -8
  385. package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +1 -1
  386. package/project/plugins/file-plugins/flowr-description-file.d.ts +1 -3
  387. package/project/plugins/file-plugins/flowr-description-file.js +0 -1
  388. package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.d.ts +1 -1
  389. package/queries/base-query-format.d.ts +2 -2
  390. package/queries/catalog/call-context-query/call-context-query-executor.d.ts +3 -0
  391. package/queries/catalog/call-context-query/call-context-query-executor.js +5 -1
  392. package/queries/catalog/call-context-query/call-context-query-format.d.ts +3 -3
  393. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.d.ts +11 -2
  394. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +9 -0
  395. package/queries/catalog/cluster-query/cluster-query-executor.d.ts +3 -0
  396. package/queries/catalog/cluster-query/cluster-query-executor.js +3 -0
  397. package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
  398. package/queries/catalog/config-query/config-query-executor.d.ts +3 -0
  399. package/queries/catalog/config-query/config-query-executor.js +3 -0
  400. package/queries/catalog/config-query/config-query-format.d.ts +6 -3
  401. package/queries/catalog/config-query/config-query-format.js +13 -16
  402. package/queries/catalog/control-flow-query/control-flow-query-executor.d.ts +3 -0
  403. package/queries/catalog/control-flow-query/control-flow-query-executor.js +5 -1
  404. package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +3 -3
  405. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.d.ts +3 -0
  406. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.js +3 -0
  407. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
  408. package/queries/catalog/dataflow-query/dataflow-query-executor.d.ts +3 -0
  409. package/queries/catalog/dataflow-query/dataflow-query-executor.js +3 -0
  410. package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
  411. package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +4 -1
  412. package/queries/catalog/dependencies-query/dependencies-query-executor.js +7 -4
  413. package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +4 -1
  414. package/queries/catalog/dependencies-query/dependencies-query-format.js +4 -1
  415. package/queries/catalog/df-shape-query/df-shape-query-executor.d.ts +4 -1
  416. package/queries/catalog/df-shape-query/df-shape-query-executor.js +8 -4
  417. package/queries/catalog/df-shape-query/df-shape-query-format.d.ts +10 -3
  418. package/queries/catalog/df-shape-query/df-shape-query-format.js +24 -5
  419. package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +3 -0
  420. package/queries/catalog/happens-before-query/happens-before-query-executor.js +3 -0
  421. package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
  422. package/queries/catalog/id-map-query/id-map-query-executor.d.ts +3 -0
  423. package/queries/catalog/id-map-query/id-map-query-executor.js +3 -0
  424. package/queries/catalog/id-map-query/id-map-query-format.d.ts +1 -1
  425. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.d.ts +6 -0
  426. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +48 -0
  427. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +22 -0
  428. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.js +32 -0
  429. package/queries/catalog/linter-query/linter-query-executor.d.ts +4 -0
  430. package/queries/catalog/linter-query/linter-query-executor.js +4 -0
  431. package/queries/catalog/linter-query/linter-query-format.d.ts +12 -3
  432. package/queries/catalog/linter-query/linter-query-format.js +67 -0
  433. package/queries/catalog/location-map-query/location-map-query-executor.d.ts +4 -0
  434. package/queries/catalog/location-map-query/location-map-query-executor.js +5 -1
  435. package/queries/catalog/location-map-query/location-map-query-format.d.ts +7 -1
  436. package/queries/catalog/location-map-query/location-map-query-format.js +12 -0
  437. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.d.ts +3 -0
  438. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.js +3 -0
  439. package/queries/catalog/normalized-ast-query/normalized-ast-query-format.d.ts +1 -1
  440. package/queries/catalog/origin-query/origin-query-executor.d.ts +7 -1
  441. package/queries/catalog/origin-query/origin-query-executor.js +6 -0
  442. package/queries/catalog/origin-query/origin-query-format.d.ts +7 -1
  443. package/queries/catalog/origin-query/origin-query-format.js +17 -1
  444. package/queries/catalog/project-query/project-query-executor.d.ts +3 -0
  445. package/queries/catalog/project-query/project-query-executor.js +3 -0
  446. package/queries/catalog/project-query/project-query-format.d.ts +1 -1
  447. package/queries/catalog/resolve-value-query/resolve-value-query-executor.d.ts +6 -0
  448. package/queries/catalog/resolve-value-query/resolve-value-query-executor.js +6 -0
  449. package/queries/catalog/resolve-value-query/resolve-value-query-format.d.ts +7 -1
  450. package/queries/catalog/resolve-value-query/resolve-value-query-format.js +19 -1
  451. package/queries/catalog/search-query/search-query-executor.d.ts +3 -0
  452. package/queries/catalog/search-query/search-query-executor.js +3 -0
  453. package/queries/catalog/search-query/search-query-format.d.ts +1 -1
  454. package/queries/catalog/static-slice-query/static-slice-query-executor.d.ts +9 -0
  455. package/queries/catalog/static-slice-query/static-slice-query-executor.js +9 -0
  456. package/queries/catalog/static-slice-query/static-slice-query-format.d.ts +7 -1
  457. package/queries/catalog/static-slice-query/static-slice-query-format.js +17 -0
  458. package/queries/query-print.d.ts +20 -4
  459. package/queries/query-print.js +18 -2
  460. package/queries/query.d.ts +91 -53
  461. package/queries/query.js +37 -23
  462. package/queries/virtual-query/virtual-queries.d.ts +1 -2
  463. package/r-bridge/data/get.d.ts +6 -0
  464. package/r-bridge/data/get.js +6 -0
  465. package/r-bridge/lang-4.x/ast/model/collect.d.ts +0 -1
  466. package/r-bridge/lang-4.x/ast/model/collect.js +0 -1
  467. package/r-bridge/lang-4.x/ast/model/model.d.ts +8 -11
  468. package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.d.ts +0 -2
  469. package/r-bridge/lang-4.x/ast/model/nodes/r-number.d.ts +3 -0
  470. package/r-bridge/lang-4.x/ast/model/nodes/r-number.js +3 -0
  471. package/r-bridge/lang-4.x/ast/model/nodes/r-string.d.ts +3 -0
  472. package/r-bridge/lang-4.x/ast/model/nodes/r-string.js +3 -0
  473. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.d.ts +3 -0
  474. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.js +3 -0
  475. package/r-bridge/lang-4.x/ast/model/operators.d.ts +0 -1
  476. package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +6 -7
  477. package/r-bridge/lang-4.x/ast/model/processing/decorate.js +6 -6
  478. package/r-bridge/lang-4.x/ast/model/processing/fold.d.ts +1 -1
  479. package/r-bridge/lang-4.x/ast/model/processing/node-id.d.ts +0 -1
  480. package/r-bridge/lang-4.x/ast/model/processing/node-id.js +0 -1
  481. package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +0 -1
  482. package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.d.ts +1 -2
  483. package/r-bridge/lang-4.x/ast/model/processing/visitor.d.ts +0 -1
  484. package/r-bridge/lang-4.x/ast/model/processing/visitor.js +0 -1
  485. package/r-bridge/lang-4.x/ast/model/type.d.ts +4 -5
  486. package/r-bridge/lang-4.x/ast/model/type.js +4 -5
  487. package/r-bridge/lang-4.x/ast/model/versions.d.ts +0 -1
  488. package/r-bridge/lang-4.x/ast/model/versions.js +0 -1
  489. package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +4 -5
  490. package/r-bridge/lang-4.x/ast/parser/json/parser.js +0 -1
  491. package/r-bridge/lang-4.x/ast/parser/main/internal/control/normalize-if-then.d.ts +1 -1
  492. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.d.ts +0 -1
  493. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.js +0 -1
  494. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.d.ts +0 -2
  495. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.js +0 -2
  496. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.d.ts +1 -3
  497. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.js +0 -2
  498. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.d.ts +0 -2
  499. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.js +0 -2
  500. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.d.ts +0 -2
  501. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.js +0 -2
  502. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.d.ts +3 -0
  503. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.js +3 -0
  504. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.d.ts +4 -1
  505. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.js +3 -0
  506. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.d.ts +3 -0
  507. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.js +3 -0
  508. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.d.ts +0 -2
  509. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.js +0 -2
  510. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.d.ts +4 -1
  511. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.js +3 -0
  512. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.d.ts +0 -2
  513. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.js +0 -2
  514. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-binary.d.ts +1 -1
  515. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.d.ts +0 -2
  516. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.js +0 -2
  517. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.d.ts +0 -1
  518. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.js +0 -1
  519. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.d.ts +0 -1
  520. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.js +0 -1
  521. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.d.ts +3 -0
  522. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.js +3 -0
  523. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.d.ts +9 -0
  524. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.js +9 -0
  525. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.d.ts +1 -3
  526. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.js +0 -2
  527. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.d.ts +1 -2
  528. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.js +0 -1
  529. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.d.ts +0 -1
  530. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.js +0 -1
  531. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.d.ts +0 -2
  532. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.js +0 -2
  533. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.d.ts +14 -5
  534. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.js +13 -6
  535. package/r-bridge/lang-4.x/convert-values.d.ts +12 -1
  536. package/r-bridge/lang-4.x/convert-values.js +12 -1
  537. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.d.ts +7 -2
  538. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.js +17 -0
  539. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +13 -1
  540. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +48 -19
  541. package/r-bridge/parser.d.ts +30 -2
  542. package/r-bridge/retriever.d.ts +16 -1
  543. package/r-bridge/retriever.js +15 -0
  544. package/r-bridge/shell-executor.d.ts +3 -3
  545. package/r-bridge/shell-executor.js +6 -1
  546. package/r-bridge/shell.d.ts +24 -23
  547. package/r-bridge/shell.js +37 -31
  548. package/reconstruct/auto-select/auto-select-defaults.d.ts +0 -1
  549. package/reconstruct/auto-select/magic-comments.d.ts +1 -2
  550. package/reconstruct/auto-select/magic-comments.js +1 -2
  551. package/reconstruct/reconstruct.d.ts +1 -3
  552. package/reconstruct/reconstruct.js +0 -2
  553. package/search/flowr-search-builder.d.ts +12 -5
  554. package/search/flowr-search-builder.js +7 -2
  555. package/search/flowr-search-executor.d.ts +3 -3
  556. package/search/flowr-search-filters.d.ts +14 -1
  557. package/search/flowr-search-filters.js +13 -0
  558. package/search/flowr-search-printer.d.ts +6 -0
  559. package/search/flowr-search-printer.js +6 -0
  560. package/search/flowr-search-traverse.d.ts +1 -1
  561. package/search/flowr-search.d.ts +3 -3
  562. package/search/search-executor/search-enrichers.d.ts +9 -6
  563. package/search/search-executor/search-enrichers.js +5 -1
  564. package/search/search-executor/search-generators.d.ts +19 -10
  565. package/search/search-executor/search-generators.js +49 -2
  566. package/search/search-executor/search-mappers.d.ts +8 -5
  567. package/search/search-executor/search-mappers.js +3 -0
  568. package/search/search-executor/search-transformer.d.ts +19 -16
  569. package/search/search-executor/search-transformer.js +3 -0
  570. package/slicing/criterion/collect-all.d.ts +10 -10
  571. package/slicing/criterion/parse.d.ts +4 -2
  572. package/slicing/criterion/parse.js +4 -2
  573. package/slicing/static/fingerprint.d.ts +9 -1
  574. package/slicing/static/fingerprint.js +8 -0
  575. package/slicing/static/slice-call.d.ts +2 -2
  576. package/slicing/static/static-slicer.d.ts +8 -4
  577. package/slicing/static/static-slicer.js +5 -1
  578. package/slicing/static/visiting-queue.d.ts +1 -1
  579. package/statistics/features/common-syntax-probability.d.ts +10 -1
  580. package/statistics/features/common-syntax-probability.js +9 -0
  581. package/statistics/features/feature.d.ts +0 -4
  582. package/statistics/features/feature.js +0 -1
  583. package/statistics/features/post-processing.d.ts +6 -0
  584. package/statistics/features/post-processing.js +6 -0
  585. package/statistics/features/supported/assignments/post-process.d.ts +3 -0
  586. package/statistics/features/supported/assignments/post-process.js +3 -0
  587. package/statistics/features/supported/comments/post-process.d.ts +3 -0
  588. package/statistics/features/supported/comments/post-process.js +3 -0
  589. package/statistics/features/supported/control-flow/post-process.d.ts +3 -0
  590. package/statistics/features/supported/control-flow/post-process.js +3 -0
  591. package/statistics/features/supported/data-access/data-access.d.ts +1 -1
  592. package/statistics/features/supported/data-access/post-process.d.ts +3 -0
  593. package/statistics/features/supported/data-access/post-process.js +3 -0
  594. package/statistics/features/supported/defined-functions/defined-functions.d.ts +1 -1
  595. package/statistics/features/supported/expression-list/post-process.d.ts +3 -0
  596. package/statistics/features/supported/expression-list/post-process.js +3 -0
  597. package/statistics/features/supported/loops/post-process.d.ts +3 -0
  598. package/statistics/features/supported/loops/post-process.js +3 -0
  599. package/statistics/features/supported/used-functions/used-functions.d.ts +1 -1
  600. package/statistics/features/supported/used-packages/post-process.d.ts +3 -0
  601. package/statistics/features/supported/used-packages/post-process.js +3 -0
  602. package/statistics/features/supported/values/post-process.d.ts +3 -0
  603. package/statistics/features/supported/values/post-process.js +3 -0
  604. package/statistics/features/supported/variables/post-process.d.ts +7 -1
  605. package/statistics/features/supported/variables/post-process.js +6 -0
  606. package/statistics/meta-statistics.d.ts +8 -9
  607. package/statistics/output/file-provider.d.ts +5 -6
  608. package/statistics/output/file-provider.js +5 -6
  609. package/statistics/output/print-stats.d.ts +13 -1
  610. package/statistics/output/print-stats.js +12 -0
  611. package/statistics/output/statistics-file.d.ts +1 -2
  612. package/statistics/output/statistics-file.js +0 -1
  613. package/statistics/statistics.d.ts +3 -4
  614. package/statistics/statistics.js +1 -2
  615. package/statistics/summarizer/auto-detect.d.ts +3 -0
  616. package/statistics/summarizer/auto-detect.js +3 -0
  617. package/statistics/summarizer/post-process/clusterer.d.ts +3 -4
  618. package/statistics/summarizer/post-process/clusterer.js +0 -2
  619. package/statistics/summarizer/post-process/file-based-count.d.ts +0 -1
  620. package/statistics/summarizer/post-process/file-based-count.js +0 -1
  621. package/statistics/summarizer/post-process/histogram.d.ts +0 -2
  622. package/statistics/summarizer/post-process/histogram.js +0 -2
  623. package/statistics/summarizer/post-process/post-process-output.d.ts +2 -4
  624. package/statistics/summarizer/post-process/post-process-output.js +0 -3
  625. package/statistics/summarizer/second-phase/process.d.ts +5 -3
  626. package/statistics/summarizer/second-phase/process.js +3 -1
  627. package/statistics/summarizer/summarizer.d.ts +1 -2
  628. package/util/assert.d.ts +52 -2
  629. package/util/assert.js +52 -2
  630. package/util/collections/arrays.d.ts +10 -5
  631. package/util/collections/arrays.js +10 -5
  632. package/util/collections/defaultmap.d.ts +11 -11
  633. package/util/collections/defaultmap.js +11 -11
  634. package/util/containers.d.ts +2 -7
  635. package/util/containers.js +0 -5
  636. package/util/diff-graph.d.ts +0 -1
  637. package/util/diff-graph.js +0 -1
  638. package/util/diff.d.ts +3 -1
  639. package/util/diff.js +3 -1
  640. package/util/files.d.ts +11 -11
  641. package/util/files.js +10 -10
  642. package/util/formats/adapter.d.ts +9 -0
  643. package/util/formats/adapter.js +9 -0
  644. package/util/formats/adapters/rmd-adapter.d.ts +10 -1
  645. package/util/formats/adapters/rmd-adapter.js +10 -1
  646. package/util/html-hover-over.d.ts +5 -0
  647. package/util/html-hover-over.js +5 -0
  648. package/util/json.d.ts +13 -0
  649. package/util/json.js +13 -0
  650. package/util/log.d.ts +2 -2
  651. package/util/log.js +2 -2
  652. package/util/mermaid/ast.d.ts +3 -0
  653. package/util/mermaid/ast.js +3 -0
  654. package/util/mermaid/cfg.d.ts +1 -1
  655. package/util/mermaid/dfg.d.ts +12 -4
  656. package/util/mermaid/dfg.js +9 -1
  657. package/util/mermaid/mermaid.d.ts +6 -1
  658. package/util/mermaid/mermaid.js +6 -1
  659. package/util/numbers.d.ts +7 -0
  660. package/util/numbers.js +7 -0
  661. package/util/objects.d.ts +0 -2
  662. package/util/os.d.ts +3 -0
  663. package/util/os.js +3 -0
  664. package/util/parallel.d.ts +4 -4
  665. package/util/parallel.js +4 -4
  666. package/util/prefix.d.ts +0 -1
  667. package/util/prefix.js +0 -1
  668. package/util/quads.d.ts +14 -17
  669. package/util/quads.js +3 -5
  670. package/util/r-value.d.ts +11 -2
  671. package/util/r-value.js +23 -0
  672. package/util/random.d.ts +3 -0
  673. package/util/random.js +3 -0
  674. package/util/range.d.ts +9 -3
  675. package/util/range.js +15 -2
  676. package/util/schema.d.ts +14 -1
  677. package/util/schema.js +15 -2
  678. package/util/simple-df/dfg-view.d.ts +4 -1
  679. package/util/simple-df/dfg-view.js +4 -1
  680. package/util/summarizer.d.ts +9 -1
  681. package/util/summarizer.js +9 -0
  682. package/util/text/ansi.d.ts +3 -0
  683. package/util/text/ansi.js +3 -0
  684. package/util/text/args.d.ts +2 -4
  685. package/util/text/args.js +7 -5
  686. package/util/text/text.d.ts +4 -0
  687. package/util/text/text.js +4 -0
  688. package/util/text/time.d.ts +0 -1
  689. package/util/text/time.js +0 -1
  690. package/util/version.d.ts +26 -0
  691. package/util/version.js +37 -1
  692. package/abstract-interpretation/data-frame/domain.d.ts +0 -107
  693. package/abstract-interpretation/data-frame/domain.js +0 -315
  694. package/abstract-interpretation/domains/set-bounded-set-domain.d.ts +0 -43
  695. package/abstract-interpretation/domains/set-bounded-set-domain.js +0 -164
  696. package/cli/repl/commands/repl-lineage.d.ts +0 -15
  697. package/cli/repl/commands/repl-lineage.js +0 -67
  698. package/cli/repl/server/messages/message-lineage.d.ts +0 -17
  699. package/cli/repl/server/messages/message-lineage.js +0 -25
  700. package/queries/catalog/lineage-query/lineage-query-executor.d.ts +0 -3
  701. package/queries/catalog/lineage-query/lineage-query-executor.js +0 -22
  702. package/queries/catalog/lineage-query/lineage-query-format.d.ts +0 -22
  703. package/queries/catalog/lineage-query/lineage-query-format.js +0 -31
@@ -26,6 +26,9 @@ function highlight(s, selected) {
26
26
  const primary = ansi_1.ansiFormatter.format(s, { color: 3 /* Colors.Yellow */, effect: ansi_1.ColorEffect.Foreground, style: 1 /* FontStyles.Bold */ });
27
27
  return selected ? ansi_1.ansiFormatter.format(primary, { style: 4 /* FontStyles.Underline */ }) : primary;
28
28
  }
29
+ /**
30
+ * Print a slice diff with ANSI colors
31
+ */
29
32
  function sliceDiffAnsi(slice, normalized, criteriaIds, originalCode) {
30
33
  let importantLocations = Array.from(normalized.idMap.entries())
31
34
  .filter(([id, { location }]) => slice.has(id) && (0, assert_1.isNotUndefined)(location))
@@ -1,7 +1,7 @@
1
1
  import { internalPrinter } from '../../../print/print';
2
2
  import { PipelineStepStage } from '../../pipeline-step';
3
3
  import type { QuadSerializationConfiguration } from '../../../../util/quads';
4
- import type { ParseRequiredInput } from '../../../../r-bridge/parser';
4
+ import { type ParseRequiredInput } from '../../../../r-bridge/parser';
5
5
  export declare const PARSE_WITH_R_SHELL_STEP: {
6
6
  readonly name: "parse";
7
7
  readonly humanReadableName: "parse with R shell";
@@ -1,17 +1,7 @@
1
1
  import { PipelineStepStage } from '../../pipeline-step';
2
2
  import { internalPrinter } from '../../../print/print';
3
3
  import type { Tree } from 'web-tree-sitter';
4
- import type { ParseRequiredInput } from '../../../../r-bridge/parser';
5
- export interface ParseStepOutputTS {
6
- readonly parsed: Tree;
7
- }
8
- export interface TreeSitterParseJson {
9
- readonly '.meta': {
10
- readonly tokenCount: number;
11
- readonly tokenCountNoComments: number;
12
- };
13
- readonly str: string;
14
- }
4
+ import { type ParseRequiredInput } from '../../../../r-bridge/parser';
15
5
  export declare const PARSE_WITH_TREE_SITTER_STEP: {
16
6
  readonly name: "parse";
17
7
  readonly humanReadableName: "parse with tree-sitter";
@@ -12,6 +12,9 @@ export interface NormalizeRequiredInput {
12
12
  /** assume the input stems from a file and use the given path as the file path for the AST */
13
13
  readonly overwriteFilePath?: string;
14
14
  }
15
+ /**
16
+ * Get the file attached to the current request, if any
17
+ */
15
18
  export declare function getCurrentRequestFile(request: RParseRequests | undefined): string | undefined;
16
19
  declare function processor(results: {
17
20
  parse?: ParseStepOutput<string>;
@@ -5,6 +5,9 @@ exports.getCurrentRequestFile = getCurrentRequestFile;
5
5
  const print_1 = require("../../../print/print");
6
6
  const normalize_printer_1 = require("../../../print/normalize-printer");
7
7
  const parser_1 = require("../../../../r-bridge/lang-4.x/ast/parser/json/parser");
8
+ /**
9
+ * Get the file attached to the current request, if any
10
+ */
8
11
  function getCurrentRequestFile(request) {
9
12
  if (request === undefined) {
10
13
  return undefined;
@@ -1,11 +1,12 @@
1
1
  import { internalPrinter } from '../../../print/print';
2
2
  import { normalizedAstToJson, normalizedAstToQuads, printNormalizedAstToMermaid, printNormalizedAstToMermaidUrl } from '../../../print/normalize-printer';
3
3
  import { PipelineStepStage } from '../../pipeline-step';
4
- import type { NormalizeRequiredInput } from './10-normalize';
5
- import type { ParseStepOutputTS } from './01-parse-tree-sitter';
4
+ import { type NormalizeRequiredInput } from './10-normalize';
6
5
  import type { FlowrConfigOptions } from '../../../../config';
6
+ import type { ParseStepOutput } from '../../../../r-bridge/parser';
7
+ import type { Tree } from 'web-tree-sitter';
7
8
  declare function processor(results: {
8
- 'parse'?: ParseStepOutputTS;
9
+ 'parse'?: ParseStepOutput<Tree>;
9
10
  }, input: Partial<NormalizeRequiredInput>, config: FlowrConfigOptions): import("../../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
10
11
  export declare const NORMALIZE_TREE_SITTER: {
11
12
  readonly name: "normalize";
@@ -10,7 +10,9 @@ declare function processor(results: {
10
10
  }, input: {
11
11
  request?: RParseRequests;
12
12
  parser?: Parser<KnownParserType>;
13
- }, config: FlowrConfigOptions): import("../../../../dataflow/info").DataflowInformation;
13
+ }, config: FlowrConfigOptions): import("../../../../dataflow/info").DataflowInformation & {
14
+ cfgQuick: import("../../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
15
+ };
14
16
  export declare const STATIC_DATAFLOW: {
15
17
  readonly humanReadableName: "dataflow";
16
18
  readonly processor: typeof processor;
@@ -1,4 +1,4 @@
1
- import type { IPipelineStep } from '../pipeline-step';
1
+ import { type IPipelineStep } from '../pipeline-step';
2
2
  import type { Pipeline } from './pipeline';
3
3
  /**
4
4
  * Given a set of {@link IPipelineStep|steps} with their dependencies, this function verifies all requirements of {@link createPipeline}.
@@ -61,7 +61,9 @@ export declare const DEFAULT_SLICING_PIPELINE: import("./pipeline").Pipeline<{
61
61
  }, input: {
62
62
  request?: import("../../../r-bridge/retriever").RParseRequests;
63
63
  parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
64
- }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation;
64
+ }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
65
+ cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
66
+ };
65
67
  readonly requiredInput: {};
66
68
  readonly name: "dataflow";
67
69
  readonly description: "Construct the dataflow graph";
@@ -143,7 +145,9 @@ export declare const DEFAULT_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipeline"
143
145
  }, input: {
144
146
  request?: import("../../../r-bridge/retriever").RParseRequests;
145
147
  parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
146
- }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation;
148
+ }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
149
+ cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
150
+ };
147
151
  readonly requiredInput: {};
148
152
  readonly name: "dataflow";
149
153
  readonly description: "Construct the dataflow graph";
@@ -225,7 +229,9 @@ export declare const DEFAULT_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./pipel
225
229
  }, input: {
226
230
  request?: import("../../../r-bridge/retriever").RParseRequests;
227
231
  parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
228
- }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation;
232
+ }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
233
+ cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
234
+ };
229
235
  readonly requiredInput: {};
230
236
  readonly name: "dataflow";
231
237
  readonly description: "Construct the dataflow graph";
@@ -260,7 +266,9 @@ export declare const TREE_SITTER_SLICING_PIPELINE: import("./pipeline").Pipeline
260
266
  }, input: {
261
267
  request?: import("../../../r-bridge/retriever").RParseRequests;
262
268
  parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
263
- }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation;
269
+ }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
270
+ cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
271
+ };
264
272
  readonly requiredInput: {};
265
273
  readonly name: "dataflow";
266
274
  readonly description: "Construct the dataflow graph";
@@ -307,7 +315,7 @@ export declare const TREE_SITTER_SLICING_PIPELINE: import("./pipeline").Pipeline
307
315
  readonly humanReadableName: "normalize tree-sitter tree";
308
316
  readonly description: "Normalize the AST to flowR's AST";
309
317
  readonly processor: (results: {
310
- "parse"?: import("../all/core/01-parse-tree-sitter").ParseStepOutputTS;
318
+ "parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
311
319
  }, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
312
320
  readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
313
321
  readonly printer: {
@@ -341,7 +349,9 @@ export declare const TREE_SITTER_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipel
341
349
  }, input: {
342
350
  request?: import("../../../r-bridge/retriever").RParseRequests;
343
351
  parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
344
- }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation;
352
+ }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
353
+ cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
354
+ };
345
355
  readonly requiredInput: {};
346
356
  readonly name: "dataflow";
347
357
  readonly description: "Construct the dataflow graph";
@@ -388,7 +398,7 @@ export declare const TREE_SITTER_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipel
388
398
  readonly humanReadableName: "normalize tree-sitter tree";
389
399
  readonly description: "Normalize the AST to flowR's AST";
390
400
  readonly processor: (results: {
391
- "parse"?: import("../all/core/01-parse-tree-sitter").ParseStepOutputTS;
401
+ "parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
392
402
  }, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
393
403
  readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
394
404
  readonly printer: {
@@ -422,7 +432,9 @@ export declare const TREE_SITTER_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./p
422
432
  }, input: {
423
433
  request?: import("../../../r-bridge/retriever").RParseRequests;
424
434
  parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
425
- }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation;
435
+ }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
436
+ cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
437
+ };
426
438
  readonly requiredInput: {};
427
439
  readonly name: "dataflow";
428
440
  readonly description: "Construct the dataflow graph";
@@ -455,7 +467,7 @@ export declare const TREE_SITTER_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./p
455
467
  readonly humanReadableName: "normalize tree-sitter tree";
456
468
  readonly description: "Normalize the AST to flowR's AST";
457
469
  readonly processor: (results: {
458
- "parse"?: import("../all/core/01-parse-tree-sitter").ParseStepOutputTS;
470
+ "parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
459
471
  }, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
460
472
  readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
461
473
  readonly printer: {
@@ -513,7 +525,9 @@ export declare const DEFAULT_DATAFLOW_PIPELINE: import("./pipeline").Pipeline<{
513
525
  }, input: {
514
526
  request?: import("../../../r-bridge/retriever").RParseRequests;
515
527
  parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
516
- }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation;
528
+ }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
529
+ cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
530
+ };
517
531
  readonly requiredInput: {};
518
532
  readonly name: "dataflow";
519
533
  readonly description: "Construct the dataflow graph";
@@ -534,7 +548,9 @@ export declare const TREE_SITTER_DATAFLOW_PIPELINE: import("./pipeline").Pipelin
534
548
  }, input: {
535
549
  request?: import("../../../r-bridge/retriever").RParseRequests;
536
550
  parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
537
- }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation;
551
+ }, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
552
+ cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
553
+ };
538
554
  readonly requiredInput: {};
539
555
  readonly name: "dataflow";
540
556
  readonly description: "Construct the dataflow graph";
@@ -567,7 +583,7 @@ export declare const TREE_SITTER_DATAFLOW_PIPELINE: import("./pipeline").Pipelin
567
583
  readonly humanReadableName: "normalize tree-sitter tree";
568
584
  readonly description: "Normalize the AST to flowR's AST";
569
585
  readonly processor: (results: {
570
- "parse"?: import("../all/core/01-parse-tree-sitter").ParseStepOutputTS;
586
+ "parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
571
587
  }, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
572
588
  readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
573
589
  readonly printer: {
@@ -635,7 +651,7 @@ export declare const TREE_SITTER_NORMALIZE_PIPELINE: import("./pipeline").Pipeli
635
651
  readonly humanReadableName: "normalize tree-sitter tree";
636
652
  readonly description: "Normalize the AST to flowR's AST";
637
653
  readonly processor: (results: {
638
- "parse"?: import("../all/core/01-parse-tree-sitter").ParseStepOutputTS;
654
+ "parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
639
655
  }, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
640
656
  readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
641
657
  readonly printer: {
@@ -35,7 +35,6 @@ exports.TREE_SITTER_PARSE_PIPELINE = (0, pipeline_1.createPipeline)(_01_parse_tr
35
35
  /**
36
36
  * **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
37
37
  * Returns either a {@link DEFAULT_PARSE_PIPELINE} or a {@link TREE_SITTER_PARSE_PIPELINE} depending on the parser used.
38
- *
39
38
  * @see {@link createNormalizePipeline}, {@link createDataflowPipeline}, {@link createSlicePipeline}
40
39
  */
41
40
  function createParsePipeline(parser, inputs, config) {
@@ -48,7 +47,6 @@ function createParsePipeline(parser, inputs, config) {
48
47
  /**
49
48
  * **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
50
49
  * Returns either a {@link DEFAULT_SLICING_PIPELINE} or a {@link TREE_SITTER_SLICING_PIPELINE} depending on the parser used.
51
- *
52
50
  * @see {@link createParsePipeline}, {@link createNormalizePipeline}, {@link createDataflowPipeline}
53
51
  */
54
52
  function createSlicePipeline(parser, inputs, config) {
@@ -61,7 +59,6 @@ function createSlicePipeline(parser, inputs, config) {
61
59
  /**
62
60
  * **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
63
61
  * Returns either a {@link DEFAULT_NORMALIZE_PIPELINE} or a {@link TREE_SITTER_NORMALIZE_PIPELINE} depending on the parser used.
64
- *
65
62
  * @see {@link createParsePipeline}, {@link createDataflowPipeline}, {@link createSlicePipeline}
66
63
  */
67
64
  function createNormalizePipeline(parser, inputs, config) {
@@ -74,7 +71,6 @@ function createNormalizePipeline(parser, inputs, config) {
74
71
  /**
75
72
  * **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
76
73
  * Returns either a {@link DEFAULT_DATAFLOW_PIPELINE} or a {@link TREE_SITTER_DATAFLOW_PIPELINE} depending on the parser used.
77
- *
78
74
  * @see {@link createParsePipeline}, {@link createNormalizePipeline}, {@link createSlicePipeline}
79
75
  */
80
76
  function createDataflowPipeline(parser, inputs, config) {
@@ -18,7 +18,6 @@ export interface Pipeline<T extends IPipelineStep = IPipelineStep> {
18
18
  }
19
19
  /**
20
20
  * Returns the types of all step names in the given pipeline.
21
- *
22
21
  * @see Pipeline for details
23
22
  */
24
23
  export type PipelineStepNames<P extends Pipeline> = PipelineStep<P>['name'];
@@ -47,7 +46,6 @@ export interface PipelinePerStepMetaInformation {
47
46
  }
48
47
  /**
49
48
  * Returns the step with the given name from the given pipeline.
50
- *
51
49
  * @example
52
50
  * ```ts
53
51
  * type Foo = PipelineStepWithName<typeof DEFAULT_DATAFLOW_PIPELINE, 'parse'>
@@ -67,7 +65,6 @@ export type PipelineStepProcessorWithName<P extends Pipeline, Name extends Pipel
67
65
  export type PipelineStepPrintersWithName<P extends Pipeline, Name extends PipelineStepName> = PipelineStepWithName<P, Name>['printer'];
68
66
  /**
69
67
  * Returns the output type of the step with the given name from the given pipeline.
70
- *
71
68
  * @example
72
69
  * ```ts
73
70
  * type Foo = PipelineStepOutputWithName<typeof DEFAULT_DATAFLOW_PIPELINE, 'parse'>
@@ -78,7 +75,6 @@ export type PipelineStepPrintersWithName<P extends Pipeline, Name extends Pipeli
78
75
  export type PipelineStepOutputWithName<P extends Pipeline, Name extends PipelineStepName> = Awaited<ReturnType<PipelineStepProcessorWithName<P, Name>>> & PipelinePerStepMetaInformation;
79
76
  /**
80
77
  * Returns a union type that represents the required inputs to be passed to the given pipeline.
81
- *
82
78
  * @example
83
79
  * ```ts
84
80
  * type Foo = PipelineInput<typeof DEFAULT_DATAFLOW_PIPELINE>
@@ -87,7 +83,6 @@ export type PipelineStepOutputWithName<P extends Pipeline, Name extends Pipeline
87
83
  *
88
84
  * In short, this can be useful whenever you want to describe _all_ inputs a complete
89
85
  * pipeline needs to run through (i.e., the union of all inputs required by the individual steps).
90
- *
91
86
  * @see {@link PipelineOutput}
92
87
  */
93
88
  export type PipelineInput<P extends Pipeline> = UnionToIntersection<PipelineStep<P>['requiredInput']>;
@@ -125,11 +120,9 @@ export type PipelineOutput<P extends Pipeline> = {
125
120
  * 4) the target of a {@link IPipelineStepOrder#decorates|step's decoration} exists
126
121
  * 5) if a {@link IPipelineStepOrder#decorates|decoration} applies, all of its {@link IPipelineStepOrder#dependencies|dependencies} are already in the pipeline
127
122
  * 6) in the resulting {@link Pipeline|pipeline}, there is a strict cut between {@link IPipelineStep|steps} that are executed
128
- * {@link PipelineStepStage#OncePerFile|once per file} and {@link PipelineStepStage#OncePerRequest|once per request}.
129
- *
123
+ * {@link PipelineStepStage#OncePerFile|once per file} and {@link PipelineStepStage#OncePerRequest|once per request}.
130
124
  * @returns The function will try to order your collection steps so that all the constraints hold.
131
125
  * If it succeeds it will return the resulting {@link Pipeline|pipeline}, otherwise it will throw an {@link InvalidPipelineError}.
132
- *
133
126
  * @throws InvalidPipelineError If any of the constraints listed above are not satisfied.
134
127
  */
135
128
  export declare function createPipeline<T extends readonly IPipelineStep[]>(...steps: T): Pipeline<T[number]>;
@@ -14,11 +14,9 @@ const create_pipeline_1 = require("./create-pipeline");
14
14
  * 4) the target of a {@link IPipelineStepOrder#decorates|step's decoration} exists
15
15
  * 5) if a {@link IPipelineStepOrder#decorates|decoration} applies, all of its {@link IPipelineStepOrder#dependencies|dependencies} are already in the pipeline
16
16
  * 6) in the resulting {@link Pipeline|pipeline}, there is a strict cut between {@link IPipelineStep|steps} that are executed
17
- * {@link PipelineStepStage#OncePerFile|once per file} and {@link PipelineStepStage#OncePerRequest|once per request}.
18
- *
17
+ * {@link PipelineStepStage#OncePerFile|once per file} and {@link PipelineStepStage#OncePerRequest|once per request}.
19
18
  * @returns The function will try to order your collection steps so that all the constraints hold.
20
19
  * If it succeeds it will return the resulting {@link Pipeline|pipeline}, otherwise it will throw an {@link InvalidPipelineError}.
21
- *
22
20
  * @throws InvalidPipelineError If any of the constraints listed above are not satisfied.
23
21
  */
24
22
  function createPipeline(...steps) {
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Defines the {@link IPipelineStep} interface which specifies all data available for a single step.
3
- *
4
3
  * @module
5
4
  */
6
5
  import type { MergeableRecord } from '../../util/objects';
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Defines the {@link IPipelineStep} interface which specifies all data available for a single step.
4
- *
5
4
  * @module
6
5
  */
7
6
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -17,4 +17,7 @@ export interface DataflowGraphCluster {
17
17
  /** If the cluster contains unknown side effects */
18
18
  readonly hasUnknownSideEffects: boolean;
19
19
  }
20
+ /**
21
+ * Find all clusters in the given dataflow graph.
22
+ */
20
23
  export declare function findAllClusters(graph: DataflowGraph): DataflowGraphClusters;
@@ -4,6 +4,9 @@ exports.findAllClusters = findAllClusters;
4
4
  const edge_1 = require("./graph/edge");
5
5
  const vertex_1 = require("./graph/vertex");
6
6
  const assert_1 = require("../util/assert");
7
+ /**
8
+ * Find all clusters in the given dataflow graph.
9
+ */
7
10
  function findAllClusters(graph) {
8
11
  const clusters = [];
9
12
  // we reverse the vertices since dependencies usually point "backwards" from later nodes
@@ -1,4 +1,4 @@
1
- import type { REnvironmentInformation } from './environment';
1
+ import { type REnvironmentInformation } from './environment';
2
2
  /**
3
3
  * Adds all writes of `next` to `base` (i.e., the operations of `next` *might* happen).
4
4
  */
@@ -1,5 +1,4 @@
1
- import type { BuiltInMappingName, ConfigOfBuiltInMappingName } from './built-in';
2
- import { BuiltIns } from './built-in';
1
+ import { type BuiltInMappingName, type ConfigOfBuiltInMappingName, BuiltIns } from './built-in';
3
2
  import type { Identifier } from './identifier';
4
3
  export interface BaseBuiltInDefinition {
5
4
  /** The type of the built-in configuration */
@@ -11,7 +10,6 @@ export interface BaseBuiltInDefinition {
11
10
  }
12
11
  /**
13
12
  * Define a built-in constant (like `NULL` or `TRUE`) and the TS value it should have
14
- *
15
13
  * @template Value - The type of the constant value
16
14
  */
17
15
  export interface BuiltInConstantDefinition<Value> extends BaseBuiltInDefinition {
@@ -21,7 +19,6 @@ export interface BuiltInConstantDefinition<Value> extends BaseBuiltInDefinition
21
19
  }
22
20
  /**
23
21
  * Define a built-in function (like `print` or `c`) and the processor to use.
24
- *
25
22
  * @template BuiltInProcessor - The processor to use for this function
26
23
  */
27
24
  export interface BuiltInFunctionDefinition<BuiltInProcessor extends BuiltInMappingName> extends BaseBuiltInDefinition {
@@ -52,7 +49,6 @@ export type BuiltInDefinitions = BuiltInDefinition[];
52
49
  export declare function getDefaultBuiltInDefinitions(): BuiltIns;
53
50
  /**
54
51
  * Get the {@link BuiltIns#builtInMemory} and {@link BuiltIns#emptyBuiltInMemory} for the given list of built-in definitions.
55
- *
56
52
  * @param definitions - the list of built-in definitions
57
53
  * @param loadDefaults - whether to first add the {@link DefaultBuiltinConfig} before the given {@link definitions}
58
54
  */
@@ -16,7 +16,6 @@ function getDefaultBuiltInDefinitions() {
16
16
  }
17
17
  /**
18
18
  * Get the {@link BuiltIns#builtInMemory} and {@link BuiltIns#emptyBuiltInMemory} for the given list of built-in definitions.
19
- *
20
19
  * @param definitions - the list of built-in definitions
21
20
  * @param loadDefaults - whether to first add the {@link DefaultBuiltinConfig} before the given {@link definitions}
22
21
  */
@@ -8,15 +8,14 @@ import { processPipe } from '../internal/process/functions/call/built-in/built-i
8
8
  import { processForLoop } from '../internal/process/functions/call/built-in/built-in-for-loop';
9
9
  import { processRepeatLoop } from '../internal/process/functions/call/built-in/built-in-repeat-loop';
10
10
  import { processWhileLoop } from '../internal/process/functions/call/built-in/built-in-while-loop';
11
- import type { Identifier, IdentifierDefinition, IdentifierReference } from './identifier';
12
- import { ReferenceType } from './identifier';
11
+ import { type Identifier, type IdentifierDefinition, type IdentifierReference, ReferenceType } from './identifier';
13
12
  import { processReplacementFunction } from '../internal/process/functions/call/built-in/built-in-replacement';
14
13
  import { processQuote } from '../internal/process/functions/call/built-in/built-in-quote';
15
14
  import { processFunctionDefinition } from '../internal/process/functions/call/built-in/built-in-function-definition';
16
15
  import { processExpressionList } from '../internal/process/functions/call/built-in/built-in-expression-list';
17
16
  import { processGet } from '../internal/process/functions/call/built-in/built-in-get';
18
17
  import type { AstIdMap, ParentInformation, RNodeWithParent } from '../../r-bridge/lang-4.x/ast/model/processing/decorate';
19
- import type { RFunctionArgument } from '../../r-bridge/lang-4.x/ast/model/nodes/r-function-call';
18
+ import { type RFunctionArgument } from '../../r-bridge/lang-4.x/ast/model/nodes/r-function-call';
20
19
  import type { RSymbol } from '../../r-bridge/lang-4.x/ast/model/nodes/r-symbol';
21
20
  import type { NodeId } from '../../r-bridge/lang-4.x/ast/model/processing/node-id';
22
21
  import { processLibrary } from '../internal/process/functions/call/built-in/built-in-library';
@@ -35,7 +34,13 @@ import type { DataflowGraph } from '../graph/graph';
35
34
  import type { VariableResolve } from '../../config';
36
35
  import type { BuiltInConstantDefinition, BuiltInDefinition, BuiltInFunctionDefinition, BuiltInReplacementDefinition } from './built-in-config';
37
36
  export type BuiltIn = `built-in:${string}`;
37
+ /**
38
+ * Generate a built-in id for the given name
39
+ */
38
40
  export declare function builtInId(name: string): BuiltIn;
41
+ /**
42
+ * Checks whether the given name is a built-in identifier
43
+ */
39
44
  export declare function isBuiltIn(name: NodeId | string): name is BuiltIn;
40
45
  export type BuiltInIdentifierProcessor = <OtherInfo>(name: RSymbol<OtherInfo & ParentInformation>, args: readonly RFunctionArgument<OtherInfo & ParentInformation>[], rootId: NodeId, data: DataflowProcessorInformation<OtherInfo & ParentInformation>) => DataflowInformation;
41
46
  export type BuiltInIdentifierProcessorWithConfig<Config> = <OtherInfo>(name: RSymbol<OtherInfo & ParentInformation>, args: readonly RFunctionArgument<OtherInfo & ParentInformation>[], rootId: NodeId, data: DataflowProcessorInformation<OtherInfo & ParentInformation>, config: Config) => DataflowInformation;
@@ -58,7 +63,8 @@ export interface DefaultBuiltInProcessorConfiguration extends ForceArguments {
58
63
  readonly hasUnknownSideEffects?: boolean | LinkTo<RegExp | string>;
59
64
  /** record mapping the actual function name called to the arguments that should be treated as function calls */
60
65
  readonly treatAsFnCall?: Record<string, readonly string[]>;
61
- /** Name that should be used for the origin (useful when needing to differentiate between
66
+ /**
67
+ * Name that should be used for the origin (useful when needing to differentiate between
62
68
  * functions like 'return' that use the default builtin processor)
63
69
  */
64
70
  readonly useAsProcessor?: UseAsProcessors;
@@ -125,7 +131,6 @@ export declare class BuiltIns {
125
131
  * The twin of the {@link builtInMemory} but with less built ins defined for
126
132
  * cases in which we want some commonly overwritten variables to remain open.
127
133
  * If you do not know if you need the empty environment, you do not need the empty environment (right now).
128
- *
129
134
  * @see {@link builtInMemory}
130
135
  */
131
136
  emptyBuiltInMemory: BuiltInMemory;
@@ -32,9 +32,15 @@ const vertex_1 = require("../graph/vertex");
32
32
  const type_1 = require("../../r-bridge/lang-4.x/ast/model/type");
33
33
  const unknown_side_effect_1 = require("../graph/unknown-side-effect");
34
34
  const resolve_1 = require("../eval/resolve/resolve");
35
+ /**
36
+ * Generate a built-in id for the given name
37
+ */
35
38
  function builtInId(name) {
36
39
  return `built-in:${name}`;
37
40
  }
41
+ /**
42
+ * Checks whether the given name is a built-in identifier
43
+ */
38
44
  function isBuiltIn(name) {
39
45
  return String(name).startsWith('built-in:');
40
46
  }
@@ -218,7 +224,6 @@ class BuiltIns {
218
224
  * The twin of the {@link builtInMemory} but with less built ins defined for
219
225
  * cases in which we want some commonly overwritten variables to remain open.
220
226
  * If you do not know if you need the empty environment, you do not need the empty environment (right now).
221
- *
222
227
  * @see {@link builtInMemory}
223
228
  */
224
229
  emptyBuiltInMemory = new Map();
@@ -1,4 +1,4 @@
1
- import type { REnvironmentInformation } from './environment';
1
+ import { type REnvironmentInformation } from './environment';
2
2
  /**
3
3
  * Produce a clone of the given environment information.
4
4
  * @param environment - The environment information to clone.
@@ -13,4 +13,7 @@ export declare const GgPlotAddons: string[];
13
13
  * Contains the built-in definitions recognized by flowR
14
14
  */
15
15
  export declare const DefaultBuiltinConfig: BuiltInDefinitions;
16
+ /**
17
+ *
18
+ */
16
19
  export declare function getDefaultProcessor(name: string): BuiltInMappingName | 'unnamed' | undefined;
@@ -93,7 +93,7 @@ function toRegex(n) {
93
93
  * Contains the built-in definitions recognized by flowR
94
94
  */
95
95
  exports.DefaultBuiltinConfig = [
96
- { type: 'constant', names: ['NULL', 'NA'], value: null, assumePrimitive: true },
96
+ { type: 'constant', names: ['NULL', 'NA', 'NaN', 'NA_integer_', 'NA_real_', 'NA_complex_', 'NA_character_'], value: null, assumePrimitive: true },
97
97
  { type: 'constant', names: ['TRUE', 'T'], value: true, assumePrimitive: true },
98
98
  { type: 'constant', names: ['FALSE', 'F'], value: false, assumePrimitive: true },
99
99
  {
@@ -212,6 +212,14 @@ exports.DefaultBuiltinConfig = [
212
212
  { type: 'function', names: ['('], processor: 'builtin:default', config: { returnsNthArgument: 0 }, assumePrimitive: true },
213
213
  { type: 'function', names: ['load', 'load_all', 'setwd', 'set.seed'], processor: 'builtin:default', config: { hasUnknownSideEffects: true, forceArgs: [true] }, assumePrimitive: false },
214
214
  { type: 'function', names: ['body', 'formals', 'environment'], processor: 'builtin:default', config: { hasUnknownSideEffects: true, forceArgs: [true] }, assumePrimitive: true },
215
+ { type: 'function', names: ['.Call', '.External', '.C', '.Fortran'], processor: 'builtin:default', config: { hasUnknownSideEffects: true, forceArgs: [true],
216
+ treatAsFnCall: {
217
+ '.Call': ['.NAME'],
218
+ '.External': ['.NAME'],
219
+ '.C': ['.NAME'],
220
+ '.Fortran': ['.NAME']
221
+ }
222
+ }, assumePrimitive: true },
215
223
  { type: 'function', names: ['eval'], processor: 'builtin:eval', config: { includeFunctionCall: true }, assumePrimitive: true },
216
224
  { type: 'function', names: ['cat'], processor: 'builtin:default', config: { forceArgs: 'all', hasUnknownSideEffects: { type: 'link-to-last-call', callName: /^sink$/ } }, assumePrimitive: false },
217
225
  { type: 'function', names: ['switch'], processor: 'builtin:default', config: { forceArgs: [true] }, assumePrimitive: false },
@@ -294,6 +302,9 @@ exports.DefaultBuiltinConfig = [
294
302
  }
295
303
  }
296
304
  ];
305
+ /**
306
+ *
307
+ */
297
308
  function getDefaultProcessor(name) {
298
309
  if (name.startsWith(unnamed_call_handling_1.UnnamedFunctionCallPrefix)) {
299
310
  return 'unnamed';
@@ -1,6 +1,15 @@
1
- import type { GenericDifferenceInformation, WriteableDifferenceReport } from '../../util/diff';
2
- import type { IEnvironment, REnvironmentInformation } from './environment';
1
+ import { type GenericDifferenceInformation, type WriteableDifferenceReport } from '../../util/diff';
2
+ import { type IEnvironment, type REnvironmentInformation } from './environment';
3
3
  import type { IdentifierReference } from './identifier';
4
+ /**
5
+ * Compares two identifier references and reports differences.
6
+ */
4
7
  export declare function diffIdentifierReferences<Report extends WriteableDifferenceReport>(a: IdentifierReference | undefined, b: IdentifierReference | undefined, info: GenericDifferenceInformation<Report>): void;
8
+ /**
9
+ * Compares two environments and reports differences.
10
+ */
5
11
  export declare function diffEnvironment<Report extends WriteableDifferenceReport>(a: IEnvironment | undefined, b: IEnvironment | undefined, info: GenericDifferenceInformation<Report>, depth: number): void;
12
+ /**
13
+ * Compares two REnvironmentInformation objects and reports differences.
14
+ */
6
15
  export declare function diffEnvironmentInformation<Report extends WriteableDifferenceReport>(a: REnvironmentInformation | undefined, b: REnvironmentInformation | undefined, info: GenericDifferenceInformation<Report>): void;
@@ -7,6 +7,9 @@ const diff_1 = require("../../util/diff");
7
7
  const environment_1 = require("./environment");
8
8
  const json_1 = require("../../util/json");
9
9
  const info_1 = require("../info");
10
+ /**
11
+ * Compares two identifier references and reports differences.
12
+ */
10
13
  function diffIdentifierReferences(a, b, info) {
11
14
  if (a === undefined || b === undefined) {
12
15
  if (a !== b) {
@@ -51,6 +54,9 @@ function diffMemory(a, b, info) {
51
54
  }
52
55
  }
53
56
  }
57
+ /**
58
+ * Compares two environments and reports differences.
59
+ */
54
60
  function diffEnvironment(a, b, info, depth) {
55
61
  if (a === undefined || b === undefined) {
56
62
  if (a !== b) {
@@ -71,6 +77,9 @@ function diffEnvironment(a, b, info, depth) {
71
77
  diffMemory(a, b, { ...info, position: `${info.position}[at level: ${depth}] ` });
72
78
  diffEnvironment(a.parent, b.parent, { ...info, position: `${info.position}Parents of ${a.id} & ${b.id}. ` }, depth--);
73
79
  }
80
+ /**
81
+ * Compares two REnvironmentInformation objects and reports differences.
82
+ */
74
83
  function diffEnvironmentInformation(a, b, info) {
75
84
  if (a === undefined || b === undefined) {
76
85
  if (a !== b) {
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Provides an environment structure similar to R.
3
3
  * This allows the dataflow to hold current definition locations for variables, based on the current scope.
4
- *
5
4
  * @module
6
5
  */
7
6
  import type { IdentifierReference } from './identifier';
@@ -12,6 +11,9 @@ import type { BuiltInMemory } from './built-in';
12
11
  * Marks the reference as maybe (i.e., as controlled by a set of {@link IdentifierReference#controlDependencies|control dependencies}).
13
12
  */
14
13
  export declare function makeReferenceMaybe(ref: IdentifierReference, graph: DataflowGraph, environments: REnvironmentInformation, includeDefs: boolean, defaultCd?: ControlDependency | undefined): IdentifierReference;
14
+ /**
15
+ *
16
+ */
15
17
  export declare function makeAllMaybe(references: readonly IdentifierReference[] | undefined, graph: DataflowGraph, environments: REnvironmentInformation, includeDefs: boolean, defaultCd?: ControlDependency | undefined): IdentifierReference[];
16
18
  /** A single entry/scope within an {@link REnvironmentInformation} */
17
19
  export interface IEnvironment {
@@ -55,8 +57,6 @@ export interface WorkingDirectoryReference {
55
57
  * One important environment is the {@link BuiltIns|BuiltInEnvironment} which contains the default definitions for R's built-in functions and constants.
56
58
  * Please use {@link initializeCleanEnvironments} to initialize the environments (which includes the built-ins).
57
59
  * During serialization, you may want to rely on the {@link builtInEnvJsonReplacer} to avoid the huge built-in environment.
58
- *
59
- *
60
60
  * @see {@link define} - to define a new {@link IdentifierDefinition|identifier definition} within an environment
61
61
  * @see {@link resolveByName} - to resolve an {@link Identifier|identifier/name} to its {@link IdentifierDefinition|definitions} within an environment
62
62
  * @see {@link makeReferenceMaybe} - to attach control dependencies to a reference