@eagleoutice/flowr 2.6.0 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (703) hide show
  1. package/README.md +142 -45
  2. package/abstract-interpretation/data-frame/absint-info.d.ts +1 -1
  3. package/abstract-interpretation/data-frame/absint-visitor.d.ts +3 -4
  4. package/abstract-interpretation/data-frame/absint-visitor.js +16 -11
  5. package/abstract-interpretation/data-frame/dataframe-domain.d.ts +18 -12
  6. package/abstract-interpretation/data-frame/dataframe-domain.js +25 -13
  7. package/abstract-interpretation/data-frame/mappers/access-mapper.d.ts +0 -1
  8. package/abstract-interpretation/data-frame/mappers/access-mapper.js +0 -1
  9. package/abstract-interpretation/data-frame/mappers/arguments.d.ts +1 -10
  10. package/abstract-interpretation/data-frame/mappers/arguments.js +0 -7
  11. package/abstract-interpretation/data-frame/mappers/assignment-mapper.d.ts +0 -1
  12. package/abstract-interpretation/data-frame/mappers/assignment-mapper.js +0 -1
  13. package/abstract-interpretation/data-frame/mappers/function-mapper.d.ts +4 -5
  14. package/abstract-interpretation/data-frame/mappers/function-mapper.js +3 -4
  15. package/abstract-interpretation/data-frame/mappers/replacement-mapper.d.ts +0 -1
  16. package/abstract-interpretation/data-frame/mappers/replacement-mapper.js +0 -1
  17. package/abstract-interpretation/data-frame/resolve-args.d.ts +1 -1
  18. package/abstract-interpretation/data-frame/semantics.d.ts +3 -4
  19. package/abstract-interpretation/data-frame/semantics.js +171 -162
  20. package/abstract-interpretation/data-frame/shape-inference.d.ts +1 -4
  21. package/abstract-interpretation/data-frame/shape-inference.js +7 -9
  22. package/abstract-interpretation/domains/abstract-domain.d.ts +59 -18
  23. package/abstract-interpretation/domains/abstract-domain.js +74 -1
  24. package/abstract-interpretation/domains/bounded-set-domain.d.ts +37 -24
  25. package/abstract-interpretation/domains/bounded-set-domain.js +70 -47
  26. package/abstract-interpretation/domains/interval-domain.d.ts +33 -25
  27. package/abstract-interpretation/domains/interval-domain.js +109 -50
  28. package/abstract-interpretation/domains/lattice.d.ts +19 -11
  29. package/abstract-interpretation/domains/mapped-abstract-domain.d.ts +34 -0
  30. package/abstract-interpretation/domains/mapped-abstract-domain.js +189 -0
  31. package/abstract-interpretation/domains/positive-interval-domain.d.ts +16 -12
  32. package/abstract-interpretation/domains/positive-interval-domain.js +20 -11
  33. package/abstract-interpretation/domains/product-domain.d.ts +18 -23
  34. package/abstract-interpretation/domains/product-domain.js +11 -19
  35. package/abstract-interpretation/domains/satisfiable-domain.d.ts +29 -0
  36. package/abstract-interpretation/domains/satisfiable-domain.js +24 -0
  37. package/abstract-interpretation/domains/set-upper-bound-domain.d.ts +54 -0
  38. package/abstract-interpretation/domains/set-upper-bound-domain.js +197 -0
  39. package/abstract-interpretation/domains/singleton-domain.d.ts +24 -19
  40. package/abstract-interpretation/domains/singleton-domain.js +52 -37
  41. package/abstract-interpretation/domains/state-abstract-domain.d.ts +8 -24
  42. package/abstract-interpretation/domains/state-abstract-domain.js +2 -167
  43. package/abstract-interpretation/normalized-ast-fold.d.ts +1 -7
  44. package/abstract-interpretation/normalized-ast-fold.js +0 -5
  45. package/benchmark/slicer.d.ts +3 -7
  46. package/benchmark/slicer.js +14 -19
  47. package/benchmark/stats/print.d.ts +6 -0
  48. package/benchmark/stats/print.js +6 -0
  49. package/benchmark/stats/size-of.d.ts +0 -1
  50. package/benchmark/stats/size-of.js +0 -1
  51. package/benchmark/stats/stats.d.ts +2 -2
  52. package/benchmark/stopwatch.d.ts +11 -13
  53. package/benchmark/stopwatch.js +11 -13
  54. package/benchmark/summarizer/first-phase/input.d.ts +6 -0
  55. package/benchmark/summarizer/first-phase/input.js +6 -0
  56. package/benchmark/summarizer/first-phase/process.d.ts +13 -1
  57. package/benchmark/summarizer/first-phase/process.js +12 -0
  58. package/benchmark/summarizer/second-phase/graph.d.ts +3 -0
  59. package/benchmark/summarizer/second-phase/graph.js +3 -0
  60. package/benchmark/summarizer/second-phase/process.d.ts +12 -0
  61. package/benchmark/summarizer/second-phase/process.js +12 -0
  62. package/benchmark/summarizer/summarizer.d.ts +1 -2
  63. package/cli/benchmark-app.js +0 -2
  64. package/cli/common/features.d.ts +7 -1
  65. package/cli/common/features.js +6 -0
  66. package/cli/common/script.d.ts +3 -1
  67. package/cli/common/script.js +3 -1
  68. package/cli/common/scripts-info.d.ts +3 -1
  69. package/cli/common/scripts-info.js +3 -0
  70. package/cli/flowr-main-options.d.ts +3 -0
  71. package/cli/flowr-main-options.js +3 -0
  72. package/cli/flowr.js +8 -4
  73. package/cli/repl/commands/repl-cfg.js +4 -4
  74. package/cli/repl/commands/repl-commands.d.ts +13 -0
  75. package/cli/repl/commands/repl-commands.js +15 -4
  76. package/cli/repl/commands/repl-dataflow.js +4 -4
  77. package/cli/repl/commands/repl-execute.d.ts +5 -1
  78. package/cli/repl/commands/repl-execute.js +12 -8
  79. package/cli/repl/commands/repl-main.d.ts +17 -14
  80. package/cli/repl/commands/repl-normalize.js +2 -2
  81. package/cli/repl/commands/repl-parse.js +4 -3
  82. package/cli/repl/commands/repl-query.js +18 -7
  83. package/cli/repl/commands/repl-quit.js +1 -1
  84. package/cli/repl/commands/repl-version.d.ts +1 -16
  85. package/cli/repl/commands/repl-version.js +2 -19
  86. package/cli/repl/core.d.ts +32 -14
  87. package/cli/repl/core.js +38 -35
  88. package/cli/repl/execute.d.ts +0 -2
  89. package/cli/repl/execute.js +0 -2
  90. package/cli/repl/parser/slice-query-parser.d.ts +14 -0
  91. package/cli/repl/parser/slice-query-parser.js +34 -0
  92. package/cli/repl/print-version.d.ts +6 -0
  93. package/cli/repl/print-version.js +8 -2
  94. package/cli/repl/server/compact.d.ts +8 -0
  95. package/cli/repl/server/compact.js +8 -0
  96. package/cli/repl/server/connection.d.ts +4 -3
  97. package/cli/repl/server/connection.js +9 -33
  98. package/cli/repl/server/messages/all-messages.d.ts +1 -3
  99. package/cli/repl/server/messages/all-messages.js +0 -1
  100. package/cli/repl/server/messages/message-analysis.d.ts +0 -2
  101. package/cli/repl/server/messages/message-hello.d.ts +1 -1
  102. package/cli/repl/server/messages/message-query.d.ts +1 -1
  103. package/cli/repl/server/messages/message-repl.d.ts +0 -1
  104. package/cli/repl/server/send.d.ts +6 -0
  105. package/cli/repl/server/send.js +6 -0
  106. package/cli/repl/server/server.d.ts +1 -1
  107. package/cli/repl/server/server.js +2 -2
  108. package/cli/repl/server/validate.d.ts +10 -1
  109. package/cli/repl/server/validate.js +9 -0
  110. package/cli/run-script.d.ts +1 -2
  111. package/cli/run-script.js +0 -1
  112. package/cli/script-core/statistics-core.d.ts +3 -0
  113. package/cli/script-core/statistics-core.js +3 -0
  114. package/cli/script-core/statistics-helper-core.d.ts +4 -1
  115. package/cli/script-core/statistics-helper-core.js +3 -0
  116. package/cli/script-core/summarizer-core.d.ts +3 -0
  117. package/cli/script-core/summarizer-core.js +3 -0
  118. package/cli/summarizer-app.d.ts +2 -3
  119. package/cli/summarizer-app.js +2 -3
  120. package/config.d.ts +17 -3
  121. package/config.js +15 -0
  122. package/control-flow/basic-cfg-guided-visitor.d.ts +1 -2
  123. package/control-flow/basic-cfg-guided-visitor.js +0 -1
  124. package/control-flow/cfg-to-basic-blocks.d.ts +1 -1
  125. package/control-flow/control-flow-graph.d.ts +20 -12
  126. package/control-flow/control-flow-graph.js +16 -4
  127. package/control-flow/dfg-cfg-guided-visitor.d.ts +2 -3
  128. package/control-flow/diff-cfg.d.ts +3 -5
  129. package/control-flow/diff-cfg.js +0 -1
  130. package/control-flow/extract-cfg.d.ts +3 -6
  131. package/control-flow/extract-cfg.js +0 -3
  132. package/control-flow/happens-before.d.ts +1 -1
  133. package/control-flow/semantic-cfg-guided-visitor.d.ts +2 -31
  134. package/control-flow/semantic-cfg-guided-visitor.js +0 -28
  135. package/control-flow/simple-visitor.d.ts +1 -3
  136. package/control-flow/simple-visitor.js +0 -2
  137. package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
  138. package/control-flow/useless-loop.d.ts +0 -3
  139. package/control-flow/useless-loop.js +2 -5
  140. package/core/pipeline-executor.d.ts +8 -16
  141. package/core/pipeline-executor.js +9 -18
  142. package/core/print/dataflow-printer.d.ts +19 -0
  143. package/core/print/dataflow-printer.js +19 -0
  144. package/core/print/normalize-printer.d.ts +21 -1
  145. package/core/print/normalize-printer.js +20 -0
  146. package/core/print/parse-printer.d.ts +6 -1
  147. package/core/print/parse-printer.js +5 -0
  148. package/core/print/print.d.ts +0 -1
  149. package/core/print/print.js +0 -1
  150. package/core/print/slice-diff-ansi.d.ts +3 -0
  151. package/core/print/slice-diff-ansi.js +3 -0
  152. package/core/steps/all/core/00-parse.d.ts +1 -1
  153. package/core/steps/all/core/01-parse-tree-sitter.d.ts +1 -11
  154. package/core/steps/all/core/10-normalize.d.ts +3 -0
  155. package/core/steps/all/core/10-normalize.js +3 -0
  156. package/core/steps/all/core/11-normalize-tree-sitter.d.ts +4 -3
  157. package/core/steps/all/core/20-dataflow.d.ts +3 -1
  158. package/core/steps/pipeline/create-pipeline.d.ts +1 -1
  159. package/core/steps/pipeline/default-pipelines.d.ts +29 -13
  160. package/core/steps/pipeline/default-pipelines.js +0 -4
  161. package/core/steps/pipeline/pipeline.d.ts +1 -8
  162. package/core/steps/pipeline/pipeline.js +1 -3
  163. package/core/steps/pipeline-step.d.ts +0 -1
  164. package/core/steps/pipeline-step.js +0 -1
  165. package/dataflow/cluster.d.ts +3 -0
  166. package/dataflow/cluster.js +3 -0
  167. package/dataflow/environments/append.d.ts +1 -1
  168. package/dataflow/environments/built-in-config.d.ts +1 -5
  169. package/dataflow/environments/built-in-config.js +0 -1
  170. package/dataflow/environments/built-in.d.ts +10 -5
  171. package/dataflow/environments/built-in.js +6 -1
  172. package/dataflow/environments/clone.d.ts +1 -1
  173. package/dataflow/environments/default-builtin-config.d.ts +3 -0
  174. package/dataflow/environments/default-builtin-config.js +12 -1
  175. package/dataflow/environments/diff.d.ts +11 -2
  176. package/dataflow/environments/diff.js +9 -0
  177. package/dataflow/environments/environment.d.ts +3 -3
  178. package/dataflow/environments/environment.js +8 -6
  179. package/dataflow/environments/identifier.d.ts +0 -4
  180. package/dataflow/environments/identifier.js +0 -1
  181. package/dataflow/environments/overwrite.d.ts +4 -1
  182. package/dataflow/environments/overwrite.js +3 -0
  183. package/dataflow/environments/resolve-by-name.d.ts +4 -4
  184. package/dataflow/environments/resolve-by-name.js +3 -2
  185. package/dataflow/environments/scoping.d.ts +4 -1
  186. package/dataflow/environments/scoping.js +3 -0
  187. package/dataflow/eval/resolve/alias-tracking.d.ts +4 -10
  188. package/dataflow/eval/resolve/alias-tracking.js +13 -14
  189. package/dataflow/eval/resolve/resolve-argument.d.ts +1 -1
  190. package/dataflow/eval/resolve/resolve.d.ts +1 -7
  191. package/dataflow/eval/resolve/resolve.js +3 -5
  192. package/dataflow/eval/values/general.d.ts +1 -3
  193. package/dataflow/eval/values/general.js +0 -1
  194. package/dataflow/eval/values/intervals/interval-constants.d.ts +7 -1
  195. package/dataflow/eval/values/intervals/interval-constants.js +6 -0
  196. package/dataflow/eval/values/logical/logical-constants.d.ts +4 -1
  197. package/dataflow/eval/values/logical/logical-constants.js +3 -0
  198. package/dataflow/eval/values/r-value.d.ts +16 -1
  199. package/dataflow/eval/values/r-value.js +14 -0
  200. package/dataflow/eval/values/scalar/scalar-consatnts.d.ts +7 -1
  201. package/dataflow/eval/values/scalar/scalar-consatnts.js +6 -0
  202. package/dataflow/eval/values/sets/set-constants.d.ts +7 -2
  203. package/dataflow/eval/values/sets/set-constants.js +6 -0
  204. package/dataflow/eval/values/string/string-constants.d.ts +10 -1
  205. package/dataflow/eval/values/string/string-constants.js +9 -0
  206. package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
  207. package/dataflow/extractor.d.ts +5 -2
  208. package/dataflow/extractor.js +7 -5
  209. package/dataflow/fn/higher-order-function.d.ts +9 -0
  210. package/dataflow/fn/higher-order-function.js +75 -0
  211. package/dataflow/graph/dataflowgraph-builder.d.ts +20 -38
  212. package/dataflow/graph/dataflowgraph-builder.js +6 -23
  213. package/dataflow/graph/diff-dataflow-graph.d.ts +16 -6
  214. package/dataflow/graph/diff-dataflow-graph.js +12 -1
  215. package/dataflow/graph/edge.d.ts +9 -0
  216. package/dataflow/graph/edge.js +9 -0
  217. package/dataflow/graph/graph.d.ts +6 -19
  218. package/dataflow/graph/graph.js +4 -15
  219. package/dataflow/graph/invert-dfg.d.ts +3 -0
  220. package/dataflow/graph/invert-dfg.js +3 -0
  221. package/dataflow/graph/quads.d.ts +1 -1
  222. package/dataflow/graph/unknown-replacement.d.ts +6 -0
  223. package/dataflow/graph/unknown-replacement.js +6 -0
  224. package/dataflow/graph/unknown-side-effect.d.ts +8 -0
  225. package/dataflow/graph/unknown-side-effect.js +8 -0
  226. package/dataflow/graph/vertex.d.ts +9 -9
  227. package/dataflow/graph/vertex.js +9 -1
  228. package/dataflow/info.d.ts +9 -10
  229. package/dataflow/info.js +6 -1
  230. package/dataflow/internal/linker.d.ts +25 -9
  231. package/dataflow/internal/linker.js +23 -7
  232. package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
  233. package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -0
  234. package/dataflow/internal/process/functions/call/argument/unpack-argument.d.ts +1 -1
  235. package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +4 -1
  236. package/dataflow/internal/process/functions/call/built-in/built-in-access.js +3 -1
  237. package/dataflow/internal/process/functions/call/built-in/built-in-apply.d.ts +4 -1
  238. package/dataflow/internal/process/functions/call/built-in/built-in-apply.js +3 -0
  239. package/dataflow/internal/process/functions/call/built-in/built-in-assignment.d.ts +2 -2
  240. package/dataflow/internal/process/functions/call/built-in/built-in-eval.d.ts +6 -3
  241. package/dataflow/internal/process/functions/call/built-in/built-in-eval.js +3 -0
  242. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.d.ts +4 -1
  243. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +3 -0
  244. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.d.ts +5 -2
  245. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +3 -0
  246. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.d.ts +10 -4
  247. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +6 -0
  248. package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +3 -0
  249. package/dataflow/internal/process/functions/call/built-in/built-in-get.js +3 -0
  250. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.d.ts +5 -2
  251. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +4 -0
  252. package/dataflow/internal/process/functions/call/built-in/built-in-library.d.ts +3 -0
  253. package/dataflow/internal/process/functions/call/built-in/built-in-library.js +3 -0
  254. package/dataflow/internal/process/functions/call/built-in/built-in-list.d.ts +1 -1
  255. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.d.ts +3 -0
  256. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +3 -0
  257. package/dataflow/internal/process/functions/call/built-in/built-in-quote.d.ts +3 -0
  258. package/dataflow/internal/process/functions/call/built-in/built-in-quote.js +3 -0
  259. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +5 -2
  260. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +3 -0
  261. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.d.ts +6 -3
  262. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +3 -1
  263. package/dataflow/internal/process/functions/call/built-in/built-in-rm.d.ts +4 -1
  264. package/dataflow/internal/process/functions/call/built-in/built-in-rm.js +3 -0
  265. package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +23 -6
  266. package/dataflow/internal/process/functions/call/built-in/built-in-source.js +20 -1
  267. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +3 -0
  268. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +3 -0
  269. package/dataflow/internal/process/functions/call/built-in/built-in-vector.d.ts +1 -1
  270. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.d.ts +5 -2
  271. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +3 -0
  272. package/dataflow/internal/process/functions/call/common.d.ts +11 -5
  273. package/dataflow/internal/process/functions/call/common.js +6 -0
  274. package/dataflow/internal/process/functions/call/default-call-handling.d.ts +3 -0
  275. package/dataflow/internal/process/functions/call/default-call-handling.js +3 -0
  276. package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
  277. package/dataflow/internal/process/functions/call/known-call-handling.js +7 -0
  278. package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
  279. package/dataflow/internal/process/functions/call/named-call-handling.js +6 -0
  280. package/dataflow/internal/process/functions/call/unnamed-call-handling.d.ts +4 -1
  281. package/dataflow/internal/process/functions/call/unnamed-call-handling.js +3 -0
  282. package/dataflow/internal/process/functions/process-argument.d.ts +8 -2
  283. package/dataflow/internal/process/functions/process-argument.js +6 -0
  284. package/dataflow/internal/process/functions/process-parameter.d.ts +5 -2
  285. package/dataflow/internal/process/functions/process-parameter.js +3 -0
  286. package/dataflow/internal/process/process-symbol.d.ts +3 -0
  287. package/dataflow/internal/process/process-symbol.js +3 -0
  288. package/dataflow/internal/process/process-uninteresting-leaf.d.ts +3 -0
  289. package/dataflow/internal/process/process-uninteresting-leaf.js +3 -0
  290. package/dataflow/internal/process/process-value.d.ts +3 -0
  291. package/dataflow/internal/process/process-value.js +3 -0
  292. package/dataflow/origin/dfg-get-origin.d.ts +0 -2
  293. package/dataflow/origin/dfg-get-symbol-refs.d.ts +5 -7
  294. package/dataflow/origin/dfg-get-symbol-refs.js +6 -8
  295. package/dataflow/processor.d.ts +0 -1
  296. package/dataflow/processor.js +0 -1
  297. package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -0
  298. package/documentation/data/dfg/doc-data-dfg-util.js +6 -0
  299. package/documentation/data/faq/faqs.d.ts +5 -0
  300. package/documentation/data/faq/faqs.js +78 -0
  301. package/documentation/data/faq/wiki-faq-store.d.ts +18 -0
  302. package/documentation/data/faq/wiki-faq-store.js +75 -0
  303. package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
  304. package/documentation/data/server/doc-data-server-messages.js +4 -63
  305. package/documentation/doc-util/doc-auto-gen.d.ts +6 -0
  306. package/documentation/doc-util/doc-auto-gen.js +6 -0
  307. package/documentation/doc-util/doc-benchmarks.d.ts +12 -0
  308. package/documentation/doc-util/doc-benchmarks.js +12 -0
  309. package/documentation/doc-util/doc-cfg.d.ts +7 -1
  310. package/documentation/doc-util/doc-cfg.js +9 -0
  311. package/documentation/doc-util/doc-cli-option.d.ts +9 -0
  312. package/documentation/doc-util/doc-cli-option.js +9 -0
  313. package/documentation/doc-util/doc-code.d.ts +24 -0
  314. package/documentation/doc-util/doc-code.js +24 -0
  315. package/documentation/doc-util/doc-dfg.d.ts +7 -1
  316. package/documentation/doc-util/doc-dfg.js +9 -0
  317. package/documentation/doc-util/doc-env.d.ts +3 -0
  318. package/documentation/doc-util/doc-env.js +3 -0
  319. package/documentation/doc-util/doc-escape.d.ts +0 -1
  320. package/documentation/doc-util/doc-escape.js +0 -1
  321. package/documentation/doc-util/doc-files.d.ts +11 -0
  322. package/documentation/doc-util/doc-files.js +15 -4
  323. package/documentation/doc-util/doc-general.d.ts +6 -0
  324. package/documentation/doc-util/doc-general.js +6 -0
  325. package/documentation/doc-util/doc-normalized-ast.d.ts +7 -1
  326. package/documentation/doc-util/doc-normalized-ast.js +6 -0
  327. package/documentation/doc-util/doc-query.d.ts +15 -0
  328. package/documentation/doc-util/doc-query.js +17 -2
  329. package/documentation/doc-util/doc-repl.d.ts +6 -0
  330. package/documentation/doc-util/doc-repl.js +11 -2
  331. package/documentation/doc-util/doc-search.d.ts +15 -0
  332. package/documentation/doc-util/doc-search.js +17 -2
  333. package/documentation/doc-util/doc-server-message.d.ts +13 -1
  334. package/documentation/doc-util/doc-server-message.js +13 -1
  335. package/documentation/doc-util/doc-structure.d.ts +9 -0
  336. package/documentation/doc-util/doc-structure.js +10 -1
  337. package/documentation/doc-util/doc-types.d.ts +42 -0
  338. package/documentation/doc-util/doc-types.js +42 -0
  339. package/documentation/print-analyzer-wiki.js +4 -0
  340. package/documentation/print-core-wiki.d.ts +3 -0
  341. package/documentation/print-core-wiki.js +5 -2
  342. package/documentation/print-dataflow-graph-wiki.js +7 -7
  343. package/documentation/print-faq-wiki.js +3 -75
  344. package/documentation/print-interface-wiki.js +1 -1
  345. package/documentation/print-onboarding-wiki.js +1 -1
  346. package/documentation/print-query-wiki.js +24 -34
  347. package/documentation/print-readme.js +106 -1
  348. package/engines.d.ts +1 -1
  349. package/linter/linter-executor.d.ts +6 -3
  350. package/linter/linter-executor.js +3 -0
  351. package/linter/linter-format.d.ts +8 -0
  352. package/linter/linter-format.js +8 -0
  353. package/linter/rules/absolute-path.d.ts +3 -4
  354. package/linter/rules/dataframe-access-validation.d.ts +3 -4
  355. package/linter/rules/dataframe-access-validation.js +9 -11
  356. package/linter/rules/dead-code.d.ts +1 -1
  357. package/linter/rules/deprecated-functions.d.ts +1 -1
  358. package/linter/rules/file-path-validity.d.ts +1 -2
  359. package/linter/rules/function-finder-util.d.ts +1 -2
  360. package/linter/rules/naming-convention.d.ts +13 -2
  361. package/linter/rules/naming-convention.js +13 -1
  362. package/linter/rules/network-functions.d.ts +1 -1
  363. package/linter/rules/seeded-randomness.d.ts +1 -2
  364. package/linter/rules/unused-definition.d.ts +2 -3
  365. package/linter/rules/useless-loop.d.ts +1 -2
  366. package/package.json +2 -2
  367. package/project/cache/flowr-analyzer-cache.d.ts +8 -14
  368. package/project/cache/flowr-analyzer-cache.js +21 -19
  369. package/project/cfg-kind.d.ts +17 -0
  370. package/project/cfg-kind.js +22 -0
  371. package/project/context/abstract-flowr-analyzer-context.d.ts +4 -0
  372. package/project/context/flowr-analyzer-context.d.ts +9 -6
  373. package/project/context/flowr-analyzer-context.js +11 -0
  374. package/project/context/flowr-analyzer-dependencies-context.d.ts +1 -1
  375. package/project/context/flowr-analyzer-dependencies-context.js +4 -0
  376. package/project/context/flowr-analyzer-files-context.d.ts +3 -4
  377. package/project/context/flowr-analyzer-files-context.js +4 -0
  378. package/project/context/flowr-analyzer-loading-order-context.d.ts +1 -0
  379. package/project/context/flowr-analyzer-loading-order-context.js +6 -0
  380. package/project/context/flowr-file.d.ts +0 -1
  381. package/project/flowr-analyzer-builder.d.ts +1 -3
  382. package/project/flowr-analyzer-builder.js +5 -6
  383. package/project/flowr-analyzer.d.ts +42 -32
  384. package/project/flowr-analyzer.js +14 -8
  385. package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +1 -1
  386. package/project/plugins/file-plugins/flowr-description-file.d.ts +1 -3
  387. package/project/plugins/file-plugins/flowr-description-file.js +0 -1
  388. package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.d.ts +1 -1
  389. package/queries/base-query-format.d.ts +2 -2
  390. package/queries/catalog/call-context-query/call-context-query-executor.d.ts +3 -0
  391. package/queries/catalog/call-context-query/call-context-query-executor.js +5 -1
  392. package/queries/catalog/call-context-query/call-context-query-format.d.ts +3 -3
  393. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.d.ts +11 -2
  394. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +9 -0
  395. package/queries/catalog/cluster-query/cluster-query-executor.d.ts +3 -0
  396. package/queries/catalog/cluster-query/cluster-query-executor.js +3 -0
  397. package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
  398. package/queries/catalog/config-query/config-query-executor.d.ts +3 -0
  399. package/queries/catalog/config-query/config-query-executor.js +3 -0
  400. package/queries/catalog/config-query/config-query-format.d.ts +6 -3
  401. package/queries/catalog/config-query/config-query-format.js +13 -16
  402. package/queries/catalog/control-flow-query/control-flow-query-executor.d.ts +3 -0
  403. package/queries/catalog/control-flow-query/control-flow-query-executor.js +5 -1
  404. package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +3 -3
  405. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.d.ts +3 -0
  406. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.js +3 -0
  407. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
  408. package/queries/catalog/dataflow-query/dataflow-query-executor.d.ts +3 -0
  409. package/queries/catalog/dataflow-query/dataflow-query-executor.js +3 -0
  410. package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
  411. package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +4 -1
  412. package/queries/catalog/dependencies-query/dependencies-query-executor.js +7 -4
  413. package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +4 -1
  414. package/queries/catalog/dependencies-query/dependencies-query-format.js +4 -1
  415. package/queries/catalog/df-shape-query/df-shape-query-executor.d.ts +4 -1
  416. package/queries/catalog/df-shape-query/df-shape-query-executor.js +8 -4
  417. package/queries/catalog/df-shape-query/df-shape-query-format.d.ts +10 -3
  418. package/queries/catalog/df-shape-query/df-shape-query-format.js +24 -5
  419. package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +3 -0
  420. package/queries/catalog/happens-before-query/happens-before-query-executor.js +3 -0
  421. package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
  422. package/queries/catalog/id-map-query/id-map-query-executor.d.ts +3 -0
  423. package/queries/catalog/id-map-query/id-map-query-executor.js +3 -0
  424. package/queries/catalog/id-map-query/id-map-query-format.d.ts +1 -1
  425. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.d.ts +6 -0
  426. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +48 -0
  427. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +22 -0
  428. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.js +32 -0
  429. package/queries/catalog/linter-query/linter-query-executor.d.ts +4 -0
  430. package/queries/catalog/linter-query/linter-query-executor.js +4 -0
  431. package/queries/catalog/linter-query/linter-query-format.d.ts +12 -3
  432. package/queries/catalog/linter-query/linter-query-format.js +67 -0
  433. package/queries/catalog/location-map-query/location-map-query-executor.d.ts +4 -0
  434. package/queries/catalog/location-map-query/location-map-query-executor.js +5 -1
  435. package/queries/catalog/location-map-query/location-map-query-format.d.ts +7 -1
  436. package/queries/catalog/location-map-query/location-map-query-format.js +12 -0
  437. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.d.ts +3 -0
  438. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.js +3 -0
  439. package/queries/catalog/normalized-ast-query/normalized-ast-query-format.d.ts +1 -1
  440. package/queries/catalog/origin-query/origin-query-executor.d.ts +7 -1
  441. package/queries/catalog/origin-query/origin-query-executor.js +6 -0
  442. package/queries/catalog/origin-query/origin-query-format.d.ts +7 -1
  443. package/queries/catalog/origin-query/origin-query-format.js +17 -1
  444. package/queries/catalog/project-query/project-query-executor.d.ts +3 -0
  445. package/queries/catalog/project-query/project-query-executor.js +3 -0
  446. package/queries/catalog/project-query/project-query-format.d.ts +1 -1
  447. package/queries/catalog/resolve-value-query/resolve-value-query-executor.d.ts +6 -0
  448. package/queries/catalog/resolve-value-query/resolve-value-query-executor.js +6 -0
  449. package/queries/catalog/resolve-value-query/resolve-value-query-format.d.ts +7 -1
  450. package/queries/catalog/resolve-value-query/resolve-value-query-format.js +19 -1
  451. package/queries/catalog/search-query/search-query-executor.d.ts +3 -0
  452. package/queries/catalog/search-query/search-query-executor.js +3 -0
  453. package/queries/catalog/search-query/search-query-format.d.ts +1 -1
  454. package/queries/catalog/static-slice-query/static-slice-query-executor.d.ts +9 -0
  455. package/queries/catalog/static-slice-query/static-slice-query-executor.js +9 -0
  456. package/queries/catalog/static-slice-query/static-slice-query-format.d.ts +7 -1
  457. package/queries/catalog/static-slice-query/static-slice-query-format.js +17 -0
  458. package/queries/query-print.d.ts +20 -4
  459. package/queries/query-print.js +18 -2
  460. package/queries/query.d.ts +91 -53
  461. package/queries/query.js +37 -23
  462. package/queries/virtual-query/virtual-queries.d.ts +1 -2
  463. package/r-bridge/data/get.d.ts +6 -0
  464. package/r-bridge/data/get.js +6 -0
  465. package/r-bridge/lang-4.x/ast/model/collect.d.ts +0 -1
  466. package/r-bridge/lang-4.x/ast/model/collect.js +0 -1
  467. package/r-bridge/lang-4.x/ast/model/model.d.ts +8 -11
  468. package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.d.ts +0 -2
  469. package/r-bridge/lang-4.x/ast/model/nodes/r-number.d.ts +3 -0
  470. package/r-bridge/lang-4.x/ast/model/nodes/r-number.js +3 -0
  471. package/r-bridge/lang-4.x/ast/model/nodes/r-string.d.ts +3 -0
  472. package/r-bridge/lang-4.x/ast/model/nodes/r-string.js +3 -0
  473. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.d.ts +3 -0
  474. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.js +3 -0
  475. package/r-bridge/lang-4.x/ast/model/operators.d.ts +0 -1
  476. package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +6 -7
  477. package/r-bridge/lang-4.x/ast/model/processing/decorate.js +6 -6
  478. package/r-bridge/lang-4.x/ast/model/processing/fold.d.ts +1 -1
  479. package/r-bridge/lang-4.x/ast/model/processing/node-id.d.ts +0 -1
  480. package/r-bridge/lang-4.x/ast/model/processing/node-id.js +0 -1
  481. package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +0 -1
  482. package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.d.ts +1 -2
  483. package/r-bridge/lang-4.x/ast/model/processing/visitor.d.ts +0 -1
  484. package/r-bridge/lang-4.x/ast/model/processing/visitor.js +0 -1
  485. package/r-bridge/lang-4.x/ast/model/type.d.ts +4 -5
  486. package/r-bridge/lang-4.x/ast/model/type.js +4 -5
  487. package/r-bridge/lang-4.x/ast/model/versions.d.ts +0 -1
  488. package/r-bridge/lang-4.x/ast/model/versions.js +0 -1
  489. package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +4 -5
  490. package/r-bridge/lang-4.x/ast/parser/json/parser.js +0 -1
  491. package/r-bridge/lang-4.x/ast/parser/main/internal/control/normalize-if-then.d.ts +1 -1
  492. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.d.ts +0 -1
  493. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.js +0 -1
  494. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.d.ts +0 -2
  495. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.js +0 -2
  496. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.d.ts +1 -3
  497. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.js +0 -2
  498. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.d.ts +0 -2
  499. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.js +0 -2
  500. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.d.ts +0 -2
  501. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.js +0 -2
  502. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.d.ts +3 -0
  503. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.js +3 -0
  504. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.d.ts +4 -1
  505. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.js +3 -0
  506. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.d.ts +3 -0
  507. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.js +3 -0
  508. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.d.ts +0 -2
  509. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.js +0 -2
  510. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.d.ts +4 -1
  511. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.js +3 -0
  512. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.d.ts +0 -2
  513. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.js +0 -2
  514. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-binary.d.ts +1 -1
  515. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.d.ts +0 -2
  516. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.js +0 -2
  517. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.d.ts +0 -1
  518. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.js +0 -1
  519. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.d.ts +0 -1
  520. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.js +0 -1
  521. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.d.ts +3 -0
  522. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.js +3 -0
  523. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.d.ts +9 -0
  524. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.js +9 -0
  525. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.d.ts +1 -3
  526. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.js +0 -2
  527. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.d.ts +1 -2
  528. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.js +0 -1
  529. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.d.ts +0 -1
  530. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.js +0 -1
  531. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.d.ts +0 -2
  532. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.js +0 -2
  533. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.d.ts +14 -5
  534. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.js +13 -6
  535. package/r-bridge/lang-4.x/convert-values.d.ts +12 -1
  536. package/r-bridge/lang-4.x/convert-values.js +12 -1
  537. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.d.ts +7 -2
  538. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.js +17 -0
  539. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +13 -1
  540. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +48 -19
  541. package/r-bridge/parser.d.ts +30 -2
  542. package/r-bridge/retriever.d.ts +16 -1
  543. package/r-bridge/retriever.js +15 -0
  544. package/r-bridge/shell-executor.d.ts +3 -3
  545. package/r-bridge/shell-executor.js +6 -1
  546. package/r-bridge/shell.d.ts +24 -23
  547. package/r-bridge/shell.js +37 -31
  548. package/reconstruct/auto-select/auto-select-defaults.d.ts +0 -1
  549. package/reconstruct/auto-select/magic-comments.d.ts +1 -2
  550. package/reconstruct/auto-select/magic-comments.js +1 -2
  551. package/reconstruct/reconstruct.d.ts +1 -3
  552. package/reconstruct/reconstruct.js +0 -2
  553. package/search/flowr-search-builder.d.ts +12 -5
  554. package/search/flowr-search-builder.js +7 -2
  555. package/search/flowr-search-executor.d.ts +3 -3
  556. package/search/flowr-search-filters.d.ts +14 -1
  557. package/search/flowr-search-filters.js +13 -0
  558. package/search/flowr-search-printer.d.ts +6 -0
  559. package/search/flowr-search-printer.js +6 -0
  560. package/search/flowr-search-traverse.d.ts +1 -1
  561. package/search/flowr-search.d.ts +3 -3
  562. package/search/search-executor/search-enrichers.d.ts +9 -6
  563. package/search/search-executor/search-enrichers.js +5 -1
  564. package/search/search-executor/search-generators.d.ts +19 -10
  565. package/search/search-executor/search-generators.js +49 -2
  566. package/search/search-executor/search-mappers.d.ts +8 -5
  567. package/search/search-executor/search-mappers.js +3 -0
  568. package/search/search-executor/search-transformer.d.ts +19 -16
  569. package/search/search-executor/search-transformer.js +3 -0
  570. package/slicing/criterion/collect-all.d.ts +10 -10
  571. package/slicing/criterion/parse.d.ts +4 -2
  572. package/slicing/criterion/parse.js +4 -2
  573. package/slicing/static/fingerprint.d.ts +9 -1
  574. package/slicing/static/fingerprint.js +8 -0
  575. package/slicing/static/slice-call.d.ts +2 -2
  576. package/slicing/static/static-slicer.d.ts +8 -4
  577. package/slicing/static/static-slicer.js +5 -1
  578. package/slicing/static/visiting-queue.d.ts +1 -1
  579. package/statistics/features/common-syntax-probability.d.ts +10 -1
  580. package/statistics/features/common-syntax-probability.js +9 -0
  581. package/statistics/features/feature.d.ts +0 -4
  582. package/statistics/features/feature.js +0 -1
  583. package/statistics/features/post-processing.d.ts +6 -0
  584. package/statistics/features/post-processing.js +6 -0
  585. package/statistics/features/supported/assignments/post-process.d.ts +3 -0
  586. package/statistics/features/supported/assignments/post-process.js +3 -0
  587. package/statistics/features/supported/comments/post-process.d.ts +3 -0
  588. package/statistics/features/supported/comments/post-process.js +3 -0
  589. package/statistics/features/supported/control-flow/post-process.d.ts +3 -0
  590. package/statistics/features/supported/control-flow/post-process.js +3 -0
  591. package/statistics/features/supported/data-access/data-access.d.ts +1 -1
  592. package/statistics/features/supported/data-access/post-process.d.ts +3 -0
  593. package/statistics/features/supported/data-access/post-process.js +3 -0
  594. package/statistics/features/supported/defined-functions/defined-functions.d.ts +1 -1
  595. package/statistics/features/supported/expression-list/post-process.d.ts +3 -0
  596. package/statistics/features/supported/expression-list/post-process.js +3 -0
  597. package/statistics/features/supported/loops/post-process.d.ts +3 -0
  598. package/statistics/features/supported/loops/post-process.js +3 -0
  599. package/statistics/features/supported/used-functions/used-functions.d.ts +1 -1
  600. package/statistics/features/supported/used-packages/post-process.d.ts +3 -0
  601. package/statistics/features/supported/used-packages/post-process.js +3 -0
  602. package/statistics/features/supported/values/post-process.d.ts +3 -0
  603. package/statistics/features/supported/values/post-process.js +3 -0
  604. package/statistics/features/supported/variables/post-process.d.ts +7 -1
  605. package/statistics/features/supported/variables/post-process.js +6 -0
  606. package/statistics/meta-statistics.d.ts +8 -9
  607. package/statistics/output/file-provider.d.ts +5 -6
  608. package/statistics/output/file-provider.js +5 -6
  609. package/statistics/output/print-stats.d.ts +13 -1
  610. package/statistics/output/print-stats.js +12 -0
  611. package/statistics/output/statistics-file.d.ts +1 -2
  612. package/statistics/output/statistics-file.js +0 -1
  613. package/statistics/statistics.d.ts +3 -4
  614. package/statistics/statistics.js +1 -2
  615. package/statistics/summarizer/auto-detect.d.ts +3 -0
  616. package/statistics/summarizer/auto-detect.js +3 -0
  617. package/statistics/summarizer/post-process/clusterer.d.ts +3 -4
  618. package/statistics/summarizer/post-process/clusterer.js +0 -2
  619. package/statistics/summarizer/post-process/file-based-count.d.ts +0 -1
  620. package/statistics/summarizer/post-process/file-based-count.js +0 -1
  621. package/statistics/summarizer/post-process/histogram.d.ts +0 -2
  622. package/statistics/summarizer/post-process/histogram.js +0 -2
  623. package/statistics/summarizer/post-process/post-process-output.d.ts +2 -4
  624. package/statistics/summarizer/post-process/post-process-output.js +0 -3
  625. package/statistics/summarizer/second-phase/process.d.ts +5 -3
  626. package/statistics/summarizer/second-phase/process.js +3 -1
  627. package/statistics/summarizer/summarizer.d.ts +1 -2
  628. package/util/assert.d.ts +52 -2
  629. package/util/assert.js +52 -2
  630. package/util/collections/arrays.d.ts +10 -5
  631. package/util/collections/arrays.js +10 -5
  632. package/util/collections/defaultmap.d.ts +11 -11
  633. package/util/collections/defaultmap.js +11 -11
  634. package/util/containers.d.ts +2 -7
  635. package/util/containers.js +0 -5
  636. package/util/diff-graph.d.ts +0 -1
  637. package/util/diff-graph.js +0 -1
  638. package/util/diff.d.ts +3 -1
  639. package/util/diff.js +3 -1
  640. package/util/files.d.ts +11 -11
  641. package/util/files.js +10 -10
  642. package/util/formats/adapter.d.ts +9 -0
  643. package/util/formats/adapter.js +9 -0
  644. package/util/formats/adapters/rmd-adapter.d.ts +10 -1
  645. package/util/formats/adapters/rmd-adapter.js +10 -1
  646. package/util/html-hover-over.d.ts +5 -0
  647. package/util/html-hover-over.js +5 -0
  648. package/util/json.d.ts +13 -0
  649. package/util/json.js +13 -0
  650. package/util/log.d.ts +2 -2
  651. package/util/log.js +2 -2
  652. package/util/mermaid/ast.d.ts +3 -0
  653. package/util/mermaid/ast.js +3 -0
  654. package/util/mermaid/cfg.d.ts +1 -1
  655. package/util/mermaid/dfg.d.ts +12 -4
  656. package/util/mermaid/dfg.js +9 -1
  657. package/util/mermaid/mermaid.d.ts +6 -1
  658. package/util/mermaid/mermaid.js +6 -1
  659. package/util/numbers.d.ts +7 -0
  660. package/util/numbers.js +7 -0
  661. package/util/objects.d.ts +0 -2
  662. package/util/os.d.ts +3 -0
  663. package/util/os.js +3 -0
  664. package/util/parallel.d.ts +4 -4
  665. package/util/parallel.js +4 -4
  666. package/util/prefix.d.ts +0 -1
  667. package/util/prefix.js +0 -1
  668. package/util/quads.d.ts +14 -17
  669. package/util/quads.js +3 -5
  670. package/util/r-value.d.ts +11 -2
  671. package/util/r-value.js +23 -0
  672. package/util/random.d.ts +3 -0
  673. package/util/random.js +3 -0
  674. package/util/range.d.ts +9 -3
  675. package/util/range.js +15 -2
  676. package/util/schema.d.ts +14 -1
  677. package/util/schema.js +15 -2
  678. package/util/simple-df/dfg-view.d.ts +4 -1
  679. package/util/simple-df/dfg-view.js +4 -1
  680. package/util/summarizer.d.ts +9 -1
  681. package/util/summarizer.js +9 -0
  682. package/util/text/ansi.d.ts +3 -0
  683. package/util/text/ansi.js +3 -0
  684. package/util/text/args.d.ts +2 -4
  685. package/util/text/args.js +7 -5
  686. package/util/text/text.d.ts +4 -0
  687. package/util/text/text.js +4 -0
  688. package/util/text/time.d.ts +0 -1
  689. package/util/text/time.js +0 -1
  690. package/util/version.d.ts +26 -0
  691. package/util/version.js +37 -1
  692. package/abstract-interpretation/data-frame/domain.d.ts +0 -107
  693. package/abstract-interpretation/data-frame/domain.js +0 -315
  694. package/abstract-interpretation/domains/set-bounded-set-domain.d.ts +0 -43
  695. package/abstract-interpretation/domains/set-bounded-set-domain.js +0 -164
  696. package/cli/repl/commands/repl-lineage.d.ts +0 -15
  697. package/cli/repl/commands/repl-lineage.js +0 -67
  698. package/cli/repl/server/messages/message-lineage.d.ts +0 -17
  699. package/cli/repl/server/messages/message-lineage.js +0 -25
  700. package/queries/catalog/lineage-query/lineage-query-executor.d.ts +0 -3
  701. package/queries/catalog/lineage-query/lineage-query-executor.js +0 -22
  702. package/queries/catalog/lineage-query/lineage-query-format.d.ts +0 -22
  703. package/queries/catalog/lineage-query/lineage-query-format.js +0 -31
