@eagleoutice/flowr 2.6.1 → 2.6.3

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 (808) hide show
  1. package/README.md +142 -39
  2. package/abstract-interpretation/data-frame/absint-info.d.ts +1 -1
  3. package/abstract-interpretation/data-frame/absint-visitor.d.ts +2 -3
  4. package/abstract-interpretation/data-frame/absint-visitor.js +17 -12
  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 +9 -10
  14. package/abstract-interpretation/data-frame/mappers/function-mapper.js +21 -18
  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 +179 -162
  20. package/abstract-interpretation/data-frame/shape-inference.d.ts +4 -7
  21. package/abstract-interpretation/data-frame/shape-inference.js +10 -12
  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 +2 -8
  44. package/abstract-interpretation/normalized-ast-fold.js +0 -5
  45. package/benchmark/slicer.d.ts +4 -7
  46. package/benchmark/slicer.js +27 -31
  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 +13 -1
  58. package/benchmark/summarizer/second-phase/graph.d.ts +5 -0
  59. package/benchmark/summarizer/second-phase/graph.js +5 -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/export-quads-app.js +1 -1
  71. package/cli/flowr-main-options.d.ts +3 -0
  72. package/cli/flowr-main-options.js +3 -0
  73. package/cli/repl/commands/repl-commands.d.ts +13 -0
  74. package/cli/repl/commands/repl-commands.js +13 -2
  75. package/cli/repl/commands/repl-dataflow.js +2 -1
  76. package/cli/repl/commands/repl-execute.d.ts +4 -0
  77. package/cli/repl/commands/repl-execute.js +6 -2
  78. package/cli/repl/commands/repl-main.d.ts +15 -9
  79. package/cli/repl/commands/repl-parse.js +18 -6
  80. package/cli/repl/commands/repl-query.js +16 -5
  81. package/cli/repl/core.d.ts +24 -6
  82. package/cli/repl/core.js +42 -30
  83. package/cli/repl/execute.d.ts +0 -2
  84. package/cli/repl/execute.js +0 -2
  85. package/cli/repl/parser/slice-query-parser.d.ts +14 -0
  86. package/cli/repl/parser/slice-query-parser.js +34 -0
  87. package/cli/repl/print-version.d.ts +6 -0
  88. package/cli/repl/print-version.js +6 -0
  89. package/cli/repl/server/compact.d.ts +8 -0
  90. package/cli/repl/server/compact.js +8 -0
  91. package/cli/repl/server/connection.d.ts +4 -3
  92. package/cli/repl/server/connection.js +5 -32
  93. package/cli/repl/server/messages/all-messages.d.ts +1 -3
  94. package/cli/repl/server/messages/all-messages.js +0 -1
  95. package/cli/repl/server/messages/message-analysis.d.ts +0 -2
  96. package/cli/repl/server/messages/message-query.d.ts +1 -1
  97. package/cli/repl/server/messages/message-repl.d.ts +0 -1
  98. package/cli/repl/server/send.d.ts +6 -0
  99. package/cli/repl/server/send.js +6 -0
  100. package/cli/repl/server/server.d.ts +1 -1
  101. package/cli/repl/server/validate.d.ts +10 -1
  102. package/cli/repl/server/validate.js +9 -0
  103. package/cli/run-script.d.ts +1 -2
  104. package/cli/run-script.js +0 -1
  105. package/cli/script-core/statistics-core.d.ts +3 -0
  106. package/cli/script-core/statistics-core.js +3 -0
  107. package/cli/script-core/statistics-helper-core.d.ts +4 -1
  108. package/cli/script-core/statistics-helper-core.js +5 -1
  109. package/cli/script-core/summarizer-core.d.ts +3 -0
  110. package/cli/script-core/summarizer-core.js +3 -0
  111. package/cli/slicer-app.js +3 -4
  112. package/cli/summarizer-app.d.ts +2 -3
  113. package/cli/summarizer-app.js +2 -3
  114. package/cli/wiki.d.ts +4 -0
  115. package/cli/wiki.js +165 -0
  116. package/config.d.ts +21 -3
  117. package/config.js +21 -0
  118. package/control-flow/basic-cfg-guided-visitor.d.ts +1 -2
  119. package/control-flow/basic-cfg-guided-visitor.js +0 -1
  120. package/control-flow/cfg-dead-code.js +13 -3
  121. package/control-flow/cfg-simplification.d.ts +5 -2
  122. package/control-flow/cfg-simplification.js +3 -0
  123. package/control-flow/cfg-to-basic-blocks.d.ts +1 -1
  124. package/control-flow/control-flow-graph.d.ts +20 -12
  125. package/control-flow/control-flow-graph.js +16 -4
  126. package/control-flow/dfg-cfg-guided-visitor.d.ts +2 -3
  127. package/control-flow/diff-cfg.d.ts +3 -5
  128. package/control-flow/diff-cfg.js +0 -1
  129. package/control-flow/extract-cfg.d.ts +12 -9
  130. package/control-flow/extract-cfg.js +44 -7
  131. package/control-flow/happens-before.d.ts +1 -1
  132. package/control-flow/semantic-cfg-guided-visitor.d.ts +4 -33
  133. package/control-flow/semantic-cfg-guided-visitor.js +0 -28
  134. package/control-flow/simple-visitor.d.ts +1 -3
  135. package/control-flow/simple-visitor.js +2 -4
  136. package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
  137. package/control-flow/useless-loop.d.ts +3 -6
  138. package/control-flow/useless-loop.js +16 -10
  139. package/core/pipeline-executor.d.ts +11 -22
  140. package/core/pipeline-executor.js +13 -25
  141. package/core/print/dataflow-printer.d.ts +19 -0
  142. package/core/print/dataflow-printer.js +19 -0
  143. package/core/print/normalize-printer.d.ts +21 -1
  144. package/core/print/normalize-printer.js +21 -1
  145. package/core/print/parse-printer.d.ts +6 -1
  146. package/core/print/parse-printer.js +5 -0
  147. package/core/print/print.d.ts +0 -1
  148. package/core/print/print.js +0 -1
  149. package/core/print/slice-diff-ansi.d.ts +3 -0
  150. package/core/print/slice-diff-ansi.js +3 -0
  151. package/core/steps/all/core/00-parse.d.ts +2 -2
  152. package/core/steps/all/core/00-parse.js +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 -6
  155. package/core/steps/all/core/10-normalize.js +1 -13
  156. package/core/steps/all/core/11-normalize-tree-sitter.d.ts +5 -5
  157. package/core/steps/all/core/11-normalize-tree-sitter.js +2 -3
  158. package/core/steps/all/core/20-dataflow.d.ts +3 -4
  159. package/core/steps/all/core/20-dataflow.js +2 -2
  160. package/core/steps/all/static-slicing/00-slice.d.ts +1 -2
  161. package/core/steps/all/static-slicing/00-slice.js +1 -1
  162. package/core/steps/all/static-slicing/10-reconstruct.d.ts +8 -0
  163. package/core/steps/all/static-slicing/10-reconstruct.js +4 -1
  164. package/core/steps/pipeline/create-pipeline.d.ts +1 -1
  165. package/core/steps/pipeline/default-pipelines.d.ts +94 -95
  166. package/core/steps/pipeline/default-pipelines.js +8 -12
  167. package/core/steps/pipeline/pipeline.d.ts +1 -8
  168. package/core/steps/pipeline/pipeline.js +1 -3
  169. package/core/steps/pipeline-step.d.ts +0 -1
  170. package/core/steps/pipeline-step.js +0 -1
  171. package/dataflow/cluster.d.ts +3 -0
  172. package/dataflow/cluster.js +3 -0
  173. package/dataflow/environments/append.d.ts +1 -1
  174. package/dataflow/environments/built-in-config.d.ts +1 -5
  175. package/dataflow/environments/built-in-config.js +0 -1
  176. package/dataflow/environments/built-in.d.ts +10 -5
  177. package/dataflow/environments/built-in.js +6 -1
  178. package/dataflow/environments/clone.d.ts +1 -2
  179. package/dataflow/environments/clone.js +12 -2
  180. package/dataflow/environments/default-builtin-config.d.ts +3 -0
  181. package/dataflow/environments/default-builtin-config.js +4 -1
  182. package/dataflow/environments/diff.d.ts +11 -2
  183. package/dataflow/environments/diff.js +11 -2
  184. package/dataflow/environments/environment.d.ts +3 -3
  185. package/dataflow/environments/environment.js +8 -6
  186. package/dataflow/environments/identifier.d.ts +0 -4
  187. package/dataflow/environments/identifier.js +0 -1
  188. package/dataflow/environments/overwrite.d.ts +1 -2
  189. package/dataflow/environments/overwrite.js +3 -16
  190. package/dataflow/environments/resolve-by-name.d.ts +4 -4
  191. package/dataflow/environments/resolve-by-name.js +3 -2
  192. package/dataflow/environments/scoping.d.ts +9 -2
  193. package/dataflow/environments/scoping.js +8 -1
  194. package/dataflow/eval/resolve/alias-tracking.d.ts +4 -10
  195. package/dataflow/eval/resolve/alias-tracking.js +11 -14
  196. package/dataflow/eval/resolve/resolve-argument.d.ts +1 -1
  197. package/dataflow/eval/resolve/resolve-argument.js +2 -2
  198. package/dataflow/eval/resolve/resolve.d.ts +1 -7
  199. package/dataflow/eval/resolve/resolve.js +0 -5
  200. package/dataflow/eval/values/general.d.ts +1 -3
  201. package/dataflow/eval/values/general.js +0 -1
  202. package/dataflow/eval/values/intervals/interval-constants.d.ts +7 -1
  203. package/dataflow/eval/values/intervals/interval-constants.js +6 -0
  204. package/dataflow/eval/values/logical/logical-constants.d.ts +4 -1
  205. package/dataflow/eval/values/logical/logical-constants.js +3 -0
  206. package/dataflow/eval/values/r-value.d.ts +12 -0
  207. package/dataflow/eval/values/r-value.js +12 -0
  208. package/dataflow/eval/values/scalar/scalar-consatnts.d.ts +7 -1
  209. package/dataflow/eval/values/scalar/scalar-consatnts.js +6 -0
  210. package/dataflow/eval/values/sets/set-constants.d.ts +7 -2
  211. package/dataflow/eval/values/sets/set-constants.js +6 -0
  212. package/dataflow/eval/values/string/string-constants.d.ts +16 -1
  213. package/dataflow/eval/values/string/string-constants.js +15 -0
  214. package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
  215. package/dataflow/extractor.d.ts +3 -4
  216. package/dataflow/extractor.js +25 -22
  217. package/dataflow/graph/dataflowgraph-builder.d.ts +20 -38
  218. package/dataflow/graph/dataflowgraph-builder.js +6 -23
  219. package/dataflow/graph/diff-dataflow-graph.d.ts +16 -6
  220. package/dataflow/graph/diff-dataflow-graph.js +12 -1
  221. package/dataflow/graph/edge.d.ts +9 -0
  222. package/dataflow/graph/edge.js +9 -0
  223. package/dataflow/graph/graph.d.ts +9 -28
  224. package/dataflow/graph/graph.js +4 -28
  225. package/dataflow/graph/invert-dfg.d.ts +3 -0
  226. package/dataflow/graph/invert-dfg.js +3 -0
  227. package/dataflow/graph/quads.d.ts +1 -1
  228. package/dataflow/graph/unknown-replacement.d.ts +8 -0
  229. package/dataflow/graph/unknown-replacement.js +8 -0
  230. package/dataflow/graph/unknown-side-effect.d.ts +8 -0
  231. package/dataflow/graph/unknown-side-effect.js +8 -0
  232. package/dataflow/graph/vertex.d.ts +9 -9
  233. package/dataflow/graph/vertex.js +9 -1
  234. package/dataflow/info.d.ts +16 -10
  235. package/dataflow/info.js +27 -1
  236. package/dataflow/internal/linker.d.ts +25 -9
  237. package/dataflow/internal/linker.js +30 -11
  238. package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
  239. package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -1
  240. package/dataflow/internal/process/functions/call/argument/unpack-argument.d.ts +1 -1
  241. package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +4 -1
  242. package/dataflow/internal/process/functions/call/built-in/built-in-access.js +6 -4
  243. package/dataflow/internal/process/functions/call/built-in/built-in-apply.d.ts +4 -1
  244. package/dataflow/internal/process/functions/call/built-in/built-in-apply.js +4 -1
  245. package/dataflow/internal/process/functions/call/built-in/built-in-assignment.d.ts +2 -2
  246. package/dataflow/internal/process/functions/call/built-in/built-in-assignment.js +4 -4
  247. package/dataflow/internal/process/functions/call/built-in/built-in-eval.d.ts +6 -3
  248. package/dataflow/internal/process/functions/call/built-in/built-in-eval.js +9 -6
  249. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.d.ts +4 -1
  250. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +4 -1
  251. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.d.ts +5 -2
  252. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +4 -1
  253. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.d.ts +10 -4
  254. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +7 -1
  255. package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +3 -0
  256. package/dataflow/internal/process/functions/call/built-in/built-in-get.js +3 -0
  257. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.d.ts +5 -2
  258. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +5 -1
  259. package/dataflow/internal/process/functions/call/built-in/built-in-library.d.ts +3 -0
  260. package/dataflow/internal/process/functions/call/built-in/built-in-library.js +3 -0
  261. package/dataflow/internal/process/functions/call/built-in/built-in-list.d.ts +1 -1
  262. package/dataflow/internal/process/functions/call/built-in/built-in-list.js +2 -2
  263. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.d.ts +3 -0
  264. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +6 -3
  265. package/dataflow/internal/process/functions/call/built-in/built-in-quote.d.ts +3 -0
  266. package/dataflow/internal/process/functions/call/built-in/built-in-quote.js +3 -0
  267. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +10 -2
  268. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +8 -0
  269. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.d.ts +6 -3
  270. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +5 -3
  271. package/dataflow/internal/process/functions/call/built-in/built-in-rm.d.ts +4 -1
  272. package/dataflow/internal/process/functions/call/built-in/built-in-rm.js +3 -0
  273. package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +34 -12
  274. package/dataflow/internal/process/functions/call/built-in/built-in-source.js +90 -68
  275. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +5 -0
  276. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +5 -0
  277. package/dataflow/internal/process/functions/call/built-in/built-in-vector.d.ts +1 -1
  278. package/dataflow/internal/process/functions/call/built-in/built-in-vector.js +2 -2
  279. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.d.ts +5 -2
  280. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +4 -1
  281. package/dataflow/internal/process/functions/call/common.d.ts +11 -5
  282. package/dataflow/internal/process/functions/call/common.js +9 -3
  283. package/dataflow/internal/process/functions/call/default-call-handling.d.ts +5 -0
  284. package/dataflow/internal/process/functions/call/default-call-handling.js +5 -0
  285. package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
  286. package/dataflow/internal/process/functions/call/known-call-handling.js +10 -3
  287. package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
  288. package/dataflow/internal/process/functions/call/named-call-handling.js +10 -4
  289. package/dataflow/internal/process/functions/call/unnamed-call-handling.d.ts +4 -1
  290. package/dataflow/internal/process/functions/call/unnamed-call-handling.js +3 -0
  291. package/dataflow/internal/process/functions/process-argument.d.ts +8 -2
  292. package/dataflow/internal/process/functions/process-argument.js +6 -0
  293. package/dataflow/internal/process/functions/process-parameter.d.ts +5 -2
  294. package/dataflow/internal/process/functions/process-parameter.js +7 -4
  295. package/dataflow/internal/process/process-symbol.d.ts +3 -0
  296. package/dataflow/internal/process/process-symbol.js +3 -0
  297. package/dataflow/internal/process/process-uninteresting-leaf.d.ts +3 -0
  298. package/dataflow/internal/process/process-uninteresting-leaf.js +3 -0
  299. package/dataflow/internal/process/process-value.d.ts +3 -0
  300. package/dataflow/internal/process/process-value.js +3 -0
  301. package/dataflow/origin/dfg-get-origin.d.ts +0 -2
  302. package/dataflow/origin/dfg-get-symbol-refs.d.ts +6 -8
  303. package/dataflow/origin/dfg-get-symbol-refs.js +7 -9
  304. package/dataflow/processor.d.ts +6 -12
  305. package/dataflow/processor.js +0 -1
  306. package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -2
  307. package/documentation/data/dfg/doc-data-dfg-util.js +6 -0
  308. package/documentation/data/faq/faqs.d.ts +5 -0
  309. package/documentation/data/faq/faqs.js +87 -0
  310. package/documentation/data/faq/recommended-configs.d.ts +36 -0
  311. package/documentation/data/faq/recommended-configs.js +40 -0
  312. package/documentation/data/faq/wiki-faq-store.d.ts +19 -0
  313. package/documentation/data/faq/wiki-faq-store.js +83 -0
  314. package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
  315. package/documentation/data/server/doc-data-server-messages.js +5 -64
  316. package/documentation/doc-capabilities.d.ts +9 -0
  317. package/documentation/{print-capabilities-markdown.js → doc-capabilities.js} +18 -21
  318. package/documentation/doc-readme.d.ts +9 -0
  319. package/documentation/{print-readme.js → doc-readme.js} +136 -35
  320. package/documentation/doc-util/doc-auto-gen.d.ts +6 -0
  321. package/documentation/doc-util/doc-auto-gen.js +6 -0
  322. package/documentation/doc-util/doc-benchmarks.d.ts +14 -0
  323. package/documentation/doc-util/doc-benchmarks.js +14 -0
  324. package/documentation/doc-util/doc-cfg.d.ts +7 -1
  325. package/documentation/doc-util/doc-cfg.js +14 -8
  326. package/documentation/doc-util/doc-cli-option.d.ts +9 -0
  327. package/documentation/doc-util/doc-cli-option.js +9 -0
  328. package/documentation/doc-util/doc-code.d.ts +24 -0
  329. package/documentation/doc-util/doc-code.js +24 -0
  330. package/documentation/doc-util/doc-dfg.d.ts +12 -6
  331. package/documentation/doc-util/doc-dfg.js +19 -10
  332. package/documentation/doc-util/doc-env.d.ts +3 -0
  333. package/documentation/doc-util/doc-env.js +3 -0
  334. package/documentation/doc-util/doc-escape.d.ts +6 -1
  335. package/documentation/doc-util/doc-escape.js +11 -1
  336. package/documentation/doc-util/doc-files.d.ts +11 -0
  337. package/documentation/doc-util/doc-files.js +15 -4
  338. package/documentation/doc-util/doc-general.d.ts +26 -0
  339. package/documentation/doc-util/doc-general.js +26 -0
  340. package/documentation/doc-util/doc-normalized-ast.d.ts +14 -3
  341. package/documentation/doc-util/doc-normalized-ast.js +16 -7
  342. package/documentation/doc-util/doc-query.d.ts +26 -3
  343. package/documentation/doc-util/doc-query.js +34 -12
  344. package/documentation/doc-util/doc-repl.d.ts +6 -0
  345. package/documentation/doc-util/doc-repl.js +6 -0
  346. package/documentation/doc-util/doc-search.d.ts +3 -18
  347. package/documentation/doc-util/doc-search.js +6 -62
  348. package/documentation/doc-util/doc-server-message.d.ts +18 -6
  349. package/documentation/doc-util/doc-server-message.js +17 -5
  350. package/documentation/doc-util/doc-structure.d.ts +9 -0
  351. package/documentation/doc-util/doc-structure.js +10 -1
  352. package/documentation/doc-util/doc-types.d.ts +90 -11
  353. package/documentation/doc-util/doc-types.js +128 -39
  354. package/documentation/index.d.ts +9 -9
  355. package/documentation/index.js +9 -9
  356. package/documentation/issue-linting-rule.d.ts +9 -0
  357. package/documentation/{print-linter-issue.js → issue-linting-rule.js} +20 -23
  358. package/documentation/wiki-analyzer.d.ts +9 -0
  359. package/documentation/wiki-analyzer.js +412 -0
  360. package/documentation/wiki-cfg.d.ts +9 -0
  361. package/documentation/{print-cfg-wiki.js → wiki-cfg.js} +144 -160
  362. package/documentation/wiki-core.d.ts +14 -0
  363. package/documentation/{print-core-wiki.js → wiki-core.js} +167 -175
  364. package/documentation/wiki-dataflow-graph.d.ts +9 -0
  365. package/documentation/{print-dataflow-graph-wiki.js → wiki-dataflow-graph.js} +145 -175
  366. package/documentation/wiki-engine.d.ts +9 -0
  367. package/documentation/{print-engines-wiki.js → wiki-engine.js} +27 -42
  368. package/documentation/wiki-faq.d.ts +8 -0
  369. package/documentation/wiki-faq.js +22 -0
  370. package/documentation/wiki-interface.d.ts +9 -0
  371. package/documentation/{print-interface-wiki.js → wiki-interface.js} +60 -57
  372. package/documentation/wiki-linter.d.ts +9 -0
  373. package/documentation/{print-linter-wiki.js → wiki-linter.js} +52 -48
  374. package/documentation/wiki-linting-and-testing.d.ts +9 -0
  375. package/documentation/{print-linting-and-testing-wiki.js → wiki-linting-and-testing.js} +25 -32
  376. package/documentation/wiki-mk/doc-context.d.ts +186 -0
  377. package/documentation/wiki-mk/doc-context.js +84 -0
  378. package/documentation/wiki-mk/doc-maker.d.ts +95 -0
  379. package/documentation/wiki-mk/doc-maker.js +133 -0
  380. package/documentation/wiki-normalized-ast.d.ts +9 -0
  381. package/documentation/{print-normalized-ast-wiki.js → wiki-normalized-ast.js} +64 -47
  382. package/documentation/wiki-onboarding.d.ts +8 -0
  383. package/documentation/{print-onboarding-wiki.js → wiki-onboarding.js} +18 -15
  384. package/documentation/wiki-query.d.ts +9 -0
  385. package/documentation/{print-query-wiki.js → wiki-query.js} +65 -80
  386. package/documentation/wiki-search.d.ts +9 -0
  387. package/documentation/wiki-search.js +61 -0
  388. package/engines.d.ts +1 -1
  389. package/linter/linter-executor.d.ts +6 -3
  390. package/linter/linter-executor.js +6 -2
  391. package/linter/linter-format.d.ts +10 -2
  392. package/linter/linter-format.js +8 -0
  393. package/linter/linter-rules.d.ts +13 -17
  394. package/linter/rules/absolute-path.d.ts +4 -6
  395. package/linter/rules/absolute-path.js +2 -2
  396. package/linter/rules/dataframe-access-validation.d.ts +4 -5
  397. package/linter/rules/dataframe-access-validation.js +21 -19
  398. package/linter/rules/dead-code.d.ts +2 -2
  399. package/linter/rules/deprecated-functions.d.ts +2 -6
  400. package/linter/rules/file-path-validity.d.ts +2 -3
  401. package/linter/rules/file-path-validity.js +4 -4
  402. package/linter/rules/function-finder-util.d.ts +2 -7
  403. package/linter/rules/naming-convention.d.ts +15 -4
  404. package/linter/rules/naming-convention.js +14 -2
  405. package/linter/rules/network-functions.d.ts +2 -2
  406. package/linter/rules/network-functions.js +1 -1
  407. package/linter/rules/seeded-randomness.d.ts +4 -4
  408. package/linter/rules/seeded-randomness.js +33 -13
  409. package/linter/rules/unused-definition.d.ts +3 -4
  410. package/linter/rules/useless-loop.d.ts +3 -4
  411. package/linter/rules/useless-loop.js +2 -2
  412. package/package.json +7 -18
  413. package/project/cache/flowr-analyzer-cache.d.ts +9 -19
  414. package/project/cache/flowr-analyzer-cache.js +17 -44
  415. package/project/cache/flowr-analyzer-controlflow-cache.d.ts +34 -0
  416. package/project/cache/flowr-analyzer-controlflow-cache.js +79 -0
  417. package/project/context/flowr-analyzer-context.d.ts +31 -9
  418. package/project/context/flowr-analyzer-context.js +48 -4
  419. package/project/context/flowr-analyzer-dependencies-context.d.ts +0 -1
  420. package/project/context/flowr-analyzer-files-context.d.ts +63 -15
  421. package/project/context/flowr-analyzer-files-context.js +110 -39
  422. package/project/context/flowr-file.d.ts +32 -11
  423. package/project/context/flowr-file.js +30 -9
  424. package/project/flowr-analyzer-builder.d.ts +23 -31
  425. package/project/flowr-analyzer-builder.js +35 -74
  426. package/project/flowr-analyzer.d.ts +79 -29
  427. package/project/flowr-analyzer.js +59 -15
  428. package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +8 -2
  429. package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.js +13 -5
  430. package/project/plugins/file-plugins/flowr-analyzer-file-plugin.d.ts +3 -3
  431. package/project/plugins/file-plugins/flowr-analyzer-file-plugin.js +11 -5
  432. package/project/plugins/file-plugins/flowr-description-file.d.ts +3 -5
  433. package/project/plugins/file-plugins/flowr-description-file.js +0 -1
  434. package/project/plugins/file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin.d.ts +22 -0
  435. package/project/plugins/file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin.js +33 -0
  436. package/project/plugins/file-plugins/notebooks/flowr-analyzer-qmd-file-plugin.d.ts +22 -0
  437. package/project/plugins/file-plugins/notebooks/flowr-analyzer-qmd-file-plugin.js +33 -0
  438. package/project/plugins/file-plugins/notebooks/flowr-analyzer-rmd-file-plugin.d.ts +22 -0
  439. package/project/plugins/file-plugins/notebooks/flowr-analyzer-rmd-file-plugin.js +33 -0
  440. package/project/plugins/file-plugins/notebooks/flowr-jupyter-file.d.ts +20 -0
  441. package/project/plugins/file-plugins/notebooks/flowr-jupyter-file.js +42 -0
  442. package/project/plugins/file-plugins/notebooks/flowr-rmarkdown-file.d.ts +59 -0
  443. package/project/plugins/file-plugins/notebooks/flowr-rmarkdown-file.js +132 -0
  444. package/project/plugins/file-plugins/notebooks/notebook.d.ts +0 -0
  445. package/project/plugins/file-plugins/notebooks/notebook.js +2 -0
  446. package/project/plugins/flowr-analyzer-plugin-defaults.d.ts +5 -0
  447. package/project/plugins/flowr-analyzer-plugin-defaults.js +23 -0
  448. package/project/plugins/flowr-analyzer-plugin.d.ts +2 -0
  449. package/project/plugins/flowr-analyzer-plugin.js +2 -0
  450. package/project/plugins/loading-order-plugins/flowr-analyzer-loading-order-description-file-plugin.js +1 -1
  451. package/project/plugins/package-version-plugins/flowr-analyzer-package-versions-description-file-plugin.js +1 -1
  452. package/project/plugins/plugin-registry.d.ts +34 -0
  453. package/project/plugins/plugin-registry.js +62 -0
  454. package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.d.ts +1 -1
  455. package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.js +7 -1
  456. package/queries/base-query-format.d.ts +2 -2
  457. package/queries/catalog/call-context-query/call-context-query-executor.d.ts +3 -0
  458. package/queries/catalog/call-context-query/call-context-query-executor.js +7 -2
  459. package/queries/catalog/call-context-query/call-context-query-format.d.ts +3 -3
  460. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.d.ts +16 -4
  461. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +34 -18
  462. package/queries/catalog/cluster-query/cluster-query-executor.d.ts +3 -0
  463. package/queries/catalog/cluster-query/cluster-query-executor.js +3 -0
  464. package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
  465. package/queries/catalog/config-query/config-query-executor.d.ts +3 -0
  466. package/queries/catalog/config-query/config-query-executor.js +3 -0
  467. package/queries/catalog/config-query/config-query-format.d.ts +5 -2
  468. package/queries/catalog/config-query/config-query-format.js +13 -16
  469. package/queries/catalog/control-flow-query/control-flow-query-executor.d.ts +3 -0
  470. package/queries/catalog/control-flow-query/control-flow-query-executor.js +3 -0
  471. package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +3 -3
  472. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.d.ts +3 -0
  473. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.js +3 -0
  474. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
  475. package/queries/catalog/dataflow-query/dataflow-query-executor.d.ts +3 -0
  476. package/queries/catalog/dataflow-query/dataflow-query-executor.js +3 -0
  477. package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
  478. package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +4 -1
  479. package/queries/catalog/dependencies-query/dependencies-query-executor.js +7 -4
  480. package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +4 -1
  481. package/queries/catalog/dependencies-query/dependencies-query-format.js +5 -2
  482. package/queries/catalog/df-shape-query/df-shape-query-executor.d.ts +4 -1
  483. package/queries/catalog/df-shape-query/df-shape-query-executor.js +8 -4
  484. package/queries/catalog/df-shape-query/df-shape-query-format.d.ts +10 -3
  485. package/queries/catalog/df-shape-query/df-shape-query-format.js +25 -5
  486. package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +4 -0
  487. package/queries/catalog/happens-before-query/happens-before-query-executor.js +4 -0
  488. package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
  489. package/queries/catalog/id-map-query/id-map-query-executor.d.ts +3 -0
  490. package/queries/catalog/id-map-query/id-map-query-executor.js +3 -0
  491. package/queries/catalog/id-map-query/id-map-query-format.d.ts +1 -1
  492. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.d.ts +3 -0
  493. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +3 -0
  494. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +2 -2
  495. package/queries/catalog/linter-query/linter-query-executor.d.ts +4 -0
  496. package/queries/catalog/linter-query/linter-query-executor.js +4 -0
  497. package/queries/catalog/linter-query/linter-query-format.d.ts +12 -3
  498. package/queries/catalog/linter-query/linter-query-format.js +80 -2
  499. package/queries/catalog/location-map-query/location-map-query-executor.d.ts +4 -0
  500. package/queries/catalog/location-map-query/location-map-query-executor.js +7 -2
  501. package/queries/catalog/location-map-query/location-map-query-format.d.ts +7 -1
  502. package/queries/catalog/location-map-query/location-map-query-format.js +12 -0
  503. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.d.ts +3 -0
  504. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.js +3 -0
  505. package/queries/catalog/normalized-ast-query/normalized-ast-query-format.d.ts +1 -1
  506. package/queries/catalog/origin-query/origin-query-executor.d.ts +7 -1
  507. package/queries/catalog/origin-query/origin-query-executor.js +6 -0
  508. package/queries/catalog/origin-query/origin-query-format.d.ts +7 -1
  509. package/queries/catalog/origin-query/origin-query-format.js +17 -1
  510. package/queries/catalog/project-query/project-query-executor.d.ts +3 -0
  511. package/queries/catalog/project-query/project-query-executor.js +6 -1
  512. package/queries/catalog/project-query/project-query-format.d.ts +1 -1
  513. package/queries/catalog/resolve-value-query/resolve-value-query-executor.d.ts +6 -0
  514. package/queries/catalog/resolve-value-query/resolve-value-query-executor.js +6 -0
  515. package/queries/catalog/resolve-value-query/resolve-value-query-format.d.ts +7 -1
  516. package/queries/catalog/resolve-value-query/resolve-value-query-format.js +19 -1
  517. package/queries/catalog/search-query/search-query-executor.d.ts +3 -0
  518. package/queries/catalog/search-query/search-query-executor.js +3 -0
  519. package/queries/catalog/search-query/search-query-format.d.ts +1 -1
  520. package/queries/catalog/static-slice-query/static-slice-query-executor.d.ts +9 -0
  521. package/queries/catalog/static-slice-query/static-slice-query-executor.js +10 -1
  522. package/queries/catalog/static-slice-query/static-slice-query-format.d.ts +7 -1
  523. package/queries/catalog/static-slice-query/static-slice-query-format.js +30 -1
  524. package/queries/query-print.d.ts +20 -4
  525. package/queries/query-print.js +18 -2
  526. package/queries/query.d.ts +93 -55
  527. package/queries/query.js +55 -23
  528. package/queries/virtual-query/virtual-queries.d.ts +1 -2
  529. package/r-bridge/data/get.d.ts +6 -0
  530. package/r-bridge/data/get.js +6 -0
  531. package/r-bridge/lang-4.x/ast/model/collect.d.ts +2 -2
  532. package/r-bridge/lang-4.x/ast/model/collect.js +4 -1
  533. package/r-bridge/lang-4.x/ast/model/model.d.ts +8 -11
  534. package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.d.ts +0 -2
  535. package/r-bridge/lang-4.x/ast/model/nodes/r-number.d.ts +3 -0
  536. package/r-bridge/lang-4.x/ast/model/nodes/r-number.js +3 -0
  537. package/r-bridge/lang-4.x/ast/model/nodes/r-project.d.ts +29 -0
  538. package/r-bridge/lang-4.x/ast/model/nodes/r-project.js +15 -0
  539. package/r-bridge/lang-4.x/ast/model/nodes/r-string.d.ts +3 -0
  540. package/r-bridge/lang-4.x/ast/model/nodes/r-string.js +3 -0
  541. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.d.ts +3 -0
  542. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.js +3 -0
  543. package/r-bridge/lang-4.x/ast/model/operators.d.ts +0 -1
  544. package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +11 -14
  545. package/r-bridge/lang-4.x/ast/model/processing/decorate.js +30 -17
  546. package/r-bridge/lang-4.x/ast/model/processing/fold.d.ts +1 -1
  547. package/r-bridge/lang-4.x/ast/model/processing/node-id.d.ts +0 -1
  548. package/r-bridge/lang-4.x/ast/model/processing/node-id.js +0 -1
  549. package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +0 -1
  550. package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.d.ts +1 -2
  551. package/r-bridge/lang-4.x/ast/model/processing/visitor.d.ts +0 -1
  552. package/r-bridge/lang-4.x/ast/model/processing/visitor.js +0 -1
  553. package/r-bridge/lang-4.x/ast/model/type.d.ts +6 -5
  554. package/r-bridge/lang-4.x/ast/model/type.js +6 -5
  555. package/r-bridge/lang-4.x/ast/model/versions.d.ts +0 -1
  556. package/r-bridge/lang-4.x/ast/model/versions.js +0 -1
  557. package/r-bridge/lang-4.x/ast/parser/json/format.js +1 -1
  558. package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +12 -12
  559. package/r-bridge/lang-4.x/ast/parser/json/parser.js +11 -11
  560. package/r-bridge/lang-4.x/ast/parser/main/internal/control/normalize-if-then.d.ts +1 -1
  561. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.d.ts +0 -1
  562. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.js +0 -1
  563. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.d.ts +0 -2
  564. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.js +0 -2
  565. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.d.ts +1 -3
  566. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.js +0 -2
  567. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.d.ts +0 -2
  568. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.js +0 -2
  569. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.d.ts +0 -2
  570. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.js +0 -2
  571. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.d.ts +3 -0
  572. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.js +3 -0
  573. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.d.ts +4 -1
  574. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.js +3 -0
  575. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.d.ts +3 -0
  576. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.js +3 -0
  577. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.d.ts +0 -2
  578. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.js +0 -2
  579. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.d.ts +4 -1
  580. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.js +3 -0
  581. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.d.ts +0 -2
  582. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.js +0 -2
  583. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-binary.d.ts +1 -1
  584. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.d.ts +0 -2
  585. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.js +0 -2
  586. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.d.ts +0 -1
  587. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.js +0 -1
  588. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.d.ts +0 -1
  589. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.js +0 -1
  590. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.d.ts +3 -0
  591. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.js +3 -0
  592. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.d.ts +9 -0
  593. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.js +9 -0
  594. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-root.d.ts +4 -3
  595. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-root.js +20 -11
  596. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.d.ts +1 -3
  597. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.js +0 -2
  598. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.d.ts +1 -2
  599. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.js +0 -1
  600. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.d.ts +0 -1
  601. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.js +0 -1
  602. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.d.ts +0 -2
  603. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.js +0 -2
  604. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.d.ts +14 -5
  605. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.js +13 -6
  606. package/r-bridge/lang-4.x/convert-values.d.ts +12 -1
  607. package/r-bridge/lang-4.x/convert-values.js +12 -1
  608. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.d.ts +7 -2
  609. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.js +18 -0
  610. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +15 -2
  611. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +62 -24
  612. package/r-bridge/parser.d.ts +43 -12
  613. package/r-bridge/parser.js +27 -13
  614. package/r-bridge/retriever.d.ts +25 -16
  615. package/r-bridge/retriever.js +29 -5
  616. package/r-bridge/shell-executor.d.ts +3 -3
  617. package/r-bridge/shell-executor.js +6 -1
  618. package/r-bridge/shell.d.ts +24 -23
  619. package/r-bridge/shell.js +37 -31
  620. package/reconstruct/auto-select/auto-select-defaults.d.ts +0 -2
  621. package/reconstruct/auto-select/magic-comments.d.ts +1 -2
  622. package/reconstruct/auto-select/magic-comments.js +2 -3
  623. package/reconstruct/reconstruct.d.ts +18 -12
  624. package/reconstruct/reconstruct.js +19 -10
  625. package/search/flowr-search-builder.d.ts +12 -5
  626. package/search/flowr-search-builder.js +7 -2
  627. package/search/flowr-search-executor.d.ts +3 -3
  628. package/search/flowr-search-filters.d.ts +14 -1
  629. package/search/flowr-search-filters.js +13 -0
  630. package/search/flowr-search-printer.d.ts +6 -0
  631. package/search/flowr-search-printer.js +6 -0
  632. package/search/flowr-search-traverse.d.ts +1 -1
  633. package/search/flowr-search.d.ts +15 -3
  634. package/search/search-executor/search-enrichers.d.ts +16 -6
  635. package/search/search-executor/search-enrichers.js +4 -3
  636. package/search/search-executor/search-generators.d.ts +19 -10
  637. package/search/search-executor/search-generators.js +57 -5
  638. package/search/search-executor/search-mappers.d.ts +8 -5
  639. package/search/search-executor/search-mappers.js +3 -0
  640. package/search/search-executor/search-transformer.d.ts +19 -16
  641. package/search/search-executor/search-transformer.js +3 -0
  642. package/slicing/criterion/collect-all.d.ts +13 -12
  643. package/slicing/criterion/collect-all.js +1 -1
  644. package/slicing/criterion/parse.d.ts +4 -2
  645. package/slicing/criterion/parse.js +8 -6
  646. package/slicing/static/fingerprint.d.ts +9 -1
  647. package/slicing/static/fingerprint.js +8 -0
  648. package/slicing/static/slice-call.d.ts +2 -2
  649. package/slicing/static/static-slicer.d.ts +8 -4
  650. package/slicing/static/static-slicer.js +5 -1
  651. package/slicing/static/visiting-queue.d.ts +1 -1
  652. package/statistics/features/common-syntax-probability.d.ts +10 -1
  653. package/statistics/features/common-syntax-probability.js +9 -0
  654. package/statistics/features/feature.d.ts +0 -4
  655. package/statistics/features/feature.js +0 -1
  656. package/statistics/features/post-processing.d.ts +6 -0
  657. package/statistics/features/post-processing.js +6 -0
  658. package/statistics/features/supported/assignments/assignments.js +1 -1
  659. package/statistics/features/supported/assignments/post-process.d.ts +3 -0
  660. package/statistics/features/supported/assignments/post-process.js +3 -0
  661. package/statistics/features/supported/comments/post-process.d.ts +3 -0
  662. package/statistics/features/supported/comments/post-process.js +3 -0
  663. package/statistics/features/supported/control-flow/control-flow.js +1 -1
  664. package/statistics/features/supported/control-flow/post-process.d.ts +3 -0
  665. package/statistics/features/supported/control-flow/post-process.js +3 -0
  666. package/statistics/features/supported/data-access/data-access.d.ts +1 -1
  667. package/statistics/features/supported/data-access/data-access.js +1 -1
  668. package/statistics/features/supported/data-access/post-process.d.ts +3 -0
  669. package/statistics/features/supported/data-access/post-process.js +3 -0
  670. package/statistics/features/supported/defined-functions/defined-functions.d.ts +1 -1
  671. package/statistics/features/supported/defined-functions/defined-functions.js +1 -1
  672. package/statistics/features/supported/expression-list/post-process.d.ts +3 -0
  673. package/statistics/features/supported/expression-list/post-process.js +3 -0
  674. package/statistics/features/supported/expression-list/statistics-expression-list.js +1 -1
  675. package/statistics/features/supported/loops/loops.js +1 -1
  676. package/statistics/features/supported/loops/post-process.d.ts +3 -0
  677. package/statistics/features/supported/loops/post-process.js +3 -0
  678. package/statistics/features/supported/used-functions/used-functions.d.ts +1 -1
  679. package/statistics/features/supported/used-functions/used-functions.js +1 -1
  680. package/statistics/features/supported/used-packages/post-process.d.ts +3 -0
  681. package/statistics/features/supported/used-packages/post-process.js +3 -0
  682. package/statistics/features/supported/values/post-process.d.ts +3 -0
  683. package/statistics/features/supported/values/post-process.js +3 -0
  684. package/statistics/features/supported/variables/post-process.d.ts +7 -1
  685. package/statistics/features/supported/variables/post-process.js +6 -0
  686. package/statistics/features/supported/variables/variables.js +1 -1
  687. package/statistics/meta-statistics.d.ts +8 -9
  688. package/statistics/output/file-provider.d.ts +5 -6
  689. package/statistics/output/file-provider.js +5 -6
  690. package/statistics/output/print-stats.d.ts +13 -1
  691. package/statistics/output/print-stats.js +12 -0
  692. package/statistics/output/statistics-file.d.ts +1 -2
  693. package/statistics/output/statistics-file.js +0 -1
  694. package/statistics/statistics.d.ts +3 -4
  695. package/statistics/statistics.js +4 -4
  696. package/statistics/summarizer/auto-detect.d.ts +3 -0
  697. package/statistics/summarizer/auto-detect.js +3 -0
  698. package/statistics/summarizer/post-process/clusterer.d.ts +3 -4
  699. package/statistics/summarizer/post-process/clusterer.js +0 -2
  700. package/statistics/summarizer/post-process/file-based-count.d.ts +0 -1
  701. package/statistics/summarizer/post-process/file-based-count.js +0 -1
  702. package/statistics/summarizer/post-process/histogram.d.ts +0 -2
  703. package/statistics/summarizer/post-process/histogram.js +0 -2
  704. package/statistics/summarizer/post-process/post-process-output.d.ts +2 -4
  705. package/statistics/summarizer/post-process/post-process-output.js +0 -3
  706. package/statistics/summarizer/second-phase/process.d.ts +5 -3
  707. package/statistics/summarizer/second-phase/process.js +3 -1
  708. package/statistics/summarizer/summarizer.d.ts +1 -2
  709. package/util/assert.d.ts +56 -2
  710. package/util/assert.js +56 -2
  711. package/util/collections/arrays.d.ts +10 -5
  712. package/util/collections/arrays.js +10 -5
  713. package/util/collections/defaultmap.d.ts +11 -11
  714. package/util/collections/defaultmap.js +11 -11
  715. package/util/containers.d.ts +2 -7
  716. package/util/containers.js +0 -5
  717. package/util/diff-graph.d.ts +0 -1
  718. package/util/diff-graph.js +0 -1
  719. package/util/diff.d.ts +3 -1
  720. package/util/diff.js +3 -1
  721. package/util/files.d.ts +12 -12
  722. package/util/files.js +11 -11
  723. package/util/html-hover-over.d.ts +5 -0
  724. package/util/html-hover-over.js +5 -0
  725. package/util/json.d.ts +13 -0
  726. package/util/json.js +13 -0
  727. package/util/log.d.ts +2 -2
  728. package/util/log.js +2 -2
  729. package/util/mermaid/ast.d.ts +7 -3
  730. package/util/mermaid/ast.js +39 -8
  731. package/util/mermaid/cfg.d.ts +1 -1
  732. package/util/mermaid/cfg.js +1 -1
  733. package/util/mermaid/dfg.d.ts +12 -4
  734. package/util/mermaid/dfg.js +9 -1
  735. package/util/mermaid/mermaid.d.ts +6 -1
  736. package/util/mermaid/mermaid.js +6 -1
  737. package/util/numbers.d.ts +7 -0
  738. package/util/numbers.js +7 -0
  739. package/util/objects.d.ts +0 -2
  740. package/util/os.d.ts +3 -0
  741. package/util/os.js +3 -0
  742. package/util/parallel.d.ts +4 -4
  743. package/util/parallel.js +4 -4
  744. package/util/prefix.d.ts +0 -1
  745. package/util/prefix.js +0 -1
  746. package/util/quads.d.ts +14 -17
  747. package/util/quads.js +3 -5
  748. package/util/r-value.d.ts +10 -1
  749. package/util/r-value.js +21 -0
  750. package/util/random.d.ts +3 -0
  751. package/util/random.js +3 -0
  752. package/util/range.d.ts +9 -3
  753. package/util/range.js +15 -2
  754. package/util/schema.d.ts +14 -1
  755. package/util/schema.js +15 -2
  756. package/util/simple-df/dfg-view.d.ts +4 -1
  757. package/util/simple-df/dfg-view.js +4 -1
  758. package/util/summarizer.d.ts +9 -1
  759. package/util/summarizer.js +9 -0
  760. package/util/text/ansi.d.ts +3 -0
  761. package/util/text/ansi.js +3 -0
  762. package/util/text/args.d.ts +2 -4
  763. package/util/text/args.js +7 -5
  764. package/util/text/text.d.ts +4 -0
  765. package/util/text/text.js +4 -0
  766. package/util/text/time.d.ts +0 -1
  767. package/util/text/time.js +0 -1
  768. package/util/version.d.ts +12 -3
  769. package/util/version.js +12 -3
  770. package/abstract-interpretation/data-frame/domain.d.ts +0 -107
  771. package/abstract-interpretation/data-frame/domain.js +0 -315
  772. package/abstract-interpretation/domains/set-bounded-set-domain.d.ts +0 -43
  773. package/abstract-interpretation/domains/set-bounded-set-domain.js +0 -164
  774. package/cli/repl/commands/repl-lineage.d.ts +0 -15
  775. package/cli/repl/commands/repl-lineage.js +0 -66
  776. package/cli/repl/server/messages/message-lineage.d.ts +0 -17
  777. package/cli/repl/server/messages/message-lineage.js +0 -25
  778. package/documentation/print-analyzer-wiki.d.ts +0 -1
  779. package/documentation/print-analyzer-wiki.js +0 -137
  780. package/documentation/print-capabilities-markdown.d.ts +0 -1
  781. package/documentation/print-cfg-wiki.d.ts +0 -1
  782. package/documentation/print-core-wiki.d.ts +0 -2
  783. package/documentation/print-dataflow-graph-wiki.d.ts +0 -1
  784. package/documentation/print-engines-wiki.d.ts +0 -1
  785. package/documentation/print-faq-wiki.d.ts +0 -1
  786. package/documentation/print-faq-wiki.js +0 -90
  787. package/documentation/print-interface-wiki.d.ts +0 -1
  788. package/documentation/print-linter-issue.d.ts +0 -1
  789. package/documentation/print-linter-wiki.d.ts +0 -1
  790. package/documentation/print-linting-and-testing-wiki.d.ts +0 -1
  791. package/documentation/print-normalized-ast-wiki.d.ts +0 -1
  792. package/documentation/print-onboarding-wiki.d.ts +0 -1
  793. package/documentation/print-query-wiki.d.ts +0 -1
  794. package/documentation/print-readme.d.ts +0 -1
  795. package/documentation/print-search-wiki.d.ts +0 -1
  796. package/documentation/print-search-wiki.js +0 -74
  797. package/queries/catalog/lineage-query/lineage-query-executor.d.ts +0 -3
  798. package/queries/catalog/lineage-query/lineage-query-executor.js +0 -22
  799. package/queries/catalog/lineage-query/lineage-query-format.d.ts +0 -22
  800. package/queries/catalog/lineage-query/lineage-query-format.js +0 -31
  801. package/util/formats/adapter-format.d.ts +0 -6
  802. package/util/formats/adapter-format.js +0 -3
  803. package/util/formats/adapter.d.ts +0 -18
  804. package/util/formats/adapter.js +0 -49
  805. package/util/formats/adapters/r-adapter.d.ts +0 -4
  806. package/util/formats/adapters/r-adapter.js +0 -7
  807. package/util/formats/adapters/rmd-adapter.d.ts +0 -26
  808. package/util/formats/adapters/rmd-adapter.js +0 -91
