@eagleoutice/flowr 2.6.1 → 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 (681) hide show
  1. package/README.md +131 -30
  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 +15 -10
  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/repl/commands/repl-commands.d.ts +13 -0
  73. package/cli/repl/commands/repl-commands.js +13 -2
  74. package/cli/repl/commands/repl-execute.d.ts +4 -0
  75. package/cli/repl/commands/repl-execute.js +6 -2
  76. package/cli/repl/commands/repl-main.d.ts +15 -9
  77. package/cli/repl/commands/repl-parse.js +2 -2
  78. package/cli/repl/commands/repl-query.js +16 -5
  79. package/cli/repl/core.d.ts +24 -6
  80. package/cli/repl/core.js +28 -19
  81. package/cli/repl/execute.d.ts +0 -2
  82. package/cli/repl/execute.js +0 -2
  83. package/cli/repl/parser/slice-query-parser.d.ts +14 -0
  84. package/cli/repl/parser/slice-query-parser.js +34 -0
  85. package/cli/repl/print-version.d.ts +6 -0
  86. package/cli/repl/print-version.js +6 -0
  87. package/cli/repl/server/compact.d.ts +8 -0
  88. package/cli/repl/server/compact.js +8 -0
  89. package/cli/repl/server/connection.d.ts +4 -3
  90. package/cli/repl/server/connection.js +3 -31
  91. package/cli/repl/server/messages/all-messages.d.ts +1 -3
  92. package/cli/repl/server/messages/all-messages.js +0 -1
  93. package/cli/repl/server/messages/message-analysis.d.ts +0 -2
  94. package/cli/repl/server/messages/message-query.d.ts +1 -1
  95. package/cli/repl/server/messages/message-repl.d.ts +0 -1
  96. package/cli/repl/server/send.d.ts +6 -0
  97. package/cli/repl/server/send.js +6 -0
  98. package/cli/repl/server/server.d.ts +1 -1
  99. package/cli/repl/server/validate.d.ts +10 -1
  100. package/cli/repl/server/validate.js +9 -0
  101. package/cli/run-script.d.ts +1 -2
  102. package/cli/run-script.js +0 -1
  103. package/cli/script-core/statistics-core.d.ts +3 -0
  104. package/cli/script-core/statistics-core.js +3 -0
  105. package/cli/script-core/statistics-helper-core.d.ts +4 -1
  106. package/cli/script-core/statistics-helper-core.js +3 -0
  107. package/cli/script-core/summarizer-core.d.ts +3 -0
  108. package/cli/script-core/summarizer-core.js +3 -0
  109. package/cli/summarizer-app.d.ts +2 -3
  110. package/cli/summarizer-app.js +2 -3
  111. package/config.d.ts +17 -3
  112. package/config.js +15 -0
  113. package/control-flow/basic-cfg-guided-visitor.d.ts +1 -2
  114. package/control-flow/basic-cfg-guided-visitor.js +0 -1
  115. package/control-flow/cfg-to-basic-blocks.d.ts +1 -1
  116. package/control-flow/control-flow-graph.d.ts +20 -12
  117. package/control-flow/control-flow-graph.js +16 -4
  118. package/control-flow/dfg-cfg-guided-visitor.d.ts +2 -3
  119. package/control-flow/diff-cfg.d.ts +3 -5
  120. package/control-flow/diff-cfg.js +0 -1
  121. package/control-flow/extract-cfg.d.ts +3 -6
  122. package/control-flow/extract-cfg.js +0 -3
  123. package/control-flow/happens-before.d.ts +1 -1
  124. package/control-flow/semantic-cfg-guided-visitor.d.ts +2 -31
  125. package/control-flow/semantic-cfg-guided-visitor.js +0 -28
  126. package/control-flow/simple-visitor.d.ts +1 -3
  127. package/control-flow/simple-visitor.js +0 -2
  128. package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
  129. package/control-flow/useless-loop.d.ts +0 -3
  130. package/control-flow/useless-loop.js +2 -5
  131. package/core/pipeline-executor.d.ts +8 -16
  132. package/core/pipeline-executor.js +9 -18
  133. package/core/print/dataflow-printer.d.ts +19 -0
  134. package/core/print/dataflow-printer.js +19 -0
  135. package/core/print/normalize-printer.d.ts +21 -1
  136. package/core/print/normalize-printer.js +20 -0
  137. package/core/print/parse-printer.d.ts +6 -1
  138. package/core/print/parse-printer.js +5 -0
  139. package/core/print/print.d.ts +0 -1
  140. package/core/print/print.js +0 -1
  141. package/core/print/slice-diff-ansi.d.ts +3 -0
  142. package/core/print/slice-diff-ansi.js +3 -0
  143. package/core/steps/all/core/00-parse.d.ts +1 -1
  144. package/core/steps/all/core/01-parse-tree-sitter.d.ts +1 -11
  145. package/core/steps/all/core/10-normalize.d.ts +3 -0
  146. package/core/steps/all/core/10-normalize.js +3 -0
  147. package/core/steps/all/core/11-normalize-tree-sitter.d.ts +4 -3
  148. package/core/steps/pipeline/create-pipeline.d.ts +1 -1
  149. package/core/steps/pipeline/default-pipelines.d.ts +47 -47
  150. package/core/steps/pipeline/default-pipelines.js +0 -4
  151. package/core/steps/pipeline/pipeline.d.ts +1 -8
  152. package/core/steps/pipeline/pipeline.js +1 -3
  153. package/core/steps/pipeline-step.d.ts +0 -1
  154. package/core/steps/pipeline-step.js +0 -1
  155. package/dataflow/cluster.d.ts +3 -0
  156. package/dataflow/cluster.js +3 -0
  157. package/dataflow/environments/append.d.ts +1 -1
  158. package/dataflow/environments/built-in-config.d.ts +1 -5
  159. package/dataflow/environments/built-in-config.js +0 -1
  160. package/dataflow/environments/built-in.d.ts +10 -5
  161. package/dataflow/environments/built-in.js +6 -1
  162. package/dataflow/environments/clone.d.ts +1 -1
  163. package/dataflow/environments/default-builtin-config.d.ts +3 -0
  164. package/dataflow/environments/default-builtin-config.js +4 -1
  165. package/dataflow/environments/diff.d.ts +11 -2
  166. package/dataflow/environments/diff.js +9 -0
  167. package/dataflow/environments/environment.d.ts +3 -3
  168. package/dataflow/environments/environment.js +8 -6
  169. package/dataflow/environments/identifier.d.ts +0 -4
  170. package/dataflow/environments/identifier.js +0 -1
  171. package/dataflow/environments/overwrite.d.ts +4 -1
  172. package/dataflow/environments/overwrite.js +3 -0
  173. package/dataflow/environments/resolve-by-name.d.ts +4 -4
  174. package/dataflow/environments/resolve-by-name.js +3 -2
  175. package/dataflow/environments/scoping.d.ts +4 -1
  176. package/dataflow/environments/scoping.js +3 -0
  177. package/dataflow/eval/resolve/alias-tracking.d.ts +4 -10
  178. package/dataflow/eval/resolve/alias-tracking.js +11 -14
  179. package/dataflow/eval/resolve/resolve-argument.d.ts +1 -1
  180. package/dataflow/eval/resolve/resolve.d.ts +1 -7
  181. package/dataflow/eval/resolve/resolve.js +0 -5
  182. package/dataflow/eval/values/general.d.ts +1 -3
  183. package/dataflow/eval/values/general.js +0 -1
  184. package/dataflow/eval/values/intervals/interval-constants.d.ts +7 -1
  185. package/dataflow/eval/values/intervals/interval-constants.js +6 -0
  186. package/dataflow/eval/values/logical/logical-constants.d.ts +4 -1
  187. package/dataflow/eval/values/logical/logical-constants.js +3 -0
  188. package/dataflow/eval/values/r-value.d.ts +12 -0
  189. package/dataflow/eval/values/r-value.js +12 -0
  190. package/dataflow/eval/values/scalar/scalar-consatnts.d.ts +7 -1
  191. package/dataflow/eval/values/scalar/scalar-consatnts.js +6 -0
  192. package/dataflow/eval/values/sets/set-constants.d.ts +7 -2
  193. package/dataflow/eval/values/sets/set-constants.js +6 -0
  194. package/dataflow/eval/values/string/string-constants.d.ts +10 -1
  195. package/dataflow/eval/values/string/string-constants.js +9 -0
  196. package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
  197. package/dataflow/extractor.d.ts +1 -1
  198. package/dataflow/graph/dataflowgraph-builder.d.ts +20 -38
  199. package/dataflow/graph/dataflowgraph-builder.js +6 -23
  200. package/dataflow/graph/diff-dataflow-graph.d.ts +16 -6
  201. package/dataflow/graph/diff-dataflow-graph.js +12 -1
  202. package/dataflow/graph/edge.d.ts +9 -0
  203. package/dataflow/graph/edge.js +9 -0
  204. package/dataflow/graph/graph.d.ts +6 -19
  205. package/dataflow/graph/graph.js +4 -15
  206. package/dataflow/graph/invert-dfg.d.ts +3 -0
  207. package/dataflow/graph/invert-dfg.js +3 -0
  208. package/dataflow/graph/quads.d.ts +1 -1
  209. package/dataflow/graph/unknown-replacement.d.ts +6 -0
  210. package/dataflow/graph/unknown-replacement.js +6 -0
  211. package/dataflow/graph/unknown-side-effect.d.ts +8 -0
  212. package/dataflow/graph/unknown-side-effect.js +8 -0
  213. package/dataflow/graph/vertex.d.ts +9 -9
  214. package/dataflow/graph/vertex.js +9 -1
  215. package/dataflow/info.d.ts +9 -10
  216. package/dataflow/info.js +6 -1
  217. package/dataflow/internal/linker.d.ts +25 -9
  218. package/dataflow/internal/linker.js +23 -7
  219. package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
  220. package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -0
  221. package/dataflow/internal/process/functions/call/argument/unpack-argument.d.ts +1 -1
  222. package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +4 -1
  223. package/dataflow/internal/process/functions/call/built-in/built-in-access.js +3 -1
  224. package/dataflow/internal/process/functions/call/built-in/built-in-apply.d.ts +4 -1
  225. package/dataflow/internal/process/functions/call/built-in/built-in-apply.js +3 -0
  226. package/dataflow/internal/process/functions/call/built-in/built-in-assignment.d.ts +2 -2
  227. package/dataflow/internal/process/functions/call/built-in/built-in-eval.d.ts +6 -3
  228. package/dataflow/internal/process/functions/call/built-in/built-in-eval.js +3 -0
  229. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.d.ts +4 -1
  230. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +3 -0
  231. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.d.ts +5 -2
  232. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +3 -0
  233. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.d.ts +10 -4
  234. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +6 -0
  235. package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +3 -0
  236. package/dataflow/internal/process/functions/call/built-in/built-in-get.js +3 -0
  237. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.d.ts +5 -2
  238. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +4 -0
  239. package/dataflow/internal/process/functions/call/built-in/built-in-library.d.ts +3 -0
  240. package/dataflow/internal/process/functions/call/built-in/built-in-library.js +3 -0
  241. package/dataflow/internal/process/functions/call/built-in/built-in-list.d.ts +1 -1
  242. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.d.ts +3 -0
  243. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +3 -0
  244. package/dataflow/internal/process/functions/call/built-in/built-in-quote.d.ts +3 -0
  245. package/dataflow/internal/process/functions/call/built-in/built-in-quote.js +3 -0
  246. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +5 -2
  247. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +3 -0
  248. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.d.ts +6 -3
  249. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +3 -1
  250. package/dataflow/internal/process/functions/call/built-in/built-in-rm.d.ts +4 -1
  251. package/dataflow/internal/process/functions/call/built-in/built-in-rm.js +3 -0
  252. package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +23 -6
  253. package/dataflow/internal/process/functions/call/built-in/built-in-source.js +20 -1
  254. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +3 -0
  255. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +3 -0
  256. package/dataflow/internal/process/functions/call/built-in/built-in-vector.d.ts +1 -1
  257. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.d.ts +5 -2
  258. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +3 -0
  259. package/dataflow/internal/process/functions/call/common.d.ts +11 -5
  260. package/dataflow/internal/process/functions/call/common.js +6 -0
  261. package/dataflow/internal/process/functions/call/default-call-handling.d.ts +3 -0
  262. package/dataflow/internal/process/functions/call/default-call-handling.js +3 -0
  263. package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
  264. package/dataflow/internal/process/functions/call/known-call-handling.js +7 -0
  265. package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
  266. package/dataflow/internal/process/functions/call/named-call-handling.js +6 -0
  267. package/dataflow/internal/process/functions/call/unnamed-call-handling.d.ts +4 -1
  268. package/dataflow/internal/process/functions/call/unnamed-call-handling.js +3 -0
  269. package/dataflow/internal/process/functions/process-argument.d.ts +8 -2
  270. package/dataflow/internal/process/functions/process-argument.js +6 -0
  271. package/dataflow/internal/process/functions/process-parameter.d.ts +5 -2
  272. package/dataflow/internal/process/functions/process-parameter.js +3 -0
  273. package/dataflow/internal/process/process-symbol.d.ts +3 -0
  274. package/dataflow/internal/process/process-symbol.js +3 -0
  275. package/dataflow/internal/process/process-uninteresting-leaf.d.ts +3 -0
  276. package/dataflow/internal/process/process-uninteresting-leaf.js +3 -0
  277. package/dataflow/internal/process/process-value.d.ts +3 -0
  278. package/dataflow/internal/process/process-value.js +3 -0
  279. package/dataflow/origin/dfg-get-origin.d.ts +0 -2
  280. package/dataflow/origin/dfg-get-symbol-refs.d.ts +5 -7
  281. package/dataflow/origin/dfg-get-symbol-refs.js +6 -8
  282. package/dataflow/processor.d.ts +0 -1
  283. package/dataflow/processor.js +0 -1
  284. package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -0
  285. package/documentation/data/dfg/doc-data-dfg-util.js +6 -0
  286. package/documentation/data/faq/faqs.d.ts +5 -0
  287. package/documentation/data/faq/faqs.js +78 -0
  288. package/documentation/data/faq/wiki-faq-store.d.ts +18 -0
  289. package/documentation/data/faq/wiki-faq-store.js +75 -0
  290. package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
  291. package/documentation/data/server/doc-data-server-messages.js +4 -63
  292. package/documentation/doc-util/doc-auto-gen.d.ts +6 -0
  293. package/documentation/doc-util/doc-auto-gen.js +6 -0
  294. package/documentation/doc-util/doc-benchmarks.d.ts +12 -0
  295. package/documentation/doc-util/doc-benchmarks.js +12 -0
  296. package/documentation/doc-util/doc-cfg.d.ts +7 -1
  297. package/documentation/doc-util/doc-cfg.js +9 -0
  298. package/documentation/doc-util/doc-cli-option.d.ts +9 -0
  299. package/documentation/doc-util/doc-cli-option.js +9 -0
  300. package/documentation/doc-util/doc-code.d.ts +24 -0
  301. package/documentation/doc-util/doc-code.js +24 -0
  302. package/documentation/doc-util/doc-dfg.d.ts +7 -1
  303. package/documentation/doc-util/doc-dfg.js +9 -0
  304. package/documentation/doc-util/doc-env.d.ts +3 -0
  305. package/documentation/doc-util/doc-env.js +3 -0
  306. package/documentation/doc-util/doc-escape.d.ts +0 -1
  307. package/documentation/doc-util/doc-escape.js +0 -1
  308. package/documentation/doc-util/doc-files.d.ts +11 -0
  309. package/documentation/doc-util/doc-files.js +15 -4
  310. package/documentation/doc-util/doc-general.d.ts +6 -0
  311. package/documentation/doc-util/doc-general.js +6 -0
  312. package/documentation/doc-util/doc-normalized-ast.d.ts +7 -1
  313. package/documentation/doc-util/doc-normalized-ast.js +6 -0
  314. package/documentation/doc-util/doc-query.d.ts +15 -0
  315. package/documentation/doc-util/doc-query.js +17 -2
  316. package/documentation/doc-util/doc-repl.d.ts +6 -0
  317. package/documentation/doc-util/doc-repl.js +6 -0
  318. package/documentation/doc-util/doc-search.d.ts +15 -0
  319. package/documentation/doc-util/doc-search.js +17 -2
  320. package/documentation/doc-util/doc-server-message.d.ts +13 -1
  321. package/documentation/doc-util/doc-server-message.js +13 -1
  322. package/documentation/doc-util/doc-structure.d.ts +9 -0
  323. package/documentation/doc-util/doc-structure.js +10 -1
  324. package/documentation/doc-util/doc-types.d.ts +42 -0
  325. package/documentation/doc-util/doc-types.js +42 -0
  326. package/documentation/print-analyzer-wiki.js +4 -0
  327. package/documentation/print-core-wiki.d.ts +3 -0
  328. package/documentation/print-core-wiki.js +5 -2
  329. package/documentation/print-dataflow-graph-wiki.js +5 -5
  330. package/documentation/print-faq-wiki.js +3 -75
  331. package/documentation/print-interface-wiki.js +1 -1
  332. package/documentation/print-onboarding-wiki.js +1 -1
  333. package/documentation/print-query-wiki.js +4 -34
  334. package/documentation/print-readme.js +105 -0
  335. package/engines.d.ts +1 -1
  336. package/linter/linter-executor.d.ts +6 -3
  337. package/linter/linter-executor.js +3 -0
  338. package/linter/linter-format.d.ts +8 -0
  339. package/linter/linter-format.js +8 -0
  340. package/linter/rules/absolute-path.d.ts +3 -4
  341. package/linter/rules/dataframe-access-validation.d.ts +3 -4
  342. package/linter/rules/dataframe-access-validation.js +9 -11
  343. package/linter/rules/dead-code.d.ts +1 -1
  344. package/linter/rules/deprecated-functions.d.ts +1 -1
  345. package/linter/rules/file-path-validity.d.ts +1 -2
  346. package/linter/rules/function-finder-util.d.ts +1 -2
  347. package/linter/rules/naming-convention.d.ts +13 -2
  348. package/linter/rules/naming-convention.js +13 -1
  349. package/linter/rules/network-functions.d.ts +1 -1
  350. package/linter/rules/seeded-randomness.d.ts +1 -2
  351. package/linter/rules/unused-definition.d.ts +2 -3
  352. package/linter/rules/useless-loop.d.ts +1 -2
  353. package/package.json +2 -2
  354. package/project/cache/flowr-analyzer-cache.d.ts +2 -9
  355. package/project/cache/flowr-analyzer-cache.js +0 -6
  356. package/project/context/flowr-analyzer-context.d.ts +3 -6
  357. package/project/context/flowr-analyzer-dependencies-context.d.ts +0 -1
  358. package/project/context/flowr-analyzer-files-context.d.ts +2 -4
  359. package/project/context/flowr-file.d.ts +0 -1
  360. package/project/flowr-analyzer-builder.d.ts +1 -3
  361. package/project/flowr-analyzer-builder.js +5 -6
  362. package/project/flowr-analyzer.d.ts +34 -25
  363. package/project/flowr-analyzer.js +10 -11
  364. package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +1 -1
  365. package/project/plugins/file-plugins/flowr-description-file.d.ts +1 -3
  366. package/project/plugins/file-plugins/flowr-description-file.js +0 -1
  367. package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.d.ts +1 -1
  368. package/queries/base-query-format.d.ts +2 -2
  369. package/queries/catalog/call-context-query/call-context-query-executor.d.ts +3 -0
  370. package/queries/catalog/call-context-query/call-context-query-executor.js +3 -0
  371. package/queries/catalog/call-context-query/call-context-query-format.d.ts +3 -3
  372. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.d.ts +11 -2
  373. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +9 -0
  374. package/queries/catalog/cluster-query/cluster-query-executor.d.ts +3 -0
  375. package/queries/catalog/cluster-query/cluster-query-executor.js +3 -0
  376. package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
  377. package/queries/catalog/config-query/config-query-executor.d.ts +3 -0
  378. package/queries/catalog/config-query/config-query-executor.js +3 -0
  379. package/queries/catalog/config-query/config-query-format.d.ts +5 -2
  380. package/queries/catalog/config-query/config-query-format.js +13 -16
  381. package/queries/catalog/control-flow-query/control-flow-query-executor.d.ts +3 -0
  382. package/queries/catalog/control-flow-query/control-flow-query-executor.js +3 -0
  383. package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +3 -3
  384. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.d.ts +3 -0
  385. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.js +3 -0
  386. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
  387. package/queries/catalog/dataflow-query/dataflow-query-executor.d.ts +3 -0
  388. package/queries/catalog/dataflow-query/dataflow-query-executor.js +3 -0
  389. package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
  390. package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +4 -1
  391. package/queries/catalog/dependencies-query/dependencies-query-executor.js +7 -4
  392. package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +4 -1
  393. package/queries/catalog/dependencies-query/dependencies-query-format.js +4 -1
  394. package/queries/catalog/df-shape-query/df-shape-query-executor.d.ts +4 -1
  395. package/queries/catalog/df-shape-query/df-shape-query-executor.js +8 -4
  396. package/queries/catalog/df-shape-query/df-shape-query-format.d.ts +10 -3
  397. package/queries/catalog/df-shape-query/df-shape-query-format.js +24 -5
  398. package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +3 -0
  399. package/queries/catalog/happens-before-query/happens-before-query-executor.js +3 -0
  400. package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
  401. package/queries/catalog/id-map-query/id-map-query-executor.d.ts +3 -0
  402. package/queries/catalog/id-map-query/id-map-query-executor.js +3 -0
  403. package/queries/catalog/id-map-query/id-map-query-format.d.ts +1 -1
  404. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.d.ts +3 -0
  405. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +3 -0
  406. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +2 -2
  407. package/queries/catalog/linter-query/linter-query-executor.d.ts +4 -0
  408. package/queries/catalog/linter-query/linter-query-executor.js +4 -0
  409. package/queries/catalog/linter-query/linter-query-format.d.ts +12 -3
  410. package/queries/catalog/linter-query/linter-query-format.js +67 -0
  411. package/queries/catalog/location-map-query/location-map-query-executor.d.ts +4 -0
  412. package/queries/catalog/location-map-query/location-map-query-executor.js +5 -1
  413. package/queries/catalog/location-map-query/location-map-query-format.d.ts +7 -1
  414. package/queries/catalog/location-map-query/location-map-query-format.js +12 -0
  415. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.d.ts +3 -0
  416. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.js +3 -0
  417. package/queries/catalog/normalized-ast-query/normalized-ast-query-format.d.ts +1 -1
  418. package/queries/catalog/origin-query/origin-query-executor.d.ts +7 -1
  419. package/queries/catalog/origin-query/origin-query-executor.js +6 -0
  420. package/queries/catalog/origin-query/origin-query-format.d.ts +7 -1
  421. package/queries/catalog/origin-query/origin-query-format.js +17 -1
  422. package/queries/catalog/project-query/project-query-executor.d.ts +3 -0
  423. package/queries/catalog/project-query/project-query-executor.js +3 -0
  424. package/queries/catalog/project-query/project-query-format.d.ts +1 -1
  425. package/queries/catalog/resolve-value-query/resolve-value-query-executor.d.ts +6 -0
  426. package/queries/catalog/resolve-value-query/resolve-value-query-executor.js +6 -0
  427. package/queries/catalog/resolve-value-query/resolve-value-query-format.d.ts +7 -1
  428. package/queries/catalog/resolve-value-query/resolve-value-query-format.js +19 -1
  429. package/queries/catalog/search-query/search-query-executor.d.ts +3 -0
  430. package/queries/catalog/search-query/search-query-executor.js +3 -0
  431. package/queries/catalog/search-query/search-query-format.d.ts +1 -1
  432. package/queries/catalog/static-slice-query/static-slice-query-executor.d.ts +9 -0
  433. package/queries/catalog/static-slice-query/static-slice-query-executor.js +9 -0
  434. package/queries/catalog/static-slice-query/static-slice-query-format.d.ts +7 -1
  435. package/queries/catalog/static-slice-query/static-slice-query-format.js +17 -0
  436. package/queries/query-print.d.ts +20 -4
  437. package/queries/query-print.js +18 -2
  438. package/queries/query.d.ts +85 -55
  439. package/queries/query.js +35 -23
  440. package/queries/virtual-query/virtual-queries.d.ts +1 -2
  441. package/r-bridge/data/get.d.ts +6 -0
  442. package/r-bridge/data/get.js +6 -0
  443. package/r-bridge/lang-4.x/ast/model/collect.d.ts +0 -1
  444. package/r-bridge/lang-4.x/ast/model/collect.js +0 -1
  445. package/r-bridge/lang-4.x/ast/model/model.d.ts +8 -11
  446. package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.d.ts +0 -2
  447. package/r-bridge/lang-4.x/ast/model/nodes/r-number.d.ts +3 -0
  448. package/r-bridge/lang-4.x/ast/model/nodes/r-number.js +3 -0
  449. package/r-bridge/lang-4.x/ast/model/nodes/r-string.d.ts +3 -0
  450. package/r-bridge/lang-4.x/ast/model/nodes/r-string.js +3 -0
  451. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.d.ts +3 -0
  452. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.js +3 -0
  453. package/r-bridge/lang-4.x/ast/model/operators.d.ts +0 -1
  454. package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +6 -7
  455. package/r-bridge/lang-4.x/ast/model/processing/decorate.js +6 -6
  456. package/r-bridge/lang-4.x/ast/model/processing/fold.d.ts +1 -1
  457. package/r-bridge/lang-4.x/ast/model/processing/node-id.d.ts +0 -1
  458. package/r-bridge/lang-4.x/ast/model/processing/node-id.js +0 -1
  459. package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +0 -1
  460. package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.d.ts +1 -2
  461. package/r-bridge/lang-4.x/ast/model/processing/visitor.d.ts +0 -1
  462. package/r-bridge/lang-4.x/ast/model/processing/visitor.js +0 -1
  463. package/r-bridge/lang-4.x/ast/model/type.d.ts +4 -5
  464. package/r-bridge/lang-4.x/ast/model/type.js +4 -5
  465. package/r-bridge/lang-4.x/ast/model/versions.d.ts +0 -1
  466. package/r-bridge/lang-4.x/ast/model/versions.js +0 -1
  467. package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +4 -5
  468. package/r-bridge/lang-4.x/ast/parser/json/parser.js +0 -1
  469. package/r-bridge/lang-4.x/ast/parser/main/internal/control/normalize-if-then.d.ts +1 -1
  470. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.d.ts +0 -1
  471. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.js +0 -1
  472. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.d.ts +0 -2
  473. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.js +0 -2
  474. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.d.ts +1 -3
  475. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.js +0 -2
  476. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.d.ts +0 -2
  477. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.js +0 -2
  478. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.d.ts +0 -2
  479. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.js +0 -2
  480. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.d.ts +3 -0
  481. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.js +3 -0
  482. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.d.ts +4 -1
  483. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.js +3 -0
  484. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.d.ts +3 -0
  485. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.js +3 -0
  486. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.d.ts +0 -2
  487. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.js +0 -2
  488. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.d.ts +4 -1
  489. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.js +3 -0
  490. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.d.ts +0 -2
  491. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.js +0 -2
  492. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-binary.d.ts +1 -1
  493. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.d.ts +0 -2
  494. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.js +0 -2
  495. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.d.ts +0 -1
  496. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.js +0 -1
  497. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.d.ts +0 -1
  498. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.js +0 -1
  499. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.d.ts +3 -0
  500. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.js +3 -0
  501. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.d.ts +9 -0
  502. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.js +9 -0
  503. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.d.ts +1 -3
  504. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.js +0 -2
  505. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.d.ts +1 -2
  506. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.js +0 -1
  507. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.d.ts +0 -1
  508. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.js +0 -1
  509. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.d.ts +0 -2
  510. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.js +0 -2
  511. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.d.ts +14 -5
  512. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.js +13 -6
  513. package/r-bridge/lang-4.x/convert-values.d.ts +12 -1
  514. package/r-bridge/lang-4.x/convert-values.js +12 -1
  515. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.d.ts +7 -2
  516. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.js +17 -0
  517. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +13 -1
  518. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +48 -19
  519. package/r-bridge/parser.d.ts +28 -7
  520. package/r-bridge/retriever.d.ts +16 -1
  521. package/r-bridge/retriever.js +15 -0
  522. package/r-bridge/shell-executor.d.ts +3 -3
  523. package/r-bridge/shell-executor.js +6 -1
  524. package/r-bridge/shell.d.ts +24 -23
  525. package/r-bridge/shell.js +37 -31
  526. package/reconstruct/auto-select/auto-select-defaults.d.ts +0 -1
  527. package/reconstruct/auto-select/magic-comments.d.ts +1 -2
  528. package/reconstruct/auto-select/magic-comments.js +1 -2
  529. package/reconstruct/reconstruct.d.ts +1 -3
  530. package/reconstruct/reconstruct.js +0 -2
  531. package/search/flowr-search-builder.d.ts +12 -5
  532. package/search/flowr-search-builder.js +7 -2
  533. package/search/flowr-search-executor.d.ts +3 -3
  534. package/search/flowr-search-filters.d.ts +14 -1
  535. package/search/flowr-search-filters.js +13 -0
  536. package/search/flowr-search-printer.d.ts +6 -0
  537. package/search/flowr-search-printer.js +6 -0
  538. package/search/flowr-search-traverse.d.ts +1 -1
  539. package/search/flowr-search.d.ts +3 -3
  540. package/search/search-executor/search-enrichers.d.ts +9 -6
  541. package/search/search-executor/search-enrichers.js +3 -0
  542. package/search/search-executor/search-generators.d.ts +19 -10
  543. package/search/search-executor/search-generators.js +49 -2
  544. package/search/search-executor/search-mappers.d.ts +8 -5
  545. package/search/search-executor/search-mappers.js +3 -0
  546. package/search/search-executor/search-transformer.d.ts +19 -16
  547. package/search/search-executor/search-transformer.js +3 -0
  548. package/slicing/criterion/collect-all.d.ts +10 -10
  549. package/slicing/criterion/parse.d.ts +4 -2
  550. package/slicing/criterion/parse.js +4 -2
  551. package/slicing/static/fingerprint.d.ts +9 -1
  552. package/slicing/static/fingerprint.js +8 -0
  553. package/slicing/static/slice-call.d.ts +2 -2
  554. package/slicing/static/static-slicer.d.ts +8 -4
  555. package/slicing/static/static-slicer.js +5 -1
  556. package/slicing/static/visiting-queue.d.ts +1 -1
  557. package/statistics/features/common-syntax-probability.d.ts +10 -1
  558. package/statistics/features/common-syntax-probability.js +9 -0
  559. package/statistics/features/feature.d.ts +0 -4
  560. package/statistics/features/feature.js +0 -1
  561. package/statistics/features/post-processing.d.ts +6 -0
  562. package/statistics/features/post-processing.js +6 -0
  563. package/statistics/features/supported/assignments/post-process.d.ts +3 -0
  564. package/statistics/features/supported/assignments/post-process.js +3 -0
  565. package/statistics/features/supported/comments/post-process.d.ts +3 -0
  566. package/statistics/features/supported/comments/post-process.js +3 -0
  567. package/statistics/features/supported/control-flow/post-process.d.ts +3 -0
  568. package/statistics/features/supported/control-flow/post-process.js +3 -0
  569. package/statistics/features/supported/data-access/data-access.d.ts +1 -1
  570. package/statistics/features/supported/data-access/post-process.d.ts +3 -0
  571. package/statistics/features/supported/data-access/post-process.js +3 -0
  572. package/statistics/features/supported/defined-functions/defined-functions.d.ts +1 -1
  573. package/statistics/features/supported/expression-list/post-process.d.ts +3 -0
  574. package/statistics/features/supported/expression-list/post-process.js +3 -0
  575. package/statistics/features/supported/loops/post-process.d.ts +3 -0
  576. package/statistics/features/supported/loops/post-process.js +3 -0
  577. package/statistics/features/supported/used-functions/used-functions.d.ts +1 -1
  578. package/statistics/features/supported/used-packages/post-process.d.ts +3 -0
  579. package/statistics/features/supported/used-packages/post-process.js +3 -0
  580. package/statistics/features/supported/values/post-process.d.ts +3 -0
  581. package/statistics/features/supported/values/post-process.js +3 -0
  582. package/statistics/features/supported/variables/post-process.d.ts +7 -1
  583. package/statistics/features/supported/variables/post-process.js +6 -0
  584. package/statistics/meta-statistics.d.ts +8 -9
  585. package/statistics/output/file-provider.d.ts +5 -6
  586. package/statistics/output/file-provider.js +5 -6
  587. package/statistics/output/print-stats.d.ts +13 -1
  588. package/statistics/output/print-stats.js +12 -0
  589. package/statistics/output/statistics-file.d.ts +1 -2
  590. package/statistics/output/statistics-file.js +0 -1
  591. package/statistics/statistics.d.ts +3 -4
  592. package/statistics/statistics.js +1 -2
  593. package/statistics/summarizer/auto-detect.d.ts +3 -0
  594. package/statistics/summarizer/auto-detect.js +3 -0
  595. package/statistics/summarizer/post-process/clusterer.d.ts +3 -4
  596. package/statistics/summarizer/post-process/clusterer.js +0 -2
  597. package/statistics/summarizer/post-process/file-based-count.d.ts +0 -1
  598. package/statistics/summarizer/post-process/file-based-count.js +0 -1
  599. package/statistics/summarizer/post-process/histogram.d.ts +0 -2
  600. package/statistics/summarizer/post-process/histogram.js +0 -2
  601. package/statistics/summarizer/post-process/post-process-output.d.ts +2 -4
  602. package/statistics/summarizer/post-process/post-process-output.js +0 -3
  603. package/statistics/summarizer/second-phase/process.d.ts +5 -3
  604. package/statistics/summarizer/second-phase/process.js +3 -1
  605. package/statistics/summarizer/summarizer.d.ts +1 -2
  606. package/util/assert.d.ts +52 -2
  607. package/util/assert.js +52 -2
  608. package/util/collections/arrays.d.ts +10 -5
  609. package/util/collections/arrays.js +10 -5
  610. package/util/collections/defaultmap.d.ts +11 -11
  611. package/util/collections/defaultmap.js +11 -11
  612. package/util/containers.d.ts +2 -7
  613. package/util/containers.js +0 -5
  614. package/util/diff-graph.d.ts +0 -1
  615. package/util/diff-graph.js +0 -1
  616. package/util/diff.d.ts +3 -1
  617. package/util/diff.js +3 -1
  618. package/util/files.d.ts +11 -11
  619. package/util/files.js +10 -10
  620. package/util/formats/adapter.d.ts +9 -0
  621. package/util/formats/adapter.js +9 -0
  622. package/util/formats/adapters/rmd-adapter.d.ts +10 -1
  623. package/util/formats/adapters/rmd-adapter.js +10 -1
  624. package/util/html-hover-over.d.ts +5 -0
  625. package/util/html-hover-over.js +5 -0
  626. package/util/json.d.ts +13 -0
  627. package/util/json.js +13 -0
  628. package/util/log.d.ts +2 -2
  629. package/util/log.js +2 -2
  630. package/util/mermaid/ast.d.ts +3 -0
  631. package/util/mermaid/ast.js +3 -0
  632. package/util/mermaid/cfg.d.ts +1 -1
  633. package/util/mermaid/dfg.d.ts +12 -4
  634. package/util/mermaid/dfg.js +9 -1
  635. package/util/mermaid/mermaid.d.ts +6 -1
  636. package/util/mermaid/mermaid.js +6 -1
  637. package/util/numbers.d.ts +7 -0
  638. package/util/numbers.js +7 -0
  639. package/util/objects.d.ts +0 -2
  640. package/util/os.d.ts +3 -0
  641. package/util/os.js +3 -0
  642. package/util/parallel.d.ts +4 -4
  643. package/util/parallel.js +4 -4
  644. package/util/prefix.d.ts +0 -1
  645. package/util/prefix.js +0 -1
  646. package/util/quads.d.ts +14 -17
  647. package/util/quads.js +3 -5
  648. package/util/r-value.d.ts +10 -1
  649. package/util/r-value.js +21 -0
  650. package/util/random.d.ts +3 -0
  651. package/util/random.js +3 -0
  652. package/util/range.d.ts +9 -3
  653. package/util/range.js +15 -2
  654. package/util/schema.d.ts +14 -1
  655. package/util/schema.js +15 -2
  656. package/util/simple-df/dfg-view.d.ts +4 -1
  657. package/util/simple-df/dfg-view.js +4 -1
  658. package/util/summarizer.d.ts +9 -1
  659. package/util/summarizer.js +9 -0
  660. package/util/text/ansi.d.ts +3 -0
  661. package/util/text/ansi.js +3 -0
  662. package/util/text/args.d.ts +2 -4
  663. package/util/text/args.js +7 -5
  664. package/util/text/text.d.ts +4 -0
  665. package/util/text/text.js +4 -0
  666. package/util/text/time.d.ts +0 -1
  667. package/util/text/time.js +0 -1
  668. package/util/version.d.ts +12 -3
  669. package/util/version.js +12 -3
  670. package/abstract-interpretation/data-frame/domain.d.ts +0 -107
  671. package/abstract-interpretation/data-frame/domain.js +0 -315
  672. package/abstract-interpretation/domains/set-bounded-set-domain.d.ts +0 -43
  673. package/abstract-interpretation/domains/set-bounded-set-domain.js +0 -164
  674. package/cli/repl/commands/repl-lineage.d.ts +0 -15
  675. package/cli/repl/commands/repl-lineage.js +0 -66
  676. package/cli/repl/server/messages/message-lineage.d.ts +0 -17
  677. package/cli/repl/server/messages/message-lineage.js +0 -25
  678. package/queries/catalog/lineage-query/lineage-query-executor.d.ts +0 -3
  679. package/queries/catalog/lineage-query/lineage-query-executor.js +0 -22
  680. package/queries/catalog/lineage-query/lineage-query-format.d.ts +0 -22
  681. package/queries/catalog/lineage-query/lineage-query-format.js +0 -31