@@ -11,6 +11,9 @@ const numbers_1 = require("../../util/numbers");
11
11
  const summarizer_1 = require("../../util/summarizer");
12
12
  const convert_values_1 = require("../../r-bridge/lang-4.x/convert-values");
13
13
  const type_1 = require("../../r-bridge/lang-4.x/ast/model/type");
14
+ /**
15
+ *
16
+ */
14
17
  function emptyCommonSyntaxTypeCounts(init = () => 0n) {
15
18
  return {
16
19
  total: init(),
@@ -115,6 +118,9 @@ function appendRecord(a, b) {
115
118
  get.push([(0, numbers_1.bigint2number)(val)]);
116
119
  }
117
120
  }
121
+ /**
122
+ *
123
+ */
118
124
  function appendCommonSyntaxTypeCounter(a, b) {
119
125
  a.total.push([(0, numbers_1.bigint2number)(b.total)]);
120
126
  a.empty.push([(0, numbers_1.bigint2number)(b.empty)]);
@@ -136,6 +142,9 @@ function appendCommonSyntaxTypeCounter(a, b) {
136
142
  function summarizeRecord(a) {
137
143
  return Object.fromEntries(Object.entries(a).map(([key, val]) => [key, (0, summarizer_1.summarizeMeasurement)(val.flat(), val.length)]));
138
144
  }
145
+ /**
146
+ *
147
+ */
139
148
  function summarizeCommonSyntaxTypeCounter(a) {
140
149
  return {
141
150
  total: (0, summarizer_1.summarizeMeasurement)(a.total.flat(), a.total.length),
@@ -2,7 +2,6 @@
2
2
  * This module holds the definition of what a {@link Feature} that can be extracted from an R AST is.
3
3
  *
4
4
  * Furthermore, it contains the definition of all features that are known in {@link ALL_FEATURES}.
5
- *
6
5
  * @module
7
6
  */
8
7
  import type { EvalOptions } from 'xpath-ts2/src/parse-api';
@@ -38,9 +37,7 @@ export interface FeatureProcessorInput extends MergeableRecord {
38
37
  export type FeatureProcessor<T extends FeatureInfo> = (existing: T, input: FeatureProcessorInput) => T;
39
38
  /**
40
39
  * A feature is something to be retrieved by the statistics.
41
- *
42
40
  * @typeParam T - The type of what should be collected for the feature
43
- *
44
41
  * @see ALL_FEATURES
45
42
  */
46
43
  export interface Feature<T extends FeatureInfo> {
@@ -54,7 +51,6 @@ export interface Feature<T extends FeatureInfo> {
54
51
  * If present, this feature allows to post-process the results of the feature extraction (for the summarizer).
55
52
  * <p>
56
53
  * The extraction can use the output path to write files to, and should return the final output.
57
- *
58
54
  * @param featureRoot - The root path to the feature directory which should contain all the files the feature can write to (already merged for every file processed)
59
55
  * @param info - The feature statistic maps each file name/context encountered to the feature information as well as the meta statistics for the file
60
56
  * @param outputPath - The path to write the output to (besides what is collected in the output and meta information)
@@ -3,7 +3,6 @@
3
3
  * This module holds the definition of what a {@link Feature} that can be extracted from an R AST is.
4
4
  *
5
5
  * Furthermore, it contains the definition of all features that are known in {@link ALL_FEATURES}.
6
- *
7
6
  * @module
8
7
  */
9
8
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -5,8 +5,14 @@ export interface SummarizedWithProject<Uniques = Set<string>, Count = number[]>
5
5
  uniqueFiles: Uniques;
6
6
  count: Count;
7
7
  }
8
+ /**
9
+ *
10
+ */
8
11
  export declare function emptySummarizedWithProject(): SummarizedWithProject;
9
12
  export type ReplaceKeysForSummary<Source, Target> = MergeableRecord & {
10
13
  [K in keyof Source]: Target;
11
14
  };
15
+ /**
16
+ *
17
+ */
12
18
  export declare function recordFilePath(summarize: SummarizedWithProject, filepath: string, config: StatisticsSummarizerConfiguration): void;
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.emptySummarizedWithProject = emptySummarizedWithProject;
7
7
  exports.recordFilePath = recordFilePath;
8
8
  const path_1 = __importDefault(require("path"));
9
+ /**
10
+ *
11
+ */
9
12
  function emptySummarizedWithProject() {
10
13
  return {
11
14
  uniqueProjects: new Set(),
@@ -13,6 +16,9 @@ function emptySummarizedWithProject() {
13
16
  count: []
14
17
  };
15
18
  }
19
+ /**
20
+ *
21
+ */
16
22
  function recordFilePath(summarize, filepath, config) {
17
23
  summarize.uniqueFiles.add(filepath);
18
24
  summarize.uniqueProjects.add(filepath.split(path_1.default.sep)[config.projectSkip] ?? '');
@@ -1,3 +1,6 @@
1
1
  import type { FeatureStatisticsWithMeta } from '../../feature';
2
2
  import type { StatisticsSummarizerConfiguration } from '../../../summarizer/summarizer';
3
+ /**
4
+ *
5
+ */
3
6
  export declare function postProcess(featureRoot: string, info: Map<string, FeatureStatisticsWithMeta>, outputPath: string, config: StatisticsSummarizerConfiguration): void;
@@ -101,6 +101,9 @@ function writeAssignmentOperatorsToCsv(outputPath, collected) {
101
101
  }
102
102
  fnOutStream.close();
103
103
  }
104
+ /**
105
+ *
106
+ */
104
107
  function postProcess(featureRoot, info, outputPath, config) {
105
108
  const collected = {
106
109
  assignmentOperator: {},
@@ -1,3 +1,6 @@
1
1
  import type { FeatureStatisticsWithMeta } from '../../feature';
2
2
  import type { StatisticsSummarizerConfiguration } from '../../../summarizer/summarizer';
3
+ /**
4
+ *
5
+ */
3
6
  export declare function postProcess(featureRoot: string, info: Map<string, FeatureStatisticsWithMeta>, outputPath: string, config: StatisticsSummarizerConfiguration): void;
@@ -30,6 +30,9 @@ function mapComments(data, fn) {
30
30
  }
31
31
  return collected;
32
32
  }
33
+ /**
34
+ *
35
+ */
33
36
  function postProcess(featureRoot, info, outputPath, config) {
34
37
  // for each we collect the count and the number of files that contain them
35
38
  const collected = mapComments(comments_1.initialCommentInfo, initialCommentsMeta);
@@ -1,3 +1,6 @@
1
1
  import type { FeatureStatisticsWithMeta } from '../../feature';
2
2
  import type { StatisticsSummarizerConfiguration } from '../../../summarizer/summarizer';
3
+ /**
4
+ *
5
+ */
3
6
  export declare function postProcess(featureRoot: string, info: Map<string, FeatureStatisticsWithMeta>, outputPath: string, config: StatisticsSummarizerConfiguration): void;
@@ -9,6 +9,9 @@ const post_processing_1 = require("../../post-processing");
9
9
  const fs_1 = __importDefault(require("fs"));
10
10
  const path_1 = __importDefault(require("path"));
11
11
  const summarizer_1 = require("../../../../util/summarizer");
12
+ /**
13
+ *
14
+ */
12
15
  function postProcess(featureRoot, info, outputPath, config) {
13
16
  const collected = {
14
17
  ifThen: (0, common_syntax_probability_1.emptyCommonSyntaxTypeCounts)(() => []),
@@ -1,6 +1,6 @@
1
1
  import type { Feature } from '../../feature';
2
2
  import type { Writable } from 'ts-essentials';
3
- import type { CommonSyntaxTypeCounts } from '../../common-syntax-probability';
3
+ import { type CommonSyntaxTypeCounts } from '../../common-syntax-probability';
4
4
  declare const initialDataAccessInfo: {
5
5
  singleBracket: Record<number, bigint | CommonSyntaxTypeCounts>;
6
6
  doubleBracket: Record<number, bigint | CommonSyntaxTypeCounts>;
@@ -1,3 +1,6 @@
1
1
  import type { FeatureStatisticsWithMeta } from '../../feature';
2
2
  import type { StatisticsSummarizerConfiguration } from '../../../summarizer/summarizer';
3
+ /**
4
+ *
5
+ */
3
6
  export declare function postProcess(featureRoot: string, info: Map<string, FeatureStatisticsWithMeta>, outputPath: string, config: StatisticsSummarizerConfiguration): void;
@@ -67,6 +67,9 @@ function writeSingleOrDoubleBrackets(data, outputPath, key) {
67
67
  }
68
68
  }
69
69
  }
70
+ /**
71
+ *
72
+ */
70
73
  function postProcess(featureRoot, info, outputPath, config) {
71
74
  const summarize = {
72
75
  singleBracket: new Map(),
@@ -1,7 +1,7 @@
1
1
  import type { Feature } from '../../feature';
2
2
  import type { Writable } from 'ts-essentials';
3
3
  import type { MergeableRecord } from '../../../../util/objects';
4
- import type { SourcePosition } from '../../../../util/range';
4
+ import { type SourcePosition } from '../../../../util/range';
5
5
  declare const initialFunctionDefinitionInfo: {
6
6
  /** all, anonymous, assigned, non-assigned, ... */
7
7
  total: number;
@@ -1,3 +1,6 @@
1
1
  import type { FeatureStatisticsWithMeta } from '../../feature';
2
2
  import type { StatisticsSummarizerConfiguration } from '../../../summarizer/summarizer';
3
+ /**
4
+ *
5
+ */
3
6
  export declare function postProcess(featureRoot: string, info: Map<string, FeatureStatisticsWithMeta>, outputPath: string, config: StatisticsSummarizerConfiguration): void;
@@ -8,6 +8,9 @@ const post_processing_1 = require("../../post-processing");
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const path_1 = __importDefault(require("path"));
10
10
  const summarizer_1 = require("../../../../util/summarizer");
11
+ /**
12
+ *
13
+ */
11
14
  function postProcess(featureRoot, info, outputPath, config) {
12
15
  const collected = {};
13
16
  const deepestNestingOut = fs_1.default.createWriteStream(path_1.default.join(outputPath, 'deepest-nesting-per-file.csv'));
@@ -1,3 +1,6 @@
1
1
  import type { FeatureStatisticsWithMeta } from '../../feature';
2
2
  import type { StatisticsSummarizerConfiguration } from '../../../summarizer/summarizer';
3
+ /**
4
+ *
5
+ */
3
6
  export declare function postProcess(featureRoot: string, info: Map<string, FeatureStatisticsWithMeta>, outputPath: string, config: StatisticsSummarizerConfiguration): void;
@@ -10,6 +10,9 @@ const path_1 = __importDefault(require("path"));
10
10
  const fs_1 = __importDefault(require("fs"));
11
11
  const numbers_1 = require("../../../../util/numbers");
12
12
  const summarizer_1 = require("../../../../util/summarizer");
13
+ /**
14
+ *
15
+ */
13
16
  function postProcess(featureRoot, info, outputPath, config) {
14
17
  const collected = {
15
18
  forLoops: (0, common_syntax_probability_1.emptyCommonSyntaxTypeCounts)(() => []),
@@ -1,6 +1,6 @@
1
1
  import type { Feature } from '../../feature';
2
2
  import type { Writable } from 'ts-essentials';
3
- import type { CommonSyntaxTypeCounts } from '../../common-syntax-probability';
3
+ import { type CommonSyntaxTypeCounts } from '../../common-syntax-probability';
4
4
  declare const initialFunctionUsageInfo: {
5
5
  allFunctionCalls: number;
6
6
  args: Record<number, bigint | CommonSyntaxTypeCounts>;
@@ -1,3 +1,6 @@
1
1
  import type { FeatureStatisticsWithMeta } from '../../feature';
2
2
  import type { StatisticsSummarizerConfiguration } from '../../../summarizer/summarizer';
3
+ /**
4
+ *
5
+ */
3
6
  export declare function postProcess(featureRoot: string, info: Map<string, FeatureStatisticsWithMeta>, outputPath: string, config: StatisticsSummarizerConfiguration): void;
@@ -12,6 +12,9 @@ const summarizer_1 = require("../../../../util/summarizer");
12
12
  const files_1 = require("../../../../util/files");
13
13
  const strings_1 = require("../../../../util/text/strings");
14
14
  const arrays_1 = require("../../../../util/collections/arrays");
15
+ /**
16
+ *
17
+ */
15
18
  function postProcess(featureRoot, info, outputPath, config) {
16
19
  const collected = {};
17
20
  for (const [filepath, data] of info.entries()) {
@@ -1,3 +1,6 @@
1
1
  import type { FeatureStatisticsWithMeta } from '../../feature';
2
2
  import type { StatisticsSummarizerConfiguration } from '../../../summarizer/summarizer';
3
+ /**
4
+ *
5
+ */
3
6
  export declare function postProcess(featureRoot: string, info: Map<string, FeatureStatisticsWithMeta>, outputPath: string, config: StatisticsSummarizerConfiguration): void;
@@ -11,6 +11,9 @@ const summarizer_1 = require("../../../../util/summarizer");
11
11
  const time_1 = require("../../../../util/text/time");
12
12
  const files_1 = require("../../../../util/files");
13
13
  const arrays_1 = require("../../../../util/collections/arrays");
14
+ /**
15
+ *
16
+ */
14
17
  function postProcess(featureRoot, info, outputPath, config) {
15
18
  const collected = {};
16
19
  for (const [filepath, data] of info.entries()) {
@@ -1,9 +1,15 @@
1
1
  import type { FeatureStatisticsWithMeta } from '../../feature';
2
- import type { SummarizedWithProject } from '../../post-processing';
2
+ import { type SummarizedWithProject } from '../../post-processing';
3
3
  import type { StatisticsSummarizerConfiguration } from '../../../summarizer/summarizer';
4
+ /**
5
+ *
6
+ */
4
7
  export declare function postProcess(featureRoot: string, info: Map<string, FeatureStatisticsWithMeta>, outputPath: string, config: StatisticsSummarizerConfiguration): void;
5
8
  type VariableInfoMap = Map<string, SummarizedWithProject & {
6
9
  linePercentageInFile: number[][];
7
10
  }>;
11
+ /**
12
+ *
13
+ */
8
14
  export declare function writeVariableInfoToCsv(outputPath: string, filename: `${string}.csv`, data: VariableInfoMap): void;
9
15
  export {};
@@ -58,6 +58,9 @@ function collectInformation(info, config) {
58
58
  }
59
59
  return collected;
60
60
  }
61
+ /**
62
+ *
63
+ */
61
64
  function postProcess(featureRoot, info, outputPath, config) {
62
65
  const collected = collectInformation(info, config);
63
66
  writeVariableCountsToCsv(outputPath, collected);
@@ -65,6 +68,9 @@ function postProcess(featureRoot, info, outputPath, config) {
65
68
  collectDefinedVariables(featureRoot, info, config, outputPath);
66
69
  collectRedefinedVariables(featureRoot, info, config, outputPath);
67
70
  }
71
+ /**
72
+ *
73
+ */
68
74
  function writeVariableInfoToCsv(outputPath, filename, data) {
69
75
  const out = fs_1.default.createWriteStream(path_1.default.join(outputPath, filename));
70
76
  out.write(`variable,unique-projects,unique-files,${(0, summarizer_1.summarizedMeasurement2CsvHeader)('count')},${(0, summarizer_1.summarizedMeasurement2CsvHeader)('line-frac')}\n`);
@@ -1,26 +1,25 @@
1
1
  import type { RParseRequestFromFile, RParseRequestFromText } from '../r-bridge/retriever';
2
2
  /**
3
3
  * Statistics on skipped files, the time required, and more.
4
- *
5
4
  * @see extractUsageStatistics
6
5
  * @see initialMetaStatistics
7
6
  */
8
7
  export interface MetaStatistics {
9
8
  /**
10
- * The number of requests that were parsed successfully
11
- */
9
+ * The number of requests that were parsed successfully
10
+ */
12
11
  successfulParsed: number;
13
12
  /**
14
- * The processing time for each request
15
- */
13
+ * The processing time for each request
14
+ */
16
15
  processingTimeMs: number[];
17
16
  /**
18
- * All failed requests (e.g., if they can not be converted to XML)
19
- */
17
+ * All failed requests (e.g., if they can not be converted to XML)
18
+ */
20
19
  failedRequests: (RParseRequestFromText | RParseRequestFromFile)[];
21
20
  /**
22
- * Number of lines with each individual line length consumed for each request
23
- */
21
+ * Number of lines with each individual line length consumed for each request
22
+ */
24
23
  lines: number[][];
25
24
  /**
26
25
  * The number of nodes in the normalized AST
@@ -7,7 +7,6 @@ export declare class DummyAppendProvider implements StatisticAppendProvider {
7
7
  private readonly map;
8
8
  /**
9
9
  * If you pass a map the dummy will log all append calls to the map, using the feature name and the appendage type as keys
10
- *
11
10
  * @param map - The map to log to
12
11
  */
13
12
  constructor(map?: DummyAppendMemoryMap | undefined);
@@ -25,13 +24,13 @@ export declare class StatisticFileProvider implements StatisticAppendProvider {
25
24
  private readonly connections;
26
25
  constructor(statisticsDirectory: string | undefined);
27
26
  /**
28
- * @param name - the name of the feature {@link Feature#name}
29
- * @param fn - the name of the feature-aspect to record
30
- */
27
+ * @param name - the name of the feature {@link Feature#name}
28
+ * @param fn - the name of the feature-aspect to record
29
+ */
31
30
  private statisticsFile;
32
31
  /**
33
- * Append the given content to the information for a feature of the given name and function.
34
- */
32
+ * Append the given content to the information for a feature of the given name and function.
33
+ */
35
34
  append(name: string, fn: AppendFnType, content: string): void;
36
35
  private getHandle;
37
36
  }
@@ -12,7 +12,6 @@ class DummyAppendProvider {
12
12
  map;
13
13
  /**
14
14
  * If you pass a map the dummy will log all append calls to the map, using the feature name and the appendage type as keys
15
- *
16
15
  * @param map - The map to log to
17
16
  */
18
17
  constructor(map = undefined) {
@@ -63,15 +62,15 @@ class StatisticFileProvider {
63
62
  });
64
63
  }
65
64
  /**
66
- * @param name - the name of the feature {@link Feature#name}
67
- * @param fn - the name of the feature-aspect to record
68
- */
65
+ * @param name - the name of the feature {@link Feature#name}
66
+ * @param fn - the name of the feature-aspect to record
67
+ */
69
68
  statisticsFile(name, fn) {
70
69
  return path_1.default.join(this.statisticsDirectory, name, `${fn}${exports.defaultStatisticsFileSuffix}`);
71
70
  }
72
71
  /**
73
- * Append the given content to the information for a feature of the given name and function.
74
- */
72
+ * Append the given content to the information for a feature of the given name and function.
73
+ */
75
74
  append(name, fn, content) {
76
75
  const descriptor = this.getHandle(name, String(fn));
77
76
  fs_1.default.appendFileSync(descriptor, content + '\n', 'utf8');
@@ -1,5 +1,5 @@
1
1
  import type { MetaStatistics } from '../meta-statistics';
2
- import type { FeatureKey, FeatureStatistics } from '../features/feature';
2
+ import { type FeatureKey, type FeatureStatistics } from '../features/feature';
3
3
  interface MinMaxAvgMedian {
4
4
  sum: number;
5
5
  min: number;
@@ -7,11 +7,23 @@ interface MinMaxAvgMedian {
7
7
  avg: number;
8
8
  median: number;
9
9
  }
10
+ /**
11
+ * Calculates the min, max, average and median of the given data set.
12
+ */
10
13
  export declare function minMaxAvgAndMedian(data: number[]): MinMaxAvgMedian;
14
+ /**
15
+ * Formats the given statistics as a string.
16
+ */
11
17
  export declare function statsString(data: MinMaxAvgMedian, suffix?: string): string;
18
+ /**
19
+ * Prints the given feature statistics to the console.
20
+ */
12
21
  export declare function printFeatureStatistics(statistics: {
13
22
  features: FeatureStatistics;
14
23
  meta: MetaStatistics;
15
24
  }, features?: 'all' | Set<FeatureKey>): void;
25
+ /**
26
+ * Prints a single feature statistics entry to the console.
27
+ */
16
28
  export declare function printFeatureStatisticsEntry(info: Record<string, unknown>): void;
17
29
  export {};
@@ -8,6 +8,9 @@ const ansi_1 = require("../../util/text/ansi");
8
8
  const json_1 = require("../../util/json");
9
9
  const feature_1 = require("../features/feature");
10
10
  const arrays_1 = require("../../util/collections/arrays");
11
+ /**
12
+ * Calculates the min, max, average and median of the given data set.
13
+ */
11
14
  function minMaxAvgAndMedian(data) {
12
15
  data = data.sort((a, b) => a - b);
13
16
  const sum = (0, arrays_1.arraySum)(data);
@@ -22,9 +25,15 @@ function minMaxAvgAndMedian(data) {
22
25
  function formatStatNumber(num) {
23
26
  return num === undefined ? '<?>' : Number(num.toFixed(3)).toLocaleString();
24
27
  }
28
+ /**
29
+ * Formats the given statistics as a string.
30
+ */
25
31
  function statsString(data, suffix = '') {
26
32
  return `[${formatStatNumber(data.min)}${suffix} .. ${formatStatNumber(data.max)}${suffix}] (avg: ${formatStatNumber(data.avg)}${suffix}, median: ${formatStatNumber(data.median)}${suffix})`;
27
33
  }
34
+ /**
35
+ * Prints the given feature statistics to the console.
36
+ */
28
37
  function printFeatureStatistics(statistics, features = 'all') {
29
38
  for (const feature of Object.keys(statistics.features)) {
30
39
  if (features !== 'all' && !features.has(feature)) {
@@ -48,6 +57,9 @@ function printFeatureStatistics(statistics, features = 'all') {
48
57
  `);
49
58
  }
50
59
  const pad = 3;
60
+ /**
61
+ * Prints a single feature statistics entry to the console.
62
+ */
51
63
  function printFeatureStatisticsEntry(info) {
52
64
  let longestKey = 0;
53
65
  let longestValue = 0;
@@ -1,4 +1,4 @@
1
- import type { DummyAppendMemoryMap, StatisticAppendProvider } from './file-provider';
1
+ import { type DummyAppendMemoryMap, type StatisticAppendProvider } from './file-provider';
2
2
  /**
3
3
  * Requires source information to be attached on parsing!
4
4
  * <p>
@@ -13,7 +13,6 @@ export declare let statisticsFileProvider: StatisticAppendProvider;
13
13
  export declare function initFileProvider(outputDirectory: string): void;
14
14
  /**
15
15
  * Either ignore the statistics or write them to a given map (e.g., for testing).
16
- *
17
16
  * @param map - The map to write to, will not persist calls if no map is given
18
17
  */
19
18
  export declare function initDummyFileProvider(map?: DummyAppendMemoryMap): void;
@@ -32,7 +32,6 @@ function initFileProvider(outputDirectory) {
32
32
  }
33
33
  /**
34
34
  * Either ignore the statistics or write them to a given map (e.g., for testing).
35
- *
36
35
  * @param map - The map to write to, will not persist calls if no map is given
37
36
  */
38
37
  function initDummyFileProvider(map) {
@@ -1,9 +1,9 @@
1
- import type { MetaStatistics } from './meta-statistics';
1
+ import { type MetaStatistics } from './meta-statistics';
2
2
  import type { RParseRequestFromFile, RParseRequestFromText } from '../r-bridge/retriever';
3
3
  import type { PipelineOutput } from '../core/steps/pipeline/pipeline';
4
4
  import { DEFAULT_DATAFLOW_PIPELINE } from '../core/steps/pipeline/default-pipelines';
5
5
  import type { RShell } from '../r-bridge/shell';
6
- import type { FeatureSelection, FeatureStatistics } from './features/feature';
6
+ import { type FeatureSelection, type FeatureStatistics } from './features/feature';
7
7
  import type { FlowrConfigOptions } from '../config';
8
8
  /**
9
9
  * By default, {@link extractUsageStatistics} requires a generator, but sometimes you already know all the files
@@ -13,13 +13,12 @@ export declare function staticRequests(...requests: (RParseRequestFromText | RPa
13
13
  type DataflowResult = PipelineOutput<typeof DEFAULT_DATAFLOW_PIPELINE>;
14
14
  /**
15
15
  * Extract all wanted statistic information from a set of requests using the presented R session.
16
- *
17
16
  * @param shell - The R session to use
18
17
  * @param config - The flowr config
19
18
  * @param onRequest - A callback that is called at the beginning of each request, this may be used to debug the requests.
20
19
  * @param features - The features to extract (see {@link allFeatureNames}).
21
20
  * @param requests - The requests to extract the features from. May generate them on demand (e.g., by traversing a folder).
22
- * If your request is statically known, you can use {@link staticRequests} to create this generator.
21
+ * If your request is statically known, you can use {@link staticRequests} to create this generator.
23
22
  * @param rootPath - The root path to the project, this is used to relativize the file paths in the statistics.
24
23
  */
25
24
  export declare function extractUsageStatistics<T extends RParseRequestFromText | RParseRequestFromFile>(shell: RShell, config: FlowrConfigOptions, onRequest: (request: T) => void, features: FeatureSelection, requests: AsyncGenerator<T>, rootPath?: string): Promise<{
@@ -28,13 +28,12 @@ function staticRequests(...requests) {
28
28
  }
29
29
  /**
30
30
  * Extract all wanted statistic information from a set of requests using the presented R session.
31
- *
32
31
  * @param shell - The R session to use
33
32
  * @param config - The flowr config
34
33
  * @param onRequest - A callback that is called at the beginning of each request, this may be used to debug the requests.
35
34
  * @param features - The features to extract (see {@link allFeatureNames}).
36
35
  * @param requests - The requests to extract the features from. May generate them on demand (e.g., by traversing a folder).
37
- * If your request is statically known, you can use {@link staticRequests} to create this generator.
36
+ * If your request is statically known, you can use {@link staticRequests} to create this generator.
38
37
  * @param rootPath - The root path to the project, this is used to relativize the file paths in the statistics.
39
38
  */
40
39
  async function extractUsageStatistics(shell, config, onRequest, features, requests, rootPath) {
@@ -1,2 +1,5 @@
1
1
  import { SummarizerType } from '../../util/summarizer';
2
+ /**
3
+ * Auto-detects the summarization type based on the input path.
4
+ */
2
5
  export declare function detectSummarizationType(inputPath: string): Promise<SummarizerType>;
@@ -7,6 +7,9 @@ exports.detectSummarizationType = detectSummarizationType;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const summarizer_1 = require("./summarizer");
9
9
  const log_1 = require("../../util/log");
10
+ /**
11
+ * Auto-detects the summarization type based on the input path.
12
+ */
10
13
  async function detectSummarizationType(inputPath) {
11
14
  if (fs_1.default.statSync(inputPath).isFile()) {
12
15
  log_1.log.info(`Detected benchmark summarization with single file ${inputPath}`);
@@ -11,14 +11,13 @@ export interface ClusterReport extends MergeableRecord {
11
11
  /** Maps each context encountered (i.e., every file that contains something associated with the feature) to a unique id, used in the {@link ClusterReport#valueInfoMap|valueInfoMap}. */
12
12
  contextIdMap: ClusterContextIdMap;
13
13
  /**
14
- * Counts which contexts contained which values of a feature.
15
- * For example, that `<-` occurred in files with ids `[12, 42, 19, 19]` (i.e., the context with the id 19 contained it twice).
16
- */
14
+ * Counts which contexts contained which values of a feature.
15
+ * For example, that `<-` occurred in files with ids `[12, 42, 19, 19]` (i.e., the context with the id 19 contained it twice).
16
+ */
17
17
  valueInfoMap: ClusterValueInfoMap;
18
18
  }
19
19
  /**
20
20
  * Takes a statistics file like `statistics-out/top-2023-01-01-00-00-00/Assignments/assignmentOperator.txt` and clusters the values by context
21
- *
22
21
  * @param filepath - Filepath of the statistics file
23
22
  * @param contextIdMap - The id map to use, can use an existing one to reuse ids for same contexts spreading over multiple input files.
24
23
  * `undefined` is used for unknown contexts. This map allows us to reference contexts with a way shorter identifier (vs. the full file path).
@@ -7,7 +7,6 @@ exports.clusterStatisticsOutput = clusterStatisticsOutput;
7
7
  /**
8
8
  * Reading the given file line by line and expecting constructs of {@link StatisticsOutputFormat},
9
9
  * this module is responsible for identifying interesting groups of same data.
10
- *
11
10
  * @module
12
11
  */
13
12
  const n_readlines_1 = __importDefault(require("n-readlines"));
@@ -15,7 +14,6 @@ const defaultmap_1 = require("../../../util/collections/defaultmap");
15
14
  const decorate_1 = require("../../../r-bridge/lang-4.x/ast/model/processing/decorate");
16
15
  /**
17
16
  * Takes a statistics file like `statistics-out/top-2023-01-01-00-00-00/Assignments/assignmentOperator.txt` and clusters the values by context
18
- *
19
17
  * @param filepath - Filepath of the statistics file
20
18
  * @param contextIdMap - The id map to use, can use an existing one to reuse ids for same contexts spreading over multiple input files.
21
19
  * `undefined` is used for unknown contexts. This map allows us to reference contexts with a way shorter identifier (vs. the full file path).
@@ -7,7 +7,6 @@ export interface FileBasedTable {
7
7
  * The purpose of this function is to reformat {@link ClusterReport} in way that lists file-based contributions.
8
8
  * E.g., "the file with id 12 contained the assignment with `<-` 3 times".
9
9
  * Feature Values are listed in the header.
10
- *
11
10
  * @param report - the report to reformat
12
11
  */
13
12
  export declare function fileBasedCount(report: ClusterReport): FileBasedTable;
@@ -10,7 +10,6 @@ const fs_1 = __importDefault(require("fs"));
10
10
  * The purpose of this function is to reformat {@link ClusterReport} in way that lists file-based contributions.
11
11
  * E.g., "the file with id 12 contained the assignment with `<-` 3 times".
12
12
  * Feature Values are listed in the header.
13
- *
14
13
  * @param report - the report to reformat
15
14
  */
16
15
  function fileBasedCount(report) {