@@ -69,7 +69,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
69
69
  *
70
70
  * This function is called for every use of a variable in the program and dispatches the appropriate event.
71
71
  * You probably do not have to overwrite it and just use {@link SemanticCfgGuidedVisitor#onVariableUse|`onVariableUse`} instead.
72
- *
73
72
  * @protected
74
73
  */
75
74
  visitVariableUse(vertex) {
@@ -81,7 +80,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
81
80
  *
82
81
  * This function is called for every variable definition in the program and dispatches the appropriate event.
83
82
  * You probably do not have to overwrite it and just use {@link SemanticCfgGuidedVisitor#onVariableDefinition|`onVariableDefinition`} instead.
84
- *
85
83
  * @protected
86
84
  */
87
85
  visitVariableDefinition(vertex) {
@@ -93,7 +91,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
93
91
  *
94
92
  * This function is called for every function definition in the program and dispatches the appropriate event.
95
93
  * You probably do not have to overwrite it and just use {@link SemanticCfgGuidedVisitor#onFunctionDefinition|`onFunctionDefinition`} instead.
96
- *
97
94
  * @protected
98
95
  */
99
96
  visitFunctionDefinition(vertex) {
@@ -113,7 +110,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
113
110
  * You probably do not have to overwrite it and just use {@link SemanticCfgGuidedVisitor#onUnnamedCall|`onUnnamedCall`} for anonymous calls,
114
111
  * or {@link SemanticCfgGuidedVisitor#onDispatchFunctionCallOrigins|`onDispatchFunctionCallOrigins`} for named calls (or just overwrite
115
112
  * the events you are interested in directly).
116
- *
117
113
  * @protected
118
114
  */
119
115
  visitFunctionCall(vertex) {
@@ -130,7 +126,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
130
126
  * This function is called for every unknown vertex in the program.
131
127
  * It dispatches the appropriate event based on the type of the vertex.
132
128
  * In case you have to overwrite this function please make sure to still call this implementation to get a correctly working {@link SemanticCfgGuidedVisitor#onProgram|`onProgram`}.
133
- *
134
129
  * @protected
135
130
  */
136
131
  visitUnknown(vertex) {
@@ -146,7 +141,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
146
141
  * and aggregating their results (which is just additive by default).
147
142
  * If you want to change the behavior in case of multiple potential function definition targets, simply overwrite this function
148
143
  * with the logic you desire.
149
- *
150
144
  * @protected
151
145
  */
152
146
  onDispatchFunctionCallOrigins(call, origins) {
@@ -158,9 +152,7 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
158
152
  * This function is responsible for dispatching the appropriate event
159
153
  * based on a given dataflow vertex. The default serves as a backend
160
154
  * for the event functions, but you may overwrite and extend this function at will.
161
- *
162
155
  * @see {@link onDispatchFunctionCallOrigins} for the aggregation in case the function call target is ambiguous.
163
- *
164
156
  * @protected
165
157
  */
166
158
  onDispatchFunctionCallOrigin(call, origin) {
@@ -263,7 +255,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
263
255
  }
264
256
  /**
265
257
  * This event is called for the root program node, i.e., the program that is being analyzed.
266
- *
267
258
  * @protected
268
259
  */
269
260
  onProgram(_data) { }
@@ -335,7 +326,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
335
326
  * This is separate from {@link SemanticCfgGuidedVisitor#onDefaultFunctionCall|`onDefaultFunctionCall`} which is used for named function calls that do not trigger any of these events.
336
327
  * The main differentiation for these calls is that you may not infer their semantics from any name alone and probably _have_
337
328
  * to rely on {@link SemanticCfgGuidedVisitor#getOrigins|`getOrigins`} to get more information.
338
- *
339
329
  * @protected
340
330
  */
341
331
  onUnnamedCall(_data) { }
@@ -356,7 +346,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
356
346
  * This explicitly will not trigger for scenarios in which the function has no name (i.e., if it is anonymous).
357
347
  * For such cases, you may rely on the {@link SemanticCfgGuidedVisitor#onUnnamedCall|`onUnnamedCall`} event.
358
348
  * The main reason for this separation is part of flowR's handling of these functions, as anonymous calls cannot be resolved using the active environment.
359
- *
360
349
  * @protected
361
350
  */
362
351
  onDefaultFunctionCall(_data) { }
@@ -366,7 +355,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
366
355
  * For example, `eval` in `eval(parse(text = "x + 1"))`.
367
356
  *
368
357
  * More specifically, this relates to the corresponding {@link BuiltInProcessorMapper} handler.
369
- *
370
358
  * @protected
371
359
  */
372
360
  onEvalFunctionCall(_data) { }
@@ -376,7 +364,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
376
364
  * For example, `lapply` in `lapply(1:10, function(x) { x + 1 })`.
377
365
  *
378
366
  * More specifically, this relates to the corresponding {@link BuiltInProcessorMapper} handler.
379
- *
380
367
  * @protected
381
368
  */
382
369
  onApplyFunctionCall(_data) { }
@@ -385,7 +372,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
385
372
  *
386
373
  * For example, this triggers for the expression list created by `{` and `}` in `ìf (TRUE) { x <- 1; y <- 2; }`. But also for the implicit
387
374
  * expression list `x <- x + 1` in `for(x in 1:10) x <- x + 1`.
388
- *
389
375
  * @protected
390
376
  */
391
377
  onExpressionList(_data) { }
@@ -397,19 +383,16 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
397
383
  * By default, this does not provide the resolved source file. Yet you can access the {@link DataflowGraph} to ask for sourced files.
398
384
  *
399
385
  * More specifically, this relates to the corresponding {@link BuiltInProcessorMapper} handler.
400
- *
401
386
  * @protected
402
387
  */
403
388
  onSourceCall(_data) { }
404
389
  /**
405
390
  * This event triggers for every subsetting call, i.e., for every call to `[[`, `[`, or `$`.
406
- *
407
391
  * @protected
408
392
  */
409
393
  onAccessCall(_data) { }
410
394
  /**
411
395
  * This event triggers for every call to the `if` function, which is used to implement the `if-then-else` control flow.
412
- *
413
396
  * @protected
414
397
  */
415
398
  onIfThenElseCall(_data) { }
@@ -420,7 +403,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
420
403
  *
421
404
  * Please be aware, that with flowR resolving the `get` during the dataflow analysis,
422
405
  * this may very well trigger a {@link SemanticCfgGuidedVisitor#onVariableUse|`onVariableUse`} event as well.
423
- *
424
406
  * @protected
425
407
  */
426
408
  onGetCall(_data) { }
@@ -428,7 +410,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
428
410
  * This event triggers for every call to the `rm` function, which is used to remove variables from the environment.
429
411
  *
430
412
  * For example, `rm` in `rm(x)`.
431
- *
432
413
  * @protected
433
414
  */
434
415
  onRmCall(_data) { }
@@ -438,7 +419,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
438
419
  * For example, `library` in `library(dplyr)`.
439
420
  *
440
421
  * More specifically, this relates to the corresponding {@link BuiltInProcessorMapper} handler.
441
- *
442
422
  * @protected
443
423
  */
444
424
  onLibraryCall(_data) { }
@@ -458,13 +438,11 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
458
438
  * For example, this triggers for`%in%` in `x %in% y`.
459
439
  *
460
440
  * More specifically, this relates to the corresponding {@link BuiltInProcessorMapper} handler.
461
- *
462
441
  * @protected
463
442
  */
464
443
  onSpecialBinaryOpCall(_data) { }
465
444
  /**
466
445
  * This event triggers for every call to R's pipe operator, i.e., for every call to `|>`.
467
- *
468
446
  * @protected
469
447
  */
470
448
  onPipeCall(_data) { }
@@ -474,7 +452,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
474
452
  * For example, `quote` in `quote(x + 1)`.
475
453
  *
476
454
  * More specifically, this relates to the corresponding {@link BuiltInProcessorMapper} handler.
477
- *
478
455
  * @protected
479
456
  */
480
457
  onQuoteCall(_data) { }
@@ -484,7 +461,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
484
461
  * For example, this triggers for `for` in `for(i in 1:10) { print(i) }`.
485
462
  *
486
463
  * More specifically, this relates to the corresponding {@link BuiltInProcessorMapper} handler.
487
- *
488
464
  * @protected
489
465
  */
490
466
  onForLoopCall(_data) { }
@@ -494,7 +470,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
494
470
  * For example, this triggers for `while` in `while(i < 10) { i <- i + 1 }`.
495
471
  *
496
472
  * More specifically, this relates to the corresponding {@link BuiltInProcessorMapper} handler.
497
- *
498
473
  * @protected
499
474
  */
500
475
  onWhileLoopCall(_data) { }
@@ -504,7 +479,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
504
479
  * For example, this triggers for `repeat` in `repeat { i <- i + 1; if(i >= 10) break }`.
505
480
  *
506
481
  * More specifically, this relates to the corresponding {@link BuiltInProcessorMapper} handler.
507
- *
508
482
  * @protected
509
483
  */
510
484
  onRepeatLoopCall(_data) { }
@@ -526,7 +500,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
526
500
  * For example, this triggers for `list` in `list(1, 2, 3)`.
527
501
  *
528
502
  * More specifically, this relates to the corresponding {@link BuiltInProcessorMapper} handler.
529
- *
530
503
  * @protected
531
504
  */
532
505
  onListCall(_data) { }
@@ -536,7 +509,6 @@ class SemanticCfgGuidedVisitor extends dfg_cfg_guided_visitor_1.DataflowAwareCfg
536
509
  * For example, this triggers for `c` in `c(1, 2, 3)`.
537
510
  *
538
511
  * More specifically, this relates to the corresponding {@link BuiltInProcessorMapper} handler.
539
- *
540
512
  * @protected
541
513
  */
542
514
  onVectorCall(_data) { }
@@ -1,4 +1,4 @@
1
- import type { ControlFlowGraph } from './control-flow-graph';
1
+ import { type ControlFlowGraph } from './control-flow-graph';
2
2
  import type { NodeId } from '../r-bridge/lang-4.x/ast/model/processing/node-id';
3
3
  export type SimpleCfgVisitor = (graph: ControlFlowGraph, nodes: readonly NodeId[], visitor: (node: NodeId) => boolean | void) => void;
4
4
  /**
@@ -8,7 +8,6 @@ export type SimpleCfgVisitor = (graph: ControlFlowGraph, nodes: readonly NodeId[
8
8
  * @param visitor - The visitor function to call for each node, if you return true the traversal from this node will be stopped.
9
9
  *
10
10
  * This function is of type {@link SimpleCfgVisitor}.
11
- *
12
11
  * @see {@link visitCfgInOrder} for a traversal in order
13
12
  */
14
13
  export declare function visitCfgInReverseOrder(graph: ControlFlowGraph, startNodes: readonly NodeId[], visitor: (node: NodeId) => boolean | void): void;
@@ -19,7 +18,6 @@ export declare function visitCfgInReverseOrder(graph: ControlFlowGraph, startNod
19
18
  * @param visitor - The visitor function to call for each node, if you return true the traversal from this node will be stopped.
20
19
  *
21
20
  * This function is of type {@link SimpleCfgVisitor}.
22
- *
23
21
  * @see {@link visitCfgInReverseOrder} for a traversal in reversed order
24
22
  */
25
23
  export declare function visitCfgInOrder(graph: ControlFlowGraph, startNodes: readonly NodeId[], visitor: (node: NodeId) => boolean | void): void;
@@ -11,14 +11,13 @@ const control_flow_graph_1 = require("./control-flow-graph");
11
11
  * @param visitor - The visitor function to call for each node, if you return true the traversal from this node will be stopped.
12
12
  *
13
13
  * This function is of type {@link SimpleCfgVisitor}.
14
- *
15
14
  * @see {@link visitCfgInOrder} for a traversal in order
16
15
  */
17
16
  function visitCfgInReverseOrder(graph, startNodes,
18
17
  // eslint-disable-next-line @typescript-eslint/no-invalid-void-type -- void is used to indicate that the return value is ignored/we never stop
19
18
  visitor) {
20
19
  const visited = new Set();
21
- let queue = [...startNodes];
20
+ let queue = startNodes.slice();
22
21
  const hasBb = graph.mayHaveBasicBlocks();
23
22
  while (queue.length > 0) {
24
23
  const current = queue.pop();
@@ -37,7 +36,7 @@ visitor) {
37
36
  }
38
37
  const incoming = graph.outgoingEdges(current);
39
38
  if (incoming) {
40
- queue.push(...incoming.keys());
39
+ queue = queue.concat(incoming.keys().toArray());
41
40
  }
42
41
  }
43
42
  }
@@ -48,7 +47,6 @@ visitor) {
48
47
  * @param visitor - The visitor function to call for each node, if you return true the traversal from this node will be stopped.
49
48
  *
50
49
  * This function is of type {@link SimpleCfgVisitor}.
51
- *
52
50
  * @see {@link visitCfgInReverseOrder} for a traversal in reversed order
53
51
  */
54
52
  function visitCfgInOrder(graph, startNodes,
@@ -1,8 +1,7 @@
1
1
  import type { CfgExpressionVertex, CfgStatementVertex, ControlFlowInformation } from './control-flow-graph';
2
2
  import type { NodeId } from '../r-bridge/lang-4.x/ast/model/processing/node-id';
3
3
  import type { NormalizedAst, ParentInformation } from '../r-bridge/lang-4.x/ast/model/processing/decorate';
4
- import type { BasicCfgGuidedVisitorConfiguration } from './basic-cfg-guided-visitor';
5
- import { BasicCfgGuidedVisitor } from './basic-cfg-guided-visitor';
4
+ import { type BasicCfgGuidedVisitorConfiguration, BasicCfgGuidedVisitor } from './basic-cfg-guided-visitor';
6
5
  import type { RAccess } from '../r-bridge/lang-4.x/ast/model/nodes/r-access';
7
6
  import type { RArgument } from '../r-bridge/lang-4.x/ast/model/nodes/r-argument';
8
7
  import type { RBinaryOp } from '../r-bridge/lang-4.x/ast/model/nodes/r-binary-op';
@@ -1,19 +1,16 @@
1
- import type { FlowrConfigOptions } from '../config';
2
1
  import type { DataflowGraph } from '../dataflow/graph/graph';
3
2
  import type { NormalizedAst } from '../r-bridge/lang-4.x/ast/model/processing/decorate';
4
3
  import type { NodeId } from '../r-bridge/lang-4.x/ast/model/processing/node-id';
5
4
  import type { ControlFlowInformation } from './control-flow-graph';
5
+ import type { ReadOnlyFlowrAnalyzerContext } from '../project/context/flowr-analyzer-context';
6
6
  export declare const loopyFunctions: Set<"builtin:default" | "builtin:eval" | "builtin:apply" | "builtin:expression-list" | "builtin:source" | "builtin:access" | "builtin:if-then-else" | "builtin:get" | "builtin:rm" | "builtin:library" | "builtin:assignment" | "builtin:special-bin-op" | "builtin:pipe" | "builtin:function-definition" | "builtin:quote" | "builtin:for-loop" | "builtin:repeat-loop" | "builtin:while-loop" | "builtin:replacement" | "builtin:list" | "builtin:vector">;
7
7
  /**
8
8
  * Checks whether a loop only loops once
9
- *
10
- *
11
- *
12
9
  * @param loop - nodeid of the loop to analyse
13
10
  * @param dataflow - dataflow graph
14
11
  * @param controlflow - control flow graph
15
12
  * @param ast - normalized ast
16
- * @param config - current flowr config
13
+ * @param ctx - current flowr analyzer context
17
14
  * @returns true if the given loop only iterates once
18
15
  */
19
- export declare function onlyLoopsOnce(loop: NodeId, dataflow: DataflowGraph, controlflow: ControlFlowInformation, ast: NormalizedAst, config: FlowrConfigOptions): boolean | undefined;
16
+ export declare function onlyLoopsOnce(loop: NodeId, dataflow: DataflowGraph, controlflow: ControlFlowInformation, ast: NormalizedAst, ctx: ReadOnlyFlowrAnalyzerContext): boolean | undefined;
@@ -13,17 +13,14 @@ const semantic_cfg_guided_visitor_1 = require("./semantic-cfg-guided-visitor");
13
13
  exports.loopyFunctions = new Set(['builtin:for-loop', 'builtin:while-loop', 'builtin:repeat-loop']);
14
14
  /**
15
15
  * Checks whether a loop only loops once
16
- *
17
- *
18
- *
19
16
  * @param loop - nodeid of the loop to analyse
20
17
  * @param dataflow - dataflow graph
21
18
  * @param controlflow - control flow graph
22
19
  * @param ast - normalized ast
23
- * @param config - current flowr config
20
+ * @param ctx - current flowr analyzer context
24
21
  * @returns true if the given loop only iterates once
25
22
  */
26
- function onlyLoopsOnce(loop, dataflow, controlflow, ast, config) {
23
+ function onlyLoopsOnce(loop, dataflow, controlflow, ast, ctx) {
27
24
  const vertex = dataflow.getVertex(loop);
28
25
  if (!vertex) {
29
26
  return undefined;
@@ -39,7 +36,11 @@ function onlyLoopsOnce(loop, dataflow, controlflow, ast, config) {
39
36
  if (vectorOfLoop === r_function_call_1.EmptyArgument) {
40
37
  return undefined;
41
38
  }
42
- const values = (0, general_1.valueSetGuard)((0, alias_tracking_1.resolveIdToValue)(vectorOfLoop.nodeId, { graph: dataflow, idMap: dataflow.idMap, resolve: config.solver.variables }));
39
+ const values = (0, general_1.valueSetGuard)((0, alias_tracking_1.resolveIdToValue)(vectorOfLoop.nodeId, {
40
+ graph: dataflow,
41
+ idMap: dataflow.idMap,
42
+ resolve: ctx.config.solver.variables
43
+ }));
43
44
  if (values === undefined || values.elements.length !== 1 || values.elements[0].type !== 'vector' || !(0, r_value_1.isValue)(values.elements[0].elements)) {
44
45
  return undefined;
45
46
  }
@@ -52,7 +53,7 @@ function onlyLoopsOnce(loop, dataflow, controlflow, ast, config) {
52
53
  controlFlow: controlflow,
53
54
  normalizedAst: ast,
54
55
  dfg: dataflow,
55
- flowrConfig: config,
56
+ ctx: ctx,
56
57
  defaultVisitingOrder: 'forward'
57
58
  });
58
59
  return visitor.loopsOnlyOnce();
@@ -70,7 +71,12 @@ class CfgSingleIterationLoopDetector extends semantic_cfg_guided_visitor_1.Seman
70
71
  if (data.call.args.length !== 1 || data.call.args[0] === r_function_call_1.EmptyArgument) {
71
72
  return undefined;
72
73
  }
73
- const values = (0, general_1.valueSetGuard)((0, alias_tracking_1.resolveIdToValue)(data.call.args[0].nodeId, { graph: this.config.dfg, full: true, idMap: this.config.normalizedAst.idMap, resolve: this.config.flowrConfig.solver.variables }));
74
+ const values = (0, general_1.valueSetGuard)((0, alias_tracking_1.resolveIdToValue)(data.call.args[0].nodeId, {
75
+ graph: this.config.dfg,
76
+ full: true,
77
+ idMap: this.config.normalizedAst.idMap,
78
+ resolve: this.config.ctx.config.solver.variables
79
+ }));
74
80
  if (values === undefined || values.elements.length !== 1 || values.elements[0].type != 'logical' || !(0, r_value_1.isValue)(values.elements[0].value)) {
75
81
  return undefined;
76
82
  }
@@ -93,9 +99,9 @@ class CfgSingleIterationLoopDetector extends semantic_cfg_guided_visitor_1.Seman
93
99
  stack.unshift(to);
94
100
  }
95
101
  }
96
- this.onlyLoopyOnce ||= this.encounteredLoopBreaker && (0, info_1.happensInEveryBranch)(this.loopCds);
102
+ this.onlyLoopyOnce ||= this.encounteredLoopBreaker && (0, info_1.happensInEveryBranch)(this.loopCds?.filter(c => !c.byIteration));
97
103
  }
98
- this.onlyLoopyOnce ||= this.encounteredLoopBreaker && (0, info_1.happensInEveryBranch)(this.loopCds);
104
+ this.onlyLoopyOnce ||= this.encounteredLoopBreaker && (0, info_1.happensInEveryBranch)(this.loopCds?.filter(c => !c.byIteration));
99
105
  }
100
106
  app(cds) {
101
107
  if (cds === undefined) {
@@ -1,7 +1,5 @@
1
- import type { PipelineStepName } from './steps/pipeline-step';
2
- import { PipelineStepStage } from './steps/pipeline-step';
1
+ import { type PipelineStepName, PipelineStepStage } from './steps/pipeline-step';
3
2
  import type { Pipeline, PipelineInput, PipelineOutput, PipelinePerRequestInput, PipelineStepOutputWithName } from './steps/pipeline/pipeline';
4
- import type { FlowrConfigOptions } from '../config';
5
3
  /**
6
4
  * **Please note:** The {@link PipelineExecutor} is now considered to be a rather low-level API for flowR. While it still works
7
5
  * and is the basis for all other layers, we strongly recommend using the {@link FlowrAnalyzer} and its {@link FlowrAnalyzerBuilder|builder}
@@ -22,13 +20,13 @@ import type { FlowrConfigOptions } from '../config';
22
20
  * ```ts
23
21
  * const stepper = new PipelineExecutor( ... )
24
22
  * while(stepper.hasNextStep()) {
25
- * await stepper.nextStep()
23
+ * await stepper.nextStep()
26
24
  * }
27
25
  *
28
26
  * stepper.switchToRequestStage()
29
27
  *
30
28
  * while(stepper.hasNextStep()) {
31
- * await stepper.nextStep()
29
+ * await stepper.nextStep()
32
30
  * }
33
31
  *
34
32
  * const result = stepper.getResults()
@@ -66,10 +64,10 @@ import type { FlowrConfigOptions } from '../config';
66
64
  *
67
65
  * ```ts
68
66
  * const slicer = new PipelineExecutor(DEFAULT_SLICING_PIPELINE, {
69
- * parser: new RShell(),
70
- * // of course, the criterion and request given here are just examples, you can use whatever you want to slice!
71
- * criterion: ['2@b'],
72
- * request: requestFromInput('b <- 3; x <- 5\ncat(b)'),
67
+ * parser: new RShell(),
68
+ * // of course, the criterion and request given here are just examples, you can use whatever you want to slice!
69
+ * criterion: ['2@b'],
70
+ * request: requestFromInput('b <- 3; x <- 5\ncat(b)'),
73
71
  * })
74
72
  * const result = await slicer.allRemainingSteps()
75
73
  * ```
@@ -80,12 +78,10 @@ import type { FlowrConfigOptions } from '../config';
80
78
  * stepper.updateRequest({ criterion: ['1@x'] })
81
79
  * const result2 = await stepper.allRemainingSteps()
82
80
  * ```
83
- *
84
81
  * @note Even though using the pipeline executor introduces a small performance overhead, we consider
85
82
  * it to be the baseline for performance benchmarking. It may very well be possible to squeeze out a little bit more by
86
83
  * directly constructing the steps in the right order. However, we consider this to be negligible when compared with the time required
87
84
  * for, for example, the dataflow analysis of larger files.
88
- *
89
85
  * @see PipelineExecutor#allRemainingSteps
90
86
  * @see PipelineExecutor#nextStep
91
87
  */
@@ -96,26 +92,22 @@ export declare class PipelineExecutor<P extends Pipeline> {
96
92
  private output;
97
93
  private currentExecutionStage;
98
94
  private stepCounter;
99
- private readonly flowrConfig;
100
95
  /**
101
96
  * Construct a new pipeline executor.
102
97
  * The required additional input is specified by the {@link IPipelineStep#requiredInput|required input configuration} of each step in the `pipeline`.
103
98
  *
104
99
  * Please see {@link createDataflowPipeline} and friends for engine agnostic shortcuts to create a pipeline executor.
105
100
  * And in general, please prefer using the {@link FlowrAnalyzer} and its {@link FlowrAnalyzerBuilder|builder} to create and use an analyzer instance.
106
- *
107
- * @param pipeline - The {@link Pipeline} to execute, probably created with {@link createPipeline}.
108
- * @param input - External {@link PipelineInput|configuration and input} required to execute the given pipeline.
109
- * @param flowrConfig - The flowr config containing the built-in definitions
101
+ * @param pipeline - The {@link Pipeline} to execute, probably created with {@link createPipeline}.
102
+ * @param input - External {@link PipelineInput|configuration and input} required to execute the given pipeline.
110
103
  */
111
- constructor(pipeline: P, input: PipelineInput<P>, flowrConfig: FlowrConfigOptions);
104
+ constructor(pipeline: P, input: PipelineInput<P>);
112
105
  /**
113
106
  * Retrieve the {@link Pipeline|pipeline} that is currently being.
114
107
  */
115
108
  getPipeline(): P;
116
109
  /**
117
110
  * Retrieve the current {@link PipelineStepStage|stage} the pipeline executor is in.
118
- *
119
111
  * @see currentExecutionStage
120
112
  * @see switchToRequestStage
121
113
  * @see PipelineStepStage
@@ -126,7 +118,6 @@ export declare class PipelineExecutor<P extends Pipeline> {
126
118
  *
127
119
  * This will fail if either a step change is currently not valid (as not all steps have been executed),
128
120
  * or if there is no next stage (i.e., the pipeline is already completed or in the last stage).
129
- *
130
121
  * @see PipelineExecutor
131
122
  * @see getCurrentStage
132
123
  */
@@ -144,9 +135,8 @@ export declare class PipelineExecutor<P extends Pipeline> {
144
135
  * Execute the next {@link IPipelineStep|step} and return the name of the {@link IPipelineStep|step} that was executed,
145
136
  * so you can guard if the {@link IPipelineStep|step} differs from what you are interested in.
146
137
  * Furthermore, it returns the {@link IPipelineStep|step's} result.
147
- *
148
138
  * @param expectedStepName - A safeguard if you want to retrieve the result.
149
- * If given, it causes the execution to fail if the next step is not the one you expect.
139
+ * If given, it causes the execution to fail if the next step is not the one you expect.
150
140
  *
151
141
  * _Without `expectedStepName`, please refrain from accessing the result, as you have no safeguards if the pipeline changes._
152
142
  */
@@ -158,7 +148,6 @@ export declare class PipelineExecutor<P extends Pipeline> {
158
148
  /**
159
149
  * This only makes sense if you have already run a request and want to re-use the per-file results for a new one.
160
150
  * (or if for whatever reason, you did not pass information for the pipeline with the constructor).
161
- *
162
151
  * @param newRequestData - Data for the new request
163
152
  */
164
153
  updateRequest(newRequestData: PipelinePerRequestInput<P>): void;
@@ -22,13 +22,13 @@ const assert_1 = require("../util/assert");
22
22
  * ```ts
23
23
  * const stepper = new PipelineExecutor( ... )
24
24
  * while(stepper.hasNextStep()) {
25
- * await stepper.nextStep()
25
+ * await stepper.nextStep()
26
26
  * }
27
27
  *
28
28
  * stepper.switchToRequestStage()
29
29
  *
30
30
  * while(stepper.hasNextStep()) {
31
- * await stepper.nextStep()
31
+ * await stepper.nextStep()
32
32
  * }
33
33
  *
34
34
  * const result = stepper.getResults()
@@ -66,10 +66,10 @@ const assert_1 = require("../util/assert");
66
66
  *
67
67
  * ```ts
68
68
  * const slicer = new PipelineExecutor(DEFAULT_SLICING_PIPELINE, {
69
- * parser: new RShell(),
70
- * // of course, the criterion and request given here are just examples, you can use whatever you want to slice!
71
- * criterion: ['2@b'],
72
- * request: requestFromInput('b <- 3; x <- 5\ncat(b)'),
69
+ * parser: new RShell(),
70
+ * // of course, the criterion and request given here are just examples, you can use whatever you want to slice!
71
+ * criterion: ['2@b'],
72
+ * request: requestFromInput('b <- 3; x <- 5\ncat(b)'),
73
73
  * })
74
74
  * const result = await slicer.allRemainingSteps()
75
75
  * ```
@@ -80,12 +80,10 @@ const assert_1 = require("../util/assert");
80
80
  * stepper.updateRequest({ criterion: ['1@x'] })
81
81
  * const result2 = await stepper.allRemainingSteps()
82
82
  * ```
83
- *
84
83
  * @note Even though using the pipeline executor introduces a small performance overhead, we consider
85
84
  * it to be the baseline for performance benchmarking. It may very well be possible to squeeze out a little bit more by
86
85
  * directly constructing the steps in the right order. However, we consider this to be negligible when compared with the time required
87
86
  * for, for example, the dataflow analysis of larger files.
88
- *
89
87
  * @see PipelineExecutor#allRemainingSteps
90
88
  * @see PipelineExecutor#nextStep
91
89
  */
@@ -96,23 +94,19 @@ class PipelineExecutor {
96
94
  output = {};
97
95
  currentExecutionStage = 0 /* PipelineStepStage.OncePerFile */;
98
96
  stepCounter = 0;
99
- flowrConfig;
100
97
  /**
101
98
  * Construct a new pipeline executor.
102
99
  * The required additional input is specified by the {@link IPipelineStep#requiredInput|required input configuration} of each step in the `pipeline`.
103
100
  *
104
101
  * Please see {@link createDataflowPipeline} and friends for engine agnostic shortcuts to create a pipeline executor.
105
102
  * And in general, please prefer using the {@link FlowrAnalyzer} and its {@link FlowrAnalyzerBuilder|builder} to create and use an analyzer instance.
106
- *
107
- * @param pipeline - The {@link Pipeline} to execute, probably created with {@link createPipeline}.
108
- * @param input - External {@link PipelineInput|configuration and input} required to execute the given pipeline.
109
- * @param flowrConfig - The flowr config containing the built-in definitions
103
+ * @param pipeline - The {@link Pipeline} to execute, probably created with {@link createPipeline}.
104
+ * @param input - External {@link PipelineInput|configuration and input} required to execute the given pipeline.
110
105
  */
111
- constructor(pipeline, input, flowrConfig) {
106
+ constructor(pipeline, input) {
112
107
  this.pipeline = pipeline;
113
108
  this.length = pipeline.order.length;
114
109
  this.input = input;
115
- this.flowrConfig = flowrConfig;
116
110
  }
117
111
  /**
118
112
  * Retrieve the {@link Pipeline|pipeline} that is currently being.
@@ -122,7 +116,6 @@ class PipelineExecutor {
122
116
  }
123
117
  /**
124
118
  * Retrieve the current {@link PipelineStepStage|stage} the pipeline executor is in.
125
- *
126
119
  * @see currentExecutionStage
127
120
  * @see switchToRequestStage
128
121
  * @see PipelineStepStage
@@ -135,7 +128,6 @@ class PipelineExecutor {
135
128
  *
136
129
  * This will fail if either a step change is currently not valid (as not all steps have been executed),
137
130
  * or if there is no next stage (i.e., the pipeline is already completed or in the last stage).
138
- *
139
131
  * @see PipelineExecutor
140
132
  * @see getCurrentStage
141
133
  */
@@ -146,10 +138,9 @@ class PipelineExecutor {
146
138
  }
147
139
  /**
148
140
  * Returns the results of the pipeline.
149
- *
150
141
  * @param intermediate - Normally you can only receive the results *after* the stepper completed the step of interested.
151
- * However, if you pass `true` to this parameter, you can also receive the results *before* the {@link PipelineExecutor|pipeline executor}
152
- * completed, although the typing system then cannot guarantee which of the steps have already happened.
142
+ * However, if you pass `true` to this parameter, you can also receive the results *before* the {@link PipelineExecutor|pipeline executor}
143
+ * completed, although the typing system then cannot guarantee which of the steps have already happened.
153
144
  */
154
145
  getResults(intermediate = false) {
155
146
  (0, assert_1.guard)(intermediate || this.stepCounter >= this.length, 'Without the intermediate flag, the pipeline must be completed before providing access to the results.');
@@ -168,9 +159,8 @@ class PipelineExecutor {
168
159
  * Execute the next {@link IPipelineStep|step} and return the name of the {@link IPipelineStep|step} that was executed,
169
160
  * so you can guard if the {@link IPipelineStep|step} differs from what you are interested in.
170
161
  * Furthermore, it returns the {@link IPipelineStep|step's} result.
171
- *
172
162
  * @param expectedStepName - A safeguard if you want to retrieve the result.
173
- * If given, it causes the execution to fail if the next step is not the one you expect.
163
+ * If given, it causes the execution to fail if the next step is not the one you expect.
174
164
  *
175
165
  * _Without `expectedStepName`, please refrain from accessing the result, as you have no safeguards if the pipeline changes._
176
166
  */
@@ -188,12 +178,11 @@ class PipelineExecutor {
188
178
  if (expectedStepName !== undefined) {
189
179
  (0, assert_1.guard)(step.name === expectedStepName, () => `Cannot execute next step, expected step ${JSON.stringify(expectedStepName)} but got ${step.name}.`);
190
180
  }
191
- return [step.name, step.processor(this.output, this.input, this.flowrConfig)];
181
+ return [step.name, step.processor(this.output, this.input)];
192
182
  }
193
183
  /**
194
184
  * This only makes sense if you have already run a request and want to re-use the per-file results for a new one.
195
185
  * (or if for whatever reason, you did not pass information for the pipeline with the constructor).
196
- *
197
186
  * @param newRequestData - Data for the new request
198
187
  */
199
188
  updateRequest(newRequestData) {
@@ -214,7 +203,6 @@ class PipelineExecutor {
214
203
  * @param canSwitchStage - If true, automatically switch to the request stage if necessary
215
204
  * (i.e., this is what you want if you have never executed {@link nextStep} and you want to execute *all* steps).
216
205
  * However, passing false allows you to only execute the steps of the 'once-per-file' stage (i.e., the steps that can be cached).
217
- *
218
206
  * @note There is a small type difference if you pass 'false' and already have manually switched to the 'once-per-request' stage.
219
207
  * Because now, the results of these steps are no longer part of the result type (although they are still included).
220
208
  * In such a case, you may be better off with simply passing 'true' as the function will detect that the stage is already switched.
@@ -2,6 +2,25 @@ import type { DataflowInformation } from '../../dataflow/info';
2
2
  import type { QuadSerializationConfiguration } from '../../util/quads';
3
3
  /** Should work with larger things as well */
4
4
  export declare function dataflowGraphToJson(df: DataflowInformation): string;
5
+ /**
6
+ * Convert the dataflow graph to a mermaid string.
7
+ * @see {@link graphToMermaid}
8
+ * @see {@link dataflowGraphToMermaidUrl}
9
+ * @see {@link dataflowGraphToJson}
10
+ */
5
11
  export declare function dataflowGraphToMermaid(df: DataflowInformation): string;
12
+ /**
13
+ * Convert the dataflow graph to a mermaid URL.
14
+ * @see {@link graphToMermaidUrl}
15
+ * @see {@link dataflowGraphToMermaid}
16
+ * @see {@link dataflowGraphToJson}
17
+ */
6
18
  export declare function dataflowGraphToMermaidUrl(df: DataflowInformation): string;
19
+ /**
20
+ * Transforms the dataflow graph into a quad serialization.
21
+ * @see {@link df2quads}
22
+ * @see {@link dataflowGraphToMermaidUrl}
23
+ * @see {@link dataflowGraphToMermaid}
24
+ * @see {@link dataflowGraphToJson}
25
+ */
7
26
  export declare function dataflowGraphToQuads(df: DataflowInformation, config: QuadSerializationConfiguration): string;
@@ -52,12 +52,31 @@ function objectJson(df) {
52
52
  function dataflowGraphToJson(df) {
53
53
  return objectJson(df);
54
54
  }
55
+ /**
56
+ * Convert the dataflow graph to a mermaid string.
57
+ * @see {@link graphToMermaid}
58
+ * @see {@link dataflowGraphToMermaidUrl}
59
+ * @see {@link dataflowGraphToJson}
60
+ */
55
61
  function dataflowGraphToMermaid(df) {
56
62
  return (0, dfg_1.graphToMermaid)({ graph: df.graph }).string;
57
63
  }
64
+ /**
65
+ * Convert the dataflow graph to a mermaid URL.
66
+ * @see {@link graphToMermaidUrl}
67
+ * @see {@link dataflowGraphToMermaid}
68
+ * @see {@link dataflowGraphToJson}
69
+ */
58
70
  function dataflowGraphToMermaidUrl(df) {
59
71
  return (0, dfg_1.graphToMermaidUrl)(df.graph);
60
72
  }
73
+ /**
74
+ * Transforms the dataflow graph into a quad serialization.
75
+ * @see {@link df2quads}
76
+ * @see {@link dataflowGraphToMermaidUrl}
77
+ * @see {@link dataflowGraphToMermaid}
78
+ * @see {@link dataflowGraphToJson}
79
+ */
61
80
  function dataflowGraphToQuads(df, config) {
62
81
  return (0, quads_1.df2quads)(df.graph, config);
63
82
  }