@@ -12,9 +12,15 @@ const doc_code_1 = require("./doc-code");
12
12
  const assert_1 = require("../../util/assert");
13
13
  const time_1 = require("../../util/text/time");
14
14
  const messages = [];
15
+ /**
16
+ * Documents a server message for later printing.
17
+ */
15
18
  function documentServerMessage(description) {
16
19
  messages.push(description);
17
20
  }
21
+ /**
22
+ * Visualizes all documented server messages in markdown format.
23
+ */
18
24
  async function printServerMessages(shell) {
19
25
  let text = '<ul>';
20
26
  for (const message of messages) {
@@ -22,6 +28,9 @@ async function printServerMessages(shell) {
22
28
  }
23
29
  return text + '</ul>';
24
30
  }
31
+ /**
32
+ * Executes the given function within a server context.
33
+ */
25
34
  async function inServerContext(shell, fn) {
26
35
  return (0, net_1.withSocket)(shell, async (socket, server) => {
27
36
  return fn(socket, server);
@@ -69,6 +78,9 @@ function explainPingPong(description, received) {
69
78
  }
70
79
  return result + '</ol>';
71
80
  }
81
+ /**
82
+ * Documents a ping-pong message exchange with the server.
83
+ */
72
84
  async function documentServerMessageResponse({ shell, title, messageType, messages }) {
73
85
  const start = performance.now();
74
86
  const response = await inServerContext(shell, async (socket) => {
@@ -145,7 +157,7 @@ ${additionalDefs?.map(def => getSchema(definitionPath, def)).join('\n') ?? ''}
145
157
 
146
158
  <hr>
147
159
 
148
- </details>
160
+ </details>
149
161
  `;
150
162
  }
151
163
  //# sourceMappingURL=doc-server-message.js.map
@@ -4,12 +4,21 @@ export interface DetailsOptions {
4
4
  readonly hideIfEmpty?: boolean;
5
5
  readonly prefixInit?: string;
6
6
  }
7
+ /**
8
+ *
9
+ */
7
10
  export declare function details(title: string, content: string, { color, open, hideIfEmpty, prefixInit }?: DetailsOptions): string;
8
11
  export interface BlockOptions {
9
12
  readonly type: 'NOTE' | 'WARNING' | 'TIP' | 'IMPORTANT';
10
13
  readonly content: string;
11
14
  }
15
+ /**
16
+ *
17
+ */
12
18
  export declare function block({ type, content }: BlockOptions): string;
19
+ /**
20
+ *
21
+ */
13
22
  export declare function section(title: string, depth?: 1 | 2 | 3 | 4 | 5 | 6, anchor?: string): string;
14
23
  /**
15
24
  * Supported pattern: `Name@link`
@@ -7,21 +7,30 @@ exports.collapsibleToc = collapsibleToc;
7
7
  const doc_general_1 = require("./doc-general");
8
8
  const mermaid_1 = require("../../util/mermaid/mermaid");
9
9
  const strings_1 = require("../../util/text/strings");
10
+ /**
11
+ *
12
+ */
10
13
  function details(title, content, { color, open = false, hideIfEmpty = true, prefixInit = '' } = {}) {
11
14
  return hideIfEmpty && content.trim().length === 0 ? '' : `
12
- ${prefixInit}<details${open ? ' open' : ''}><summary style="${color ? 'color:' + color : ''}">${title}</summary>
15
+ ${prefixInit}<details${open ? ' open' : ''}><summary${color ? ' style="color:' + color + '"' : ''}>${title}</summary>
13
16
 
14
17
  ${content}
15
18
 
16
19
  </details>
17
20
  `;
18
21
  }
22
+ /**
23
+ *
24
+ */
19
25
  function block({ type, content }) {
20
26
  return `
21
27
  > [!${type}]
22
28
  ${(0, doc_general_1.prefixLines)(content, '> ')}
23
29
  `;
24
30
  }
31
+ /**
32
+ *
33
+ */
25
34
  function section(title, depth = 2, anchor = (0, mermaid_1.escapeId)(title)) {
26
35
  return `<h${depth} id="${anchor}">${title}</h${depth}>`;
27
36
  }
@@ -11,17 +11,44 @@ export interface TypeElementInSource {
11
11
  comments?: string[];
12
12
  readonly properties?: string[];
13
13
  }
14
+ /**
15
+ *
16
+ */
14
17
  export declare function getTypeScriptSourceFiles(fileNames: readonly string[]): {
15
18
  files: ts.SourceFile[];
16
19
  program: ts.Program;
17
20
  };
21
+ /**
22
+ *
23
+ */
18
24
  export declare function dropGenericsFromTypeName(type: string): string;
25
+ /**
26
+ *
27
+ */
19
28
  export declare function removeCommentSymbolsFromTypeScriptComment(comment: string): string;
29
+ /**
30
+ *
31
+ */
20
32
  export declare function getTextualCommentsFromTypeScript(node: ts.Node): string[];
33
+ /**
34
+ *
35
+ */
21
36
  export declare function getStartLineOfTypeScriptNode(node: ts.Node, sourceFile: ts.SourceFile): number;
37
+ /**
38
+ *
39
+ */
22
40
  export declare function getType(node: ts.Node, typeChecker: ts.TypeChecker): string;
41
+ /**
42
+ *
43
+ */
23
44
  export declare function followTypeReference(type: ts.TypeReferenceNode, sourceFile: ts.SourceFile): string[];
45
+ /**
46
+ *
47
+ */
24
48
  export declare function getTypePathForTypeScript({ filePath }: Pick<TypeElementInSource, 'filePath'>): string;
49
+ /**
50
+ *
51
+ */
25
52
  export declare function getTypePathLink(elem: Pick<TypeElementInSource, 'filePath' | 'lineNumber'>, prefix?: string): string;
26
53
  export interface GetTypesAsMermaidOption {
27
54
  readonly rootFolder?: string;
@@ -47,6 +74,9 @@ export declare function getTypesFromFolder(options: GetTypesAsMermaidOption & {
47
74
  mermaid: undefined;
48
75
  });
49
76
  export declare function getTypesFromFolder(options: GetTypesAsMermaidOption): TypeReport;
77
+ /**
78
+ *
79
+ */
50
80
  export declare function implSnippet(node: TypeElementInSource | undefined, program: ts.Program, showName?: boolean, nesting?: number, open?: boolean): string;
51
81
  export interface PrintHierarchyArguments {
52
82
  readonly program: ts.Program;
@@ -58,6 +88,9 @@ export interface PrintHierarchyArguments {
58
88
  readonly openTop?: boolean;
59
89
  }
60
90
  export declare const mermaidHide: string[];
91
+ /**
92
+ *
93
+ */
61
94
  export declare function printHierarchy({ program, info, root, collapseFromNesting, initialNesting, maxDepth, openTop }: PrintHierarchyArguments): string;
62
95
  interface FnInfo {
63
96
  info: TypeElementInSource[];
@@ -67,6 +100,9 @@ interface FnInfo {
67
100
  doNotAutoGobble?: boolean;
68
101
  hideDefinedAt?: boolean;
69
102
  }
103
+ /**
104
+ *
105
+ */
70
106
  export declare function printCodeOfElement({ program, info, dropLinesEnd, dropLinesStart, doNotAutoGobble, hideDefinedAt }: FnInfo, name: string): string;
71
107
  /**
72
108
  * Create a short link to a type in the documentation
@@ -77,10 +113,16 @@ export declare function printCodeOfElement({ program, info, dropLinesEnd, dropLi
77
113
  * @param realNameWrapper - How to highlight the function in name in the `x::y` format?
78
114
  */
79
115
  export declare function shortLink(name: string, hierarchy: readonly TypeElementInSource[], codeStyle?: boolean, realNameWrapper?: string): string;
116
+ /**
117
+ *
118
+ */
80
119
  export declare function shortLinkFile(name: string, hierarchy: readonly TypeElementInSource[]): string;
81
120
  export interface GetDocumentationForTypeFilters {
82
121
  fuzzy?: boolean;
83
122
  type?: TypeElementKind;
84
123
  }
124
+ /**
125
+ *
126
+ */
85
127
  export declare function getDocumentationForType(name: string, hierarchy: TypeElementInSource[], prefix?: string, filter?: GetDocumentationForTypeFilters): string;
86
128
  export {};
@@ -30,6 +30,9 @@ const doc_code_1 = require("./doc-code");
30
30
  const doc_structure_1 = require("./doc-structure");
31
31
  const html_hover_over_1 = require("../../util/html-hover-over");
32
32
  const doc_general_1 = require("./doc-general");
33
+ /**
34
+ *
35
+ */
33
36
  function getTypeScriptSourceFiles(fileNames) {
34
37
  try {
35
38
  const program = typescript_1.default.createProgram(fileNames, {
@@ -50,6 +53,9 @@ function getTypeScriptSourceFiles(fileNames) {
50
53
  return { files: [], program: undefined };
51
54
  }
52
55
  }
56
+ /**
57
+ *
58
+ */
53
59
  function dropGenericsFromTypeName(type) {
54
60
  let previous;
55
61
  do {
@@ -58,6 +64,9 @@ function dropGenericsFromTypeName(type) {
58
64
  } while (type !== previous);
59
65
  return type;
60
66
  }
67
+ /**
68
+ *
69
+ */
61
70
  function removeCommentSymbolsFromTypeScriptComment(comment) {
62
71
  return comment
63
72
  // remove '/** \n * \n */...
@@ -66,6 +75,9 @@ function removeCommentSymbolsFromTypeScriptComment(comment) {
66
75
  .replace(/\{@[a-zA-Z]+ ([^}]+\|)?(?<name>[^}]+)}/gm, '<code>$<name></code>')
67
76
  .trim();
68
77
  }
78
+ /**
79
+ *
80
+ */
69
81
  function getTextualCommentsFromTypeScript(node) {
70
82
  const comments = typescript_1.default.getJSDocCommentsAndTags(node);
71
83
  const out = [];
@@ -81,15 +93,24 @@ function getTextualCommentsFromTypeScript(node) {
81
93
  }
82
94
  return out;
83
95
  }
96
+ /**
97
+ *
98
+ */
84
99
  function getStartLineOfTypeScriptNode(node, sourceFile) {
85
100
  const lineStart = sourceFile.getLineAndCharacterOfPosition(node.getStart(sourceFile)).line;
86
101
  return lineStart + 1;
87
102
  }
103
+ /**
104
+ *
105
+ */
88
106
  function getType(node, typeChecker) {
89
107
  const tryDirect = typeChecker.getTypeAtLocation(node);
90
108
  return tryDirect ? typeChecker.typeToString(tryDirect) : 'unknown';
91
109
  }
92
110
  const defaultSkip = ['Pick', 'Partial', 'Required', 'Readonly', 'Omit', 'DeepPartial', 'DeepReadonly', 'DeepWritable', 'StrictOmit'];
111
+ /**
112
+ *
113
+ */
93
114
  function followTypeReference(type, sourceFile) {
94
115
  const node = type.typeName;
95
116
  if (typescript_1.default.isQualifiedName(node)) {
@@ -250,9 +271,15 @@ function collectHierarchyInformation(sourceFiles, options) {
250
271
  });
251
272
  return hierarchyList;
252
273
  }
274
+ /**
275
+ *
276
+ */
253
277
  function getTypePathForTypeScript({ filePath }) {
254
278
  return filePath.replace(/^.*\/src\//, 'src/').replace(/^.*\/test\//, 'test/');
255
279
  }
280
+ /**
281
+ *
282
+ */
256
283
  function getTypePathLink(elem, prefix = doc_files_1.RemoteFlowrFilePathBaseRef) {
257
284
  const fromSource = getTypePathForTypeScript(elem);
258
285
  return `${prefix}/${fromSource}#L${elem.lineNumber}`;
@@ -347,6 +374,9 @@ function getTypesFromFolder(options) {
347
374
  }
348
375
  return getTypesFromFileAsMermaid(files, options);
349
376
  }
377
+ /**
378
+ *
379
+ */
350
380
  function implSnippet(node, program, showName = true, nesting = 0, open = false) {
351
381
  (0, assert_1.guard)(node !== undefined, 'Node must be defined => invalid change of type name?');
352
382
  const indent = ' '.repeat(nesting * 2);
@@ -362,6 +392,9 @@ function implSnippet(node, program, showName = true, nesting = 0, open = false)
362
392
  return ` ${indent}${showName ? init : ''} ${text.replaceAll('\t', ' ').split(/\n/g).join(`\n${indent} `)}`;
363
393
  }
364
394
  exports.mermaidHide = ['Leaf', 'Location', 'Namespace', 'Base', 'WithChildren', 'Partial', 'RAccessBase'];
395
+ /**
396
+ *
397
+ */
365
398
  function printHierarchy({ program, info, root, collapseFromNesting = 1, initialNesting = 0, maxDepth = 20, openTop }) {
366
399
  if (initialNesting > maxDepth) {
367
400
  return '';
@@ -387,6 +420,9 @@ function printHierarchy({ program, info, root, collapseFromNesting = 1, initialN
387
420
  return thisLine + (out ? '\n' + out : '');
388
421
  }
389
422
  }
423
+ /**
424
+ *
425
+ */
390
426
  function printCodeOfElement({ program, info, dropLinesEnd = 0, dropLinesStart = 0, doNotAutoGobble, hideDefinedAt }, name) {
391
427
  const node = info.find(e => e.name === name);
392
428
  if (!node) {
@@ -473,6 +509,9 @@ function shortLink(name, hierarchy, codeStyle = true, realNameWrapper = 'b') {
473
509
  return `<a href="${getTypePathLink(node)}">${codeStyle ? '<code>' : ''}${(node.comments?.length ?? 0) > 0 ?
474
510
  (0, html_hover_over_1.textWithTooltip)(pkg ? `${pkg}::<${realNameWrapper}>${mainName}</${realNameWrapper}>` : mainName, comments.length > 400 ? comments.slice(0, 400) + '...' : comments) : node.name}${codeStyle ? '</code>' : ''}</a>`;
475
511
  }
512
+ /**
513
+ *
514
+ */
476
515
  function shortLinkFile(name, hierarchy) {
477
516
  const res = retrieveNode(name, hierarchy);
478
517
  if (!res) {
@@ -482,6 +521,9 @@ function shortLinkFile(name, hierarchy) {
482
521
  const [, , node] = res;
483
522
  return `<a href="${getTypePathLink(node)}">${getTypePathForTypeScript(node)}</a>`;
484
523
  }
524
+ /**
525
+ *
526
+ */
485
527
  function getDocumentationForType(name, hierarchy, prefix = '', filter) {
486
528
  const res = retrieveNode(name, hierarchy, filter?.fuzzy, filter?.type);
487
529
  if (!res) {
@@ -74,6 +74,10 @@ ${(0, doc_types_1.printCodeOfElement)({ program: types.program, info: types.info
74
74
  `
75
75
  })}
76
76
 
77
+ In general, we work on providing a set of example repositories that demonstrate how to use the analyzer in different scenarios:
78
+
79
+ * [${doc_files_1.FlowrGithubGroupName}/sample-analyzer-project-query](${doc_files_1.FlowrGithubBaseRef}/sample-analyzer-project-query) for an example project that runs queries on an R project
80
+
77
81
  **TODO**: mention [Context](#Context_Information)
78
82
 
79
83
  ${(0, doc_structure_1.section)('Builder Configuration', 2)}
@@ -1,2 +1,5 @@
1
1
  import { FlowrAnalyzer } from '../project/flowr-analyzer';
2
+ /**
3
+ *
4
+ */
2
5
  export declare function inspectContextExample(analyzer: FlowrAnalyzer): void;
@@ -69,6 +69,9 @@ async function sliceQueryExample(analyzer) {
69
69
  }]);
70
70
  return result;
71
71
  }
72
+ /**
73
+ *
74
+ */
72
75
  function inspectContextExample(analyzer) {
73
76
  const ctx = analyzer.inspectContext();
74
77
  console.log('dplyr version', ctx.deps.getDependency('dplyr'));
@@ -247,7 +250,7 @@ ${(0, doc_structure_1.block)({
247
250
  content: `
248
251
  All of these commands accept file paths as well, so you can write longer R code within a file, and then pass
249
252
  the file path prefixed with \`${retriever_1.fileProtocol}\` (e.g., \`${retriever_1.fileProtocol}test/testfiles/example.R\`) to the commands.`
250
- })}
253
+ })}
251
254
 
252
255
  Especially when you are just starting with flowR, we recommend using the REPL to explore the output of the different steps.
253
256
 
@@ -353,7 +356,7 @@ All ids conform to the ${(0, doc_types_1.shortLink)('NodeId', info)} type.
353
356
 
354
357
  The core of the dataflow graph generation works as a "stateful [fold](https://en.wikipedia.org/wiki/Fold_(higher-order_function))",
355
358
  which uses the tree-like structure of the AST to combine the dataflow information of the children, while tracking the currently active variables and control flow
356
- information as a “backpack” (state).
359
+ information as a “backpack” (state).
357
360
  We use the ${(0, doc_types_1.shortLink)(extractor_1.produceDataFlowGraph.name, info)} function as an entry point to the dataflow generation (the actual fold entry is in ${(0, doc_types_1.shortLink)(processor_1.processDataflowFor.name, info)}).
358
361
  The function is mainly backed by its ${(0, doc_types_1.shortLink)('processors', info)} object which maps each type in the normalized AST to an appropriate handler ("fold-function").
359
362
 
@@ -196,8 +196,6 @@ These origins may hold the name of any processor that is part of the ${(0, doc_t
196
196
  The entry \`function\` signals that flowR used a processor for a user-defined function defined within the source code, \`unnamed\` signals that the function as an anonymous function definition.
197
197
  However, in general, flowR may use any fitting handler as an origin. For example, within a access definition, flowR will correspondingly redefine the meaning of \`:=\` to that of the \`table:assign\`.
198
198
 
199
-
200
-
201
199
  ${(0, doc_structure_1.details)('Example: Simple Function Call (unresolved)', await (async () => {
202
200
  const code = 'foo(x,3,y=3,)';
203
201
  const [text, info] = await (0, doc_dfg_1.printDfGraphForCode)(shell, code, { mark: new Set([8]), exposeResult: true });
@@ -323,7 +321,7 @@ ${await (async () => {
323
321
  const name = interestingVertex.name;
324
322
  (0, assert_1.guard)(name !== undefined, () => 'Could not find name for interesting assignment vertex');
325
323
  return `
326
- ${text}
324
+ ${text}
327
325
 
328
326
  Interesting program, right? Running this with \`u <- TRUE\` will cause the last line to evaluate to \`6\` because we redefined the assignment
329
327
  operator to mean multiplication, while with \`u <- FALSE\` causes \`x\` to be assigned to \`3\`.
@@ -714,8 +712,8 @@ Yet, you may choose to follow these references for other queries. For now, _flow
714
712
  Besides the obvious quotation there are other cases in which _flowR_ may choose to create a ${linkEdgeName(edge_1.EdgeType.NonStandardEvaluation)} edge, there are
715
713
  some that may appear to be counter-intuitive. For example, a for-loop body, as in the following example.
716
714
 
717
- ${(0, doc_structure_1.details)('Example: For-Loop Body', await (0, doc_dfg_1.printDfGraphForCode)(shell, 'for(i in v) b', { mark: new Set([2, '4->2']) }))}
718
- ${(0, doc_structure_1.details)('Example: While-Loop Body', await (0, doc_dfg_1.printDfGraphForCode)(shell, 'while(TRUE) b', { mark: new Set([1, '3->1']) }))}
715
+ ${(0, doc_structure_1.details)('Example: For-Loop Body', await (0, doc_dfg_1.printDfGraphForCode)(shell, 'for(i in v) b', { mark: new Set([2, '4->2']) }))}
716
+ ${(0, doc_structure_1.details)('Example: While-Loop Body', await (0, doc_dfg_1.printDfGraphForCode)(shell, 'while(TRUE) b', { mark: new Set([1, '3->1']) }))}
719
717
 
720
718
  `
721
719
  })}
@@ -789,6 +787,8 @@ wiki page if you are unsure.
789
787
  > When using _flowR_ as a library, you may use the functions in ${(0, doc_files_1.getFilePathMd)('../util/mermaid/dfg.ts')}.
790
788
  >
791
789
  > If you receive a dataflow graph in its serialized form (e.g., by talking to a [_flowR_ server](${doc_files_1.FlowrWikiBaseRef}/Interface)), you can use ${(0, doc_types_1.shortLink)(`${graph_1.DataflowGraph.name}::${graph_1.DataflowGraph.fromJson.name}`, vertexType.info, true, 'i')} to retrieve the graph from the JSON representation.
790
+ >
791
+ > Also, check out the [${doc_files_1.FlowrGithubGroupName}/sample-analyzer-df-diff](${doc_files_1.FlowrGithubBaseRef}/sample-analyzer-df-diff) repository for a complete example project creating and comparing dataflow graphs.
792
792
 
793
793
  ${await (0, doc_dfg_1.printDfGraphForCode)(shell, 'x <- 3\ny <- x + 1\ny')}
794
794
 
@@ -2,87 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const log_1 = require("../../test/functionality/_helper/log");
4
4
  const doc_auto_gen_1 = require("./doc-util/doc-auto-gen");
5
- const doc_files_1 = require("./doc-util/doc-files");
6
- const doc_code_1 = require("./doc-util/doc-code");
5
+ const faqs_1 = require("./data/faq/faqs");
7
6
  function print() {
7
+ const faqs = (0, faqs_1.registerFaqs)();
8
8
  return `${(0, doc_auto_gen_1.autoGenHeader)({ filename: module.filename, purpose: 'frequently asked questions' })}
9
9
 
10
- ## 💮 *flowR* FAQ
11
-
12
- ### 🧑‍💻 *flowR* Development
13
-
14
- ${qAndA('What are test labels and how do they work?', `
15
- Tests are labeled based on the *flowR* capabilities that they test for. The list of supported capabilities can be found on the [Capabilities](${doc_files_1.FlowrWikiBaseRef}/Capabilities) wiki page. For more extensive information on test labels, see the [test labels wiki section](${doc_files_1.FlowrWikiBaseRef}/Linting-and-Testing#test-labels).
16
- `)}
17
-
18
- ${qAndA('How to get a REPL with debug-info/hot-reload?', `
19
- To enter the development repl, execute \`npm run main-dev\` in contrast to \`npm run flowr\` this will use an unminified build (keeping debug info)
20
- and will also watch the source files for changes and automatically recompile them. Please note, that this may have negative performance implications.
21
- `)}
22
-
23
- ${qAndA('How do I generate mermaid diagrams?', `
24
- There are several ways to generate mermaid diagrams based on the input data that you want to use.
25
- - From the AST (abstract syntax tree): ${(0, doc_files_1.getFilePathMd)('../util/mermaid/ast.ts')}
26
- - From the CFG (control flow graph): ${(0, doc_files_1.getFilePathMd)('../util/mermaid/cfg.ts')}
27
- - From the DFG (dataflow graph): ${(0, doc_files_1.getFilePathMd)('../util/mermaid/dfg.ts')}
28
- `)}
29
-
30
- ${qAndA('How do I create new wiki pages?', `
31
- To create an automatically generated wiki page, you can follow these steps:
32
- - Create a new file in \`src/documentation\` with a name like \`print-my-page-wiki.ts\`.
33
- - Add a new wiki generation script to the ${(0, doc_files_1.getFilePathMd)('../../package.json')}. You can copy one of the existing ones of the form \`"wiki:my-page": "ts-node src/documentation/print-my-page-wiki.ts"\`.
34
- - Add the wiki generation script to the \`broken-links-and-wiki.yml\` GitHub workflow file to enable automatic generation through the CI. You can copy one of the existing ones of the form \`update_page wiki/"My page" wiki:my-page\`.
35
-
36
- You can test your page by piping the wiki generation script to a file. For example, you can run the following command:
37
- ${(0, doc_code_1.codeBlock)('shell', 'npm run --silent wiki:my-page > __my-page.md')}
38
-
39
- Remember not to commit this file, as it's only meant for testing.
40
- `)}
41
-
42
- ${qAndA('Why can\'t I pass arguments when running flowR with npm?', `
43
- With \`npm\` you have to pass arguments in a specific way. The \`--\` operator is used to separate the \`npm\` arguments from the script arguments. For example, if you want to run \`flowR\` with the \`--help\` argument, you can use the following command:
44
- ${(0, doc_code_1.codeBlock)('shell', 'npm run flowR -- --help')}
45
- `)}
46
-
47
- ${qAndA('How to do logging in flowR?', `
48
- Check out the [Logging Section in the Linting and Testing wiki page](${doc_files_1.FlowrWikiBaseRef}/Linting-and-Testing#logging) for more information on how to do logging in *flowR*.
49
- `)}
50
-
51
- ## 🇷 R FAQ
52
-
53
- ### 📦 R Packages
54
-
55
- ${qAndA('What is the R prelude and R base package?', `
56
- The base package contains lots of base functions like \`source\` for example.
57
- The R prelude includes the base package along with several other packages.
58
- Packages that were loaded by the prelude can be called without prefixing the function call with the package name and the \`::\` operator.
59
-
60
- The packages loaded by the R prelude can be seen in the \`attached base packages\` sections in the output of \`sessionInfo()\`.
61
- `)}
62
-
63
- ${qAndA('How to get documentation for a function or package?', `
64
- There are a couple of ways to get documentation for a function or package.
65
-
66
- 🖥️ Firstly, if you have already installed the package the function originated from you can simply run \`?<package name>::<function name>\` in an R session to print the
67
- relevant documentation. If you don't know the origin of the package, you can use
68
- \`??<function name>\` in an R shell to fuzzy find all documentations containing
69
- \`<function name>\` or something similar.
70
-
71
- 🌐 Secondly, if you don't have or don't want to install the package you can simply google the fully qualified name of the function. Good sources include \`rdrr.io\`
72
- or \`rdocumentation.org\`. Additionally, the package documentation PDF can also
73
- be downloaded directly from \`cran\`.
74
- `)}
10
+ ${faqs.toMarkdown()}
75
11
 
76
12
  `.trim();
77
13
  }
78
- function qAndA(question, answer) {
79
- return `<details>
80
- <summary><strong>${question}</strong></summary>
81
-
82
- ${answer.trim()}
83
-
84
- </details>`;
85
- }
86
14
  if (require.main === module) {
87
15
  (0, log_1.setMinLevelOfAllLogs)(6 /* LogLevel.Fatal */);
88
16
  console.log(print());
@@ -154,7 +154,7 @@ ${await (0, doc_repl_1.documentReplSession)(shell, [{
154
154
 
155
155
  <details>
156
156
 
157
- <summary>File Content</summary>
157
+ <summary>File Content</summary>
158
158
 
159
159
  ${(0, doc_code_1.codeBlock)('r', (0, doc_files_1.getFileContentFromRoot)('test/testfiles/example.R'))}
160
160
 
@@ -5,7 +5,7 @@ const doc_files_1 = require("./doc-util/doc-files");
5
5
  const doc_code_1 = require("./doc-util/doc-code");
6
6
  const doc_auto_gen_1 = require("./doc-util/doc-auto-gen");
7
7
  function print() {
8
- return `${(0, doc_auto_gen_1.autoGenHeader)({ filename: module.filename, purpose: 'developer onboarding process' })}
8
+ return `${(0, doc_auto_gen_1.autoGenHeader)({ filename: module.filename, purpose: 'developer onboarding process' })}
9
9
 
10
10
  To get started developing on *flowR*, we recommend carefully reading the following pages:
11
11
  - 💻 [Setting up the *flowR* development environment](${doc_files_1.FlowrWikiBaseRef}/Setup#%EF%B8%8F-building-from-scratch).\
@@ -22,7 +22,6 @@ const id_map_query_executor_1 = require("../queries/catalog/id-map-query/id-map-
22
22
  const normalized_ast_query_executor_1 = require("../queries/catalog/normalized-ast-query/normalized-ast-query-executor");
23
23
  const cluster_query_executor_1 = require("../queries/catalog/cluster-query/cluster-query-executor");
24
24
  const static_slice_query_executor_1 = require("../queries/catalog/static-slice-query/static-slice-query-executor");
25
- const lineage_query_executor_1 = require("../queries/catalog/lineage-query/lineage-query-executor");
26
25
  const dependencies_query_executor_1 = require("../queries/catalog/dependencies-query/dependencies-query-executor");
27
26
  const doc_cli_option_1 = require("./doc-util/doc-cli-option");
28
27
  const doc_issue_1 = require("./doc-util/doc-issue");
@@ -166,37 +165,6 @@ ${await (0, doc_query_1.showQuery)(shell, exampleCode, [{
166
165
  `;
167
166
  }
168
167
  });
169
- (0, doc_query_1.registerQueryDocumentation)('lineage', {
170
- name: 'Lineage Query',
171
- type: 'active',
172
- shortDescription: 'Returns lineage of a criteria.',
173
- functionName: lineage_query_executor_1.executeLineageQuery.name,
174
- functionFile: '../queries/catalog/lineage-query/lineage-query-executor.ts',
175
- buildExplanation: async (shell) => {
176
- const exampleCode = 'x <- 1\nx';
177
- return `
178
- This query calculates the _lineage_ of a given slicing criterion. The lineage traces back all parts that the
179
- respective variables stems from given the reads, definitions, and returns in the dataflow graph.
180
-
181
- To understand this, let's start with a simple example query, to get the lineage of the second use of \`x\` in the following code:
182
- ${(0, doc_code_1.codeBlock)('r', exampleCode)}
183
-
184
- For this, we use the criterion \`2@x\` (which is the first use of \`x\` in the second line).
185
-
186
- ${await (0, doc_query_1.showQuery)(shell, exampleCode, [{
187
- type: 'lineage',
188
- criterion: '2@x'
189
- }], { showCode: false })}
190
-
191
- In this simple scenario, the _lineage_ is equivalent to the slice (and in-fact the complete code).
192
- In general the lineage is smaller and makes no guarantees on executability.
193
- It is just a quick and neither complete nor sound way to get information on where the variable originates from.
194
-
195
- This query replaces the old [\`request-lineage\`](${doc_files_1.FlowrWikiBaseRef}/Interface#message-request-lineage) message.
196
-
197
- `;
198
- }
199
- });
200
168
  (0, doc_query_1.registerQueryDocumentation)('dataflow-cluster', {
201
169
  name: 'Dataflow Cluster Query',
202
170
  type: 'active',
@@ -643,7 +611,7 @@ ${await (0, doc_query_1.showQuery)(shell, exampleCode, [{
643
611
  type: 'location-map'
644
612
  }], { showCode: false, collapseQuery: true })}
645
613
 
646
- All locations are given as a ${(0, doc_types_1.shortLink)('SourceRange', types.info)} paired with the file id in the format \`[file-id, [start-line, start-column, end-line, end-column]]\`.
614
+ All locations are given as a ${(0, doc_types_1.shortLink)('SourceRange', types.info)} paired with the file id in the format \`[file-id, [start-line, start-column, end-line, end-column]]\`.
647
615
 
648
616
  `;
649
617
  }
@@ -660,7 +628,9 @@ ${(0, doc_structure_1.block)({
660
628
  content: `
661
629
  There are many ways to query a dataflow graph created by flowR.
662
630
  For example, you can use the [\`request-query\`](${doc_files_1.FlowrWikiBaseRef}/Interface#message-request-query) message
663
- with a running flowR server, or the ${(0, doc_cli_option_1.getReplCommand)('query')} command in the flowR [REPL](${doc_files_1.FlowrWikiBaseRef}/Interface#repl).
631
+ with a running flowR server, or the ${(0, doc_cli_option_1.getReplCommand)('query')} command in the flowR [REPL](${doc_files_1.FlowrWikiBaseRef}/Interface#repl).
632
+
633
+ Also, check out the [${doc_files_1.FlowrGithubGroupName}/sample-analyzer-project-query](${doc_files_1.FlowrGithubBaseRef}/sample-analyzer-project-query) repository for a complete example project using the query API.
664
634
  `.trim()
665
635
  })}
666
636