@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.
- package/README.md +131 -30
- package/abstract-interpretation/data-frame/absint-info.d.ts +1 -1
- package/abstract-interpretation/data-frame/absint-visitor.d.ts +2 -3
- package/abstract-interpretation/data-frame/absint-visitor.js +15 -10
- package/abstract-interpretation/data-frame/dataframe-domain.d.ts +18 -12
- package/abstract-interpretation/data-frame/dataframe-domain.js +25 -13
- package/abstract-interpretation/data-frame/mappers/access-mapper.d.ts +0 -1
- package/abstract-interpretation/data-frame/mappers/access-mapper.js +0 -1
- package/abstract-interpretation/data-frame/mappers/arguments.d.ts +1 -10
- package/abstract-interpretation/data-frame/mappers/arguments.js +0 -7
- package/abstract-interpretation/data-frame/mappers/assignment-mapper.d.ts +0 -1
- package/abstract-interpretation/data-frame/mappers/assignment-mapper.js +0 -1
- package/abstract-interpretation/data-frame/mappers/function-mapper.d.ts +4 -5
- package/abstract-interpretation/data-frame/mappers/function-mapper.js +3 -4
- package/abstract-interpretation/data-frame/mappers/replacement-mapper.d.ts +0 -1
- package/abstract-interpretation/data-frame/mappers/replacement-mapper.js +0 -1
- package/abstract-interpretation/data-frame/resolve-args.d.ts +1 -1
- package/abstract-interpretation/data-frame/semantics.d.ts +3 -4
- package/abstract-interpretation/data-frame/semantics.js +171 -162
- package/abstract-interpretation/data-frame/shape-inference.d.ts +1 -4
- package/abstract-interpretation/data-frame/shape-inference.js +7 -9
- package/abstract-interpretation/domains/abstract-domain.d.ts +59 -18
- package/abstract-interpretation/domains/abstract-domain.js +74 -1
- package/abstract-interpretation/domains/bounded-set-domain.d.ts +37 -24
- package/abstract-interpretation/domains/bounded-set-domain.js +70 -47
- package/abstract-interpretation/domains/interval-domain.d.ts +33 -25
- package/abstract-interpretation/domains/interval-domain.js +109 -50
- package/abstract-interpretation/domains/lattice.d.ts +19 -11
- package/abstract-interpretation/domains/mapped-abstract-domain.d.ts +34 -0
- package/abstract-interpretation/domains/mapped-abstract-domain.js +189 -0
- package/abstract-interpretation/domains/positive-interval-domain.d.ts +16 -12
- package/abstract-interpretation/domains/positive-interval-domain.js +20 -11
- package/abstract-interpretation/domains/product-domain.d.ts +18 -23
- package/abstract-interpretation/domains/product-domain.js +11 -19
- package/abstract-interpretation/domains/satisfiable-domain.d.ts +29 -0
- package/abstract-interpretation/domains/satisfiable-domain.js +24 -0
- package/abstract-interpretation/domains/set-upper-bound-domain.d.ts +54 -0
- package/abstract-interpretation/domains/set-upper-bound-domain.js +197 -0
- package/abstract-interpretation/domains/singleton-domain.d.ts +24 -19
- package/abstract-interpretation/domains/singleton-domain.js +52 -37
- package/abstract-interpretation/domains/state-abstract-domain.d.ts +8 -24
- package/abstract-interpretation/domains/state-abstract-domain.js +2 -167
- package/abstract-interpretation/normalized-ast-fold.d.ts +1 -7
- package/abstract-interpretation/normalized-ast-fold.js +0 -5
- package/benchmark/slicer.d.ts +3 -7
- package/benchmark/slicer.js +14 -19
- package/benchmark/stats/print.d.ts +6 -0
- package/benchmark/stats/print.js +6 -0
- package/benchmark/stats/size-of.d.ts +0 -1
- package/benchmark/stats/size-of.js +0 -1
- package/benchmark/stats/stats.d.ts +2 -2
- package/benchmark/stopwatch.d.ts +11 -13
- package/benchmark/stopwatch.js +11 -13
- package/benchmark/summarizer/first-phase/input.d.ts +6 -0
- package/benchmark/summarizer/first-phase/input.js +6 -0
- package/benchmark/summarizer/first-phase/process.d.ts +13 -1
- package/benchmark/summarizer/first-phase/process.js +12 -0
- package/benchmark/summarizer/second-phase/graph.d.ts +3 -0
- package/benchmark/summarizer/second-phase/graph.js +3 -0
- package/benchmark/summarizer/second-phase/process.d.ts +12 -0
- package/benchmark/summarizer/second-phase/process.js +12 -0
- package/benchmark/summarizer/summarizer.d.ts +1 -2
- package/cli/benchmark-app.js +0 -2
- package/cli/common/features.d.ts +7 -1
- package/cli/common/features.js +6 -0
- package/cli/common/script.d.ts +3 -1
- package/cli/common/script.js +3 -1
- package/cli/common/scripts-info.d.ts +3 -1
- package/cli/common/scripts-info.js +3 -0
- package/cli/flowr-main-options.d.ts +3 -0
- package/cli/flowr-main-options.js +3 -0
- package/cli/repl/commands/repl-commands.d.ts +13 -0
- package/cli/repl/commands/repl-commands.js +13 -2
- package/cli/repl/commands/repl-execute.d.ts +4 -0
- package/cli/repl/commands/repl-execute.js +6 -2
- package/cli/repl/commands/repl-main.d.ts +15 -9
- package/cli/repl/commands/repl-parse.js +2 -2
- package/cli/repl/commands/repl-query.js +16 -5
- package/cli/repl/core.d.ts +24 -6
- package/cli/repl/core.js +28 -19
- package/cli/repl/execute.d.ts +0 -2
- package/cli/repl/execute.js +0 -2
- package/cli/repl/parser/slice-query-parser.d.ts +14 -0
- package/cli/repl/parser/slice-query-parser.js +34 -0
- package/cli/repl/print-version.d.ts +6 -0
- package/cli/repl/print-version.js +6 -0
- package/cli/repl/server/compact.d.ts +8 -0
- package/cli/repl/server/compact.js +8 -0
- package/cli/repl/server/connection.d.ts +4 -3
- package/cli/repl/server/connection.js +3 -31
- package/cli/repl/server/messages/all-messages.d.ts +1 -3
- package/cli/repl/server/messages/all-messages.js +0 -1
- package/cli/repl/server/messages/message-analysis.d.ts +0 -2
- package/cli/repl/server/messages/message-query.d.ts +1 -1
- package/cli/repl/server/messages/message-repl.d.ts +0 -1
- package/cli/repl/server/send.d.ts +6 -0
- package/cli/repl/server/send.js +6 -0
- package/cli/repl/server/server.d.ts +1 -1
- package/cli/repl/server/validate.d.ts +10 -1
- package/cli/repl/server/validate.js +9 -0
- package/cli/run-script.d.ts +1 -2
- package/cli/run-script.js +0 -1
- package/cli/script-core/statistics-core.d.ts +3 -0
- package/cli/script-core/statistics-core.js +3 -0
- package/cli/script-core/statistics-helper-core.d.ts +4 -1
- package/cli/script-core/statistics-helper-core.js +3 -0
- package/cli/script-core/summarizer-core.d.ts +3 -0
- package/cli/script-core/summarizer-core.js +3 -0
- package/cli/summarizer-app.d.ts +2 -3
- package/cli/summarizer-app.js +2 -3
- package/config.d.ts +17 -3
- package/config.js +15 -0
- package/control-flow/basic-cfg-guided-visitor.d.ts +1 -2
- package/control-flow/basic-cfg-guided-visitor.js +0 -1
- package/control-flow/cfg-to-basic-blocks.d.ts +1 -1
- package/control-flow/control-flow-graph.d.ts +20 -12
- package/control-flow/control-flow-graph.js +16 -4
- package/control-flow/dfg-cfg-guided-visitor.d.ts +2 -3
- package/control-flow/diff-cfg.d.ts +3 -5
- package/control-flow/diff-cfg.js +0 -1
- package/control-flow/extract-cfg.d.ts +3 -6
- package/control-flow/extract-cfg.js +0 -3
- package/control-flow/happens-before.d.ts +1 -1
- package/control-flow/semantic-cfg-guided-visitor.d.ts +2 -31
- package/control-flow/semantic-cfg-guided-visitor.js +0 -28
- package/control-flow/simple-visitor.d.ts +1 -3
- package/control-flow/simple-visitor.js +0 -2
- package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
- package/control-flow/useless-loop.d.ts +0 -3
- package/control-flow/useless-loop.js +2 -5
- package/core/pipeline-executor.d.ts +8 -16
- package/core/pipeline-executor.js +9 -18
- package/core/print/dataflow-printer.d.ts +19 -0
- package/core/print/dataflow-printer.js +19 -0
- package/core/print/normalize-printer.d.ts +21 -1
- package/core/print/normalize-printer.js +20 -0
- package/core/print/parse-printer.d.ts +6 -1
- package/core/print/parse-printer.js +5 -0
- package/core/print/print.d.ts +0 -1
- package/core/print/print.js +0 -1
- package/core/print/slice-diff-ansi.d.ts +3 -0
- package/core/print/slice-diff-ansi.js +3 -0
- package/core/steps/all/core/00-parse.d.ts +1 -1
- package/core/steps/all/core/01-parse-tree-sitter.d.ts +1 -11
- package/core/steps/all/core/10-normalize.d.ts +3 -0
- package/core/steps/all/core/10-normalize.js +3 -0
- package/core/steps/all/core/11-normalize-tree-sitter.d.ts +4 -3
- package/core/steps/pipeline/create-pipeline.d.ts +1 -1
- package/core/steps/pipeline/default-pipelines.d.ts +47 -47
- package/core/steps/pipeline/default-pipelines.js +0 -4
- package/core/steps/pipeline/pipeline.d.ts +1 -8
- package/core/steps/pipeline/pipeline.js +1 -3
- package/core/steps/pipeline-step.d.ts +0 -1
- package/core/steps/pipeline-step.js +0 -1
- package/dataflow/cluster.d.ts +3 -0
- package/dataflow/cluster.js +3 -0
- package/dataflow/environments/append.d.ts +1 -1
- package/dataflow/environments/built-in-config.d.ts +1 -5
- package/dataflow/environments/built-in-config.js +0 -1
- package/dataflow/environments/built-in.d.ts +10 -5
- package/dataflow/environments/built-in.js +6 -1
- package/dataflow/environments/clone.d.ts +1 -1
- package/dataflow/environments/default-builtin-config.d.ts +3 -0
- package/dataflow/environments/default-builtin-config.js +4 -1
- package/dataflow/environments/diff.d.ts +11 -2
- package/dataflow/environments/diff.js +9 -0
- package/dataflow/environments/environment.d.ts +3 -3
- package/dataflow/environments/environment.js +8 -6
- package/dataflow/environments/identifier.d.ts +0 -4
- package/dataflow/environments/identifier.js +0 -1
- package/dataflow/environments/overwrite.d.ts +4 -1
- package/dataflow/environments/overwrite.js +3 -0
- package/dataflow/environments/resolve-by-name.d.ts +4 -4
- package/dataflow/environments/resolve-by-name.js +3 -2
- package/dataflow/environments/scoping.d.ts +4 -1
- package/dataflow/environments/scoping.js +3 -0
- package/dataflow/eval/resolve/alias-tracking.d.ts +4 -10
- package/dataflow/eval/resolve/alias-tracking.js +11 -14
- package/dataflow/eval/resolve/resolve-argument.d.ts +1 -1
- package/dataflow/eval/resolve/resolve.d.ts +1 -7
- package/dataflow/eval/resolve/resolve.js +0 -5
- package/dataflow/eval/values/general.d.ts +1 -3
- package/dataflow/eval/values/general.js +0 -1
- package/dataflow/eval/values/intervals/interval-constants.d.ts +7 -1
- package/dataflow/eval/values/intervals/interval-constants.js +6 -0
- package/dataflow/eval/values/logical/logical-constants.d.ts +4 -1
- package/dataflow/eval/values/logical/logical-constants.js +3 -0
- package/dataflow/eval/values/r-value.d.ts +12 -0
- package/dataflow/eval/values/r-value.js +12 -0
- package/dataflow/eval/values/scalar/scalar-consatnts.d.ts +7 -1
- package/dataflow/eval/values/scalar/scalar-consatnts.js +6 -0
- package/dataflow/eval/values/sets/set-constants.d.ts +7 -2
- package/dataflow/eval/values/sets/set-constants.js +6 -0
- package/dataflow/eval/values/string/string-constants.d.ts +10 -1
- package/dataflow/eval/values/string/string-constants.js +9 -0
- package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
- package/dataflow/extractor.d.ts +1 -1
- package/dataflow/graph/dataflowgraph-builder.d.ts +20 -38
- package/dataflow/graph/dataflowgraph-builder.js +6 -23
- package/dataflow/graph/diff-dataflow-graph.d.ts +16 -6
- package/dataflow/graph/diff-dataflow-graph.js +12 -1
- package/dataflow/graph/edge.d.ts +9 -0
- package/dataflow/graph/edge.js +9 -0
- package/dataflow/graph/graph.d.ts +6 -19
- package/dataflow/graph/graph.js +4 -15
- package/dataflow/graph/invert-dfg.d.ts +3 -0
- package/dataflow/graph/invert-dfg.js +3 -0
- package/dataflow/graph/quads.d.ts +1 -1
- package/dataflow/graph/unknown-replacement.d.ts +6 -0
- package/dataflow/graph/unknown-replacement.js +6 -0
- package/dataflow/graph/unknown-side-effect.d.ts +8 -0
- package/dataflow/graph/unknown-side-effect.js +8 -0
- package/dataflow/graph/vertex.d.ts +9 -9
- package/dataflow/graph/vertex.js +9 -1
- package/dataflow/info.d.ts +9 -10
- package/dataflow/info.js +6 -1
- package/dataflow/internal/linker.d.ts +25 -9
- package/dataflow/internal/linker.js +23 -7
- package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
- package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -0
- package/dataflow/internal/process/functions/call/argument/unpack-argument.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-access.js +3 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-apply.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-apply.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-assignment.d.ts +2 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-eval.d.ts +6 -3
- package/dataflow/internal/process/functions/call/built-in/built-in-eval.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.d.ts +10 -4
- package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +6 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-get.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +4 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-library.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-library.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-list.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-pipe.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-quote.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-quote.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-replacement.d.ts +6 -3
- package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +3 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-rm.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-rm.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +23 -6
- package/dataflow/internal/process/functions/call/built-in/built-in-source.js +20 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-vector.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +3 -0
- package/dataflow/internal/process/functions/call/common.d.ts +11 -5
- package/dataflow/internal/process/functions/call/common.js +6 -0
- package/dataflow/internal/process/functions/call/default-call-handling.d.ts +3 -0
- package/dataflow/internal/process/functions/call/default-call-handling.js +3 -0
- package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
- package/dataflow/internal/process/functions/call/known-call-handling.js +7 -0
- package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
- package/dataflow/internal/process/functions/call/named-call-handling.js +6 -0
- package/dataflow/internal/process/functions/call/unnamed-call-handling.d.ts +4 -1
- package/dataflow/internal/process/functions/call/unnamed-call-handling.js +3 -0
- package/dataflow/internal/process/functions/process-argument.d.ts +8 -2
- package/dataflow/internal/process/functions/process-argument.js +6 -0
- package/dataflow/internal/process/functions/process-parameter.d.ts +5 -2
- package/dataflow/internal/process/functions/process-parameter.js +3 -0
- package/dataflow/internal/process/process-symbol.d.ts +3 -0
- package/dataflow/internal/process/process-symbol.js +3 -0
- package/dataflow/internal/process/process-uninteresting-leaf.d.ts +3 -0
- package/dataflow/internal/process/process-uninteresting-leaf.js +3 -0
- package/dataflow/internal/process/process-value.d.ts +3 -0
- package/dataflow/internal/process/process-value.js +3 -0
- package/dataflow/origin/dfg-get-origin.d.ts +0 -2
- package/dataflow/origin/dfg-get-symbol-refs.d.ts +5 -7
- package/dataflow/origin/dfg-get-symbol-refs.js +6 -8
- package/dataflow/processor.d.ts +0 -1
- package/dataflow/processor.js +0 -1
- package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -0
- package/documentation/data/dfg/doc-data-dfg-util.js +6 -0
- package/documentation/data/faq/faqs.d.ts +5 -0
- package/documentation/data/faq/faqs.js +78 -0
- package/documentation/data/faq/wiki-faq-store.d.ts +18 -0
- package/documentation/data/faq/wiki-faq-store.js +75 -0
- package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
- package/documentation/data/server/doc-data-server-messages.js +4 -63
- package/documentation/doc-util/doc-auto-gen.d.ts +6 -0
- package/documentation/doc-util/doc-auto-gen.js +6 -0
- package/documentation/doc-util/doc-benchmarks.d.ts +12 -0
- package/documentation/doc-util/doc-benchmarks.js +12 -0
- package/documentation/doc-util/doc-cfg.d.ts +7 -1
- package/documentation/doc-util/doc-cfg.js +9 -0
- package/documentation/doc-util/doc-cli-option.d.ts +9 -0
- package/documentation/doc-util/doc-cli-option.js +9 -0
- package/documentation/doc-util/doc-code.d.ts +24 -0
- package/documentation/doc-util/doc-code.js +24 -0
- package/documentation/doc-util/doc-dfg.d.ts +7 -1
- package/documentation/doc-util/doc-dfg.js +9 -0
- package/documentation/doc-util/doc-env.d.ts +3 -0
- package/documentation/doc-util/doc-env.js +3 -0
- package/documentation/doc-util/doc-escape.d.ts +0 -1
- package/documentation/doc-util/doc-escape.js +0 -1
- package/documentation/doc-util/doc-files.d.ts +11 -0
- package/documentation/doc-util/doc-files.js +15 -4
- package/documentation/doc-util/doc-general.d.ts +6 -0
- package/documentation/doc-util/doc-general.js +6 -0
- package/documentation/doc-util/doc-normalized-ast.d.ts +7 -1
- package/documentation/doc-util/doc-normalized-ast.js +6 -0
- package/documentation/doc-util/doc-query.d.ts +15 -0
- package/documentation/doc-util/doc-query.js +17 -2
- package/documentation/doc-util/doc-repl.d.ts +6 -0
- package/documentation/doc-util/doc-repl.js +6 -0
- package/documentation/doc-util/doc-search.d.ts +15 -0
- package/documentation/doc-util/doc-search.js +17 -2
- package/documentation/doc-util/doc-server-message.d.ts +13 -1
- package/documentation/doc-util/doc-server-message.js +13 -1
- package/documentation/doc-util/doc-structure.d.ts +9 -0
- package/documentation/doc-util/doc-structure.js +10 -1
- package/documentation/doc-util/doc-types.d.ts +42 -0
- package/documentation/doc-util/doc-types.js +42 -0
- package/documentation/print-analyzer-wiki.js +4 -0
- package/documentation/print-core-wiki.d.ts +3 -0
- package/documentation/print-core-wiki.js +5 -2
- package/documentation/print-dataflow-graph-wiki.js +5 -5
- package/documentation/print-faq-wiki.js +3 -75
- package/documentation/print-interface-wiki.js +1 -1
- package/documentation/print-onboarding-wiki.js +1 -1
- package/documentation/print-query-wiki.js +4 -34
- package/documentation/print-readme.js +105 -0
- package/engines.d.ts +1 -1
- package/linter/linter-executor.d.ts +6 -3
- package/linter/linter-executor.js +3 -0
- package/linter/linter-format.d.ts +8 -0
- package/linter/linter-format.js +8 -0
- package/linter/rules/absolute-path.d.ts +3 -4
- package/linter/rules/dataframe-access-validation.d.ts +3 -4
- package/linter/rules/dataframe-access-validation.js +9 -11
- package/linter/rules/dead-code.d.ts +1 -1
- package/linter/rules/deprecated-functions.d.ts +1 -1
- package/linter/rules/file-path-validity.d.ts +1 -2
- package/linter/rules/function-finder-util.d.ts +1 -2
- package/linter/rules/naming-convention.d.ts +13 -2
- package/linter/rules/naming-convention.js +13 -1
- package/linter/rules/network-functions.d.ts +1 -1
- package/linter/rules/seeded-randomness.d.ts +1 -2
- package/linter/rules/unused-definition.d.ts +2 -3
- package/linter/rules/useless-loop.d.ts +1 -2
- package/package.json +2 -2
- package/project/cache/flowr-analyzer-cache.d.ts +2 -9
- package/project/cache/flowr-analyzer-cache.js +0 -6
- package/project/context/flowr-analyzer-context.d.ts +3 -6
- package/project/context/flowr-analyzer-dependencies-context.d.ts +0 -1
- package/project/context/flowr-analyzer-files-context.d.ts +2 -4
- package/project/context/flowr-file.d.ts +0 -1
- package/project/flowr-analyzer-builder.d.ts +1 -3
- package/project/flowr-analyzer-builder.js +5 -6
- package/project/flowr-analyzer.d.ts +34 -25
- package/project/flowr-analyzer.js +10 -11
- package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +1 -1
- package/project/plugins/file-plugins/flowr-description-file.d.ts +1 -3
- package/project/plugins/file-plugins/flowr-description-file.js +0 -1
- package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.d.ts +1 -1
- package/queries/base-query-format.d.ts +2 -2
- package/queries/catalog/call-context-query/call-context-query-executor.d.ts +3 -0
- package/queries/catalog/call-context-query/call-context-query-executor.js +3 -0
- package/queries/catalog/call-context-query/call-context-query-format.d.ts +3 -3
- package/queries/catalog/call-context-query/identify-link-to-last-call-relation.d.ts +11 -2
- package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +9 -0
- package/queries/catalog/cluster-query/cluster-query-executor.d.ts +3 -0
- package/queries/catalog/cluster-query/cluster-query-executor.js +3 -0
- package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
- package/queries/catalog/config-query/config-query-executor.d.ts +3 -0
- package/queries/catalog/config-query/config-query-executor.js +3 -0
- package/queries/catalog/config-query/config-query-format.d.ts +5 -2
- package/queries/catalog/config-query/config-query-format.js +13 -16
- package/queries/catalog/control-flow-query/control-flow-query-executor.d.ts +3 -0
- package/queries/catalog/control-flow-query/control-flow-query-executor.js +3 -0
- package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +3 -3
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.d.ts +3 -0
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.js +3 -0
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
- package/queries/catalog/dataflow-query/dataflow-query-executor.d.ts +3 -0
- package/queries/catalog/dataflow-query/dataflow-query-executor.js +3 -0
- package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
- package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +4 -1
- package/queries/catalog/dependencies-query/dependencies-query-executor.js +7 -4
- package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +4 -1
- package/queries/catalog/dependencies-query/dependencies-query-format.js +4 -1
- package/queries/catalog/df-shape-query/df-shape-query-executor.d.ts +4 -1
- package/queries/catalog/df-shape-query/df-shape-query-executor.js +8 -4
- package/queries/catalog/df-shape-query/df-shape-query-format.d.ts +10 -3
- package/queries/catalog/df-shape-query/df-shape-query-format.js +24 -5
- package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +3 -0
- package/queries/catalog/happens-before-query/happens-before-query-executor.js +3 -0
- package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
- package/queries/catalog/id-map-query/id-map-query-executor.d.ts +3 -0
- package/queries/catalog/id-map-query/id-map-query-executor.js +3 -0
- package/queries/catalog/id-map-query/id-map-query-format.d.ts +1 -1
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.d.ts +3 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +3 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +2 -2
- package/queries/catalog/linter-query/linter-query-executor.d.ts +4 -0
- package/queries/catalog/linter-query/linter-query-executor.js +4 -0
- package/queries/catalog/linter-query/linter-query-format.d.ts +12 -3
- package/queries/catalog/linter-query/linter-query-format.js +67 -0
- package/queries/catalog/location-map-query/location-map-query-executor.d.ts +4 -0
- package/queries/catalog/location-map-query/location-map-query-executor.js +5 -1
- package/queries/catalog/location-map-query/location-map-query-format.d.ts +7 -1
- package/queries/catalog/location-map-query/location-map-query-format.js +12 -0
- package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.d.ts +3 -0
- package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.js +3 -0
- package/queries/catalog/normalized-ast-query/normalized-ast-query-format.d.ts +1 -1
- package/queries/catalog/origin-query/origin-query-executor.d.ts +7 -1
- package/queries/catalog/origin-query/origin-query-executor.js +6 -0
- package/queries/catalog/origin-query/origin-query-format.d.ts +7 -1
- package/queries/catalog/origin-query/origin-query-format.js +17 -1
- package/queries/catalog/project-query/project-query-executor.d.ts +3 -0
- package/queries/catalog/project-query/project-query-executor.js +3 -0
- package/queries/catalog/project-query/project-query-format.d.ts +1 -1
- package/queries/catalog/resolve-value-query/resolve-value-query-executor.d.ts +6 -0
- package/queries/catalog/resolve-value-query/resolve-value-query-executor.js +6 -0
- package/queries/catalog/resolve-value-query/resolve-value-query-format.d.ts +7 -1
- package/queries/catalog/resolve-value-query/resolve-value-query-format.js +19 -1
- package/queries/catalog/search-query/search-query-executor.d.ts +3 -0
- package/queries/catalog/search-query/search-query-executor.js +3 -0
- package/queries/catalog/search-query/search-query-format.d.ts +1 -1
- package/queries/catalog/static-slice-query/static-slice-query-executor.d.ts +9 -0
- package/queries/catalog/static-slice-query/static-slice-query-executor.js +9 -0
- package/queries/catalog/static-slice-query/static-slice-query-format.d.ts +7 -1
- package/queries/catalog/static-slice-query/static-slice-query-format.js +17 -0
- package/queries/query-print.d.ts +20 -4
- package/queries/query-print.js +18 -2
- package/queries/query.d.ts +85 -55
- package/queries/query.js +35 -23
- package/queries/virtual-query/virtual-queries.d.ts +1 -2
- package/r-bridge/data/get.d.ts +6 -0
- package/r-bridge/data/get.js +6 -0
- package/r-bridge/lang-4.x/ast/model/collect.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/collect.js +0 -1
- package/r-bridge/lang-4.x/ast/model/model.d.ts +8 -11
- package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/model/nodes/r-number.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-number.js +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-string.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-string.js +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.js +3 -0
- package/r-bridge/lang-4.x/ast/model/operators.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +6 -7
- package/r-bridge/lang-4.x/ast/model/processing/decorate.js +6 -6
- package/r-bridge/lang-4.x/ast/model/processing/fold.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/model/processing/node-id.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/node-id.js +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.d.ts +1 -2
- package/r-bridge/lang-4.x/ast/model/processing/visitor.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/visitor.js +0 -1
- package/r-bridge/lang-4.x/ast/model/type.d.ts +4 -5
- package/r-bridge/lang-4.x/ast/model/type.js +4 -5
- package/r-bridge/lang-4.x/ast/model/versions.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/versions.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +4 -5
- package/r-bridge/lang-4.x/ast/parser/json/parser.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/control/normalize-if-then.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.d.ts +1 -3
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.d.ts +4 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.d.ts +4 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-binary.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.d.ts +9 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.js +9 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.d.ts +1 -3
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.d.ts +1 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.d.ts +14 -5
- package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.js +13 -6
- package/r-bridge/lang-4.x/convert-values.d.ts +12 -1
- package/r-bridge/lang-4.x/convert-values.js +12 -1
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.d.ts +7 -2
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.js +17 -0
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +13 -1
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +48 -19
- package/r-bridge/parser.d.ts +28 -7
- package/r-bridge/retriever.d.ts +16 -1
- package/r-bridge/retriever.js +15 -0
- package/r-bridge/shell-executor.d.ts +3 -3
- package/r-bridge/shell-executor.js +6 -1
- package/r-bridge/shell.d.ts +24 -23
- package/r-bridge/shell.js +37 -31
- package/reconstruct/auto-select/auto-select-defaults.d.ts +0 -1
- package/reconstruct/auto-select/magic-comments.d.ts +1 -2
- package/reconstruct/auto-select/magic-comments.js +1 -2
- package/reconstruct/reconstruct.d.ts +1 -3
- package/reconstruct/reconstruct.js +0 -2
- package/search/flowr-search-builder.d.ts +12 -5
- package/search/flowr-search-builder.js +7 -2
- package/search/flowr-search-executor.d.ts +3 -3
- package/search/flowr-search-filters.d.ts +14 -1
- package/search/flowr-search-filters.js +13 -0
- package/search/flowr-search-printer.d.ts +6 -0
- package/search/flowr-search-printer.js +6 -0
- package/search/flowr-search-traverse.d.ts +1 -1
- package/search/flowr-search.d.ts +3 -3
- package/search/search-executor/search-enrichers.d.ts +9 -6
- package/search/search-executor/search-enrichers.js +3 -0
- package/search/search-executor/search-generators.d.ts +19 -10
- package/search/search-executor/search-generators.js +49 -2
- package/search/search-executor/search-mappers.d.ts +8 -5
- package/search/search-executor/search-mappers.js +3 -0
- package/search/search-executor/search-transformer.d.ts +19 -16
- package/search/search-executor/search-transformer.js +3 -0
- package/slicing/criterion/collect-all.d.ts +10 -10
- package/slicing/criterion/parse.d.ts +4 -2
- package/slicing/criterion/parse.js +4 -2
- package/slicing/static/fingerprint.d.ts +9 -1
- package/slicing/static/fingerprint.js +8 -0
- package/slicing/static/slice-call.d.ts +2 -2
- package/slicing/static/static-slicer.d.ts +8 -4
- package/slicing/static/static-slicer.js +5 -1
- package/slicing/static/visiting-queue.d.ts +1 -1
- package/statistics/features/common-syntax-probability.d.ts +10 -1
- package/statistics/features/common-syntax-probability.js +9 -0
- package/statistics/features/feature.d.ts +0 -4
- package/statistics/features/feature.js +0 -1
- package/statistics/features/post-processing.d.ts +6 -0
- package/statistics/features/post-processing.js +6 -0
- package/statistics/features/supported/assignments/post-process.d.ts +3 -0
- package/statistics/features/supported/assignments/post-process.js +3 -0
- package/statistics/features/supported/comments/post-process.d.ts +3 -0
- package/statistics/features/supported/comments/post-process.js +3 -0
- package/statistics/features/supported/control-flow/post-process.d.ts +3 -0
- package/statistics/features/supported/control-flow/post-process.js +3 -0
- package/statistics/features/supported/data-access/data-access.d.ts +1 -1
- package/statistics/features/supported/data-access/post-process.d.ts +3 -0
- package/statistics/features/supported/data-access/post-process.js +3 -0
- package/statistics/features/supported/defined-functions/defined-functions.d.ts +1 -1
- package/statistics/features/supported/expression-list/post-process.d.ts +3 -0
- package/statistics/features/supported/expression-list/post-process.js +3 -0
- package/statistics/features/supported/loops/post-process.d.ts +3 -0
- package/statistics/features/supported/loops/post-process.js +3 -0
- package/statistics/features/supported/used-functions/used-functions.d.ts +1 -1
- package/statistics/features/supported/used-packages/post-process.d.ts +3 -0
- package/statistics/features/supported/used-packages/post-process.js +3 -0
- package/statistics/features/supported/values/post-process.d.ts +3 -0
- package/statistics/features/supported/values/post-process.js +3 -0
- package/statistics/features/supported/variables/post-process.d.ts +7 -1
- package/statistics/features/supported/variables/post-process.js +6 -0
- package/statistics/meta-statistics.d.ts +8 -9
- package/statistics/output/file-provider.d.ts +5 -6
- package/statistics/output/file-provider.js +5 -6
- package/statistics/output/print-stats.d.ts +13 -1
- package/statistics/output/print-stats.js +12 -0
- package/statistics/output/statistics-file.d.ts +1 -2
- package/statistics/output/statistics-file.js +0 -1
- package/statistics/statistics.d.ts +3 -4
- package/statistics/statistics.js +1 -2
- package/statistics/summarizer/auto-detect.d.ts +3 -0
- package/statistics/summarizer/auto-detect.js +3 -0
- package/statistics/summarizer/post-process/clusterer.d.ts +3 -4
- package/statistics/summarizer/post-process/clusterer.js +0 -2
- package/statistics/summarizer/post-process/file-based-count.d.ts +0 -1
- package/statistics/summarizer/post-process/file-based-count.js +0 -1
- package/statistics/summarizer/post-process/histogram.d.ts +0 -2
- package/statistics/summarizer/post-process/histogram.js +0 -2
- package/statistics/summarizer/post-process/post-process-output.d.ts +2 -4
- package/statistics/summarizer/post-process/post-process-output.js +0 -3
- package/statistics/summarizer/second-phase/process.d.ts +5 -3
- package/statistics/summarizer/second-phase/process.js +3 -1
- package/statistics/summarizer/summarizer.d.ts +1 -2
- package/util/assert.d.ts +52 -2
- package/util/assert.js +52 -2
- package/util/collections/arrays.d.ts +10 -5
- package/util/collections/arrays.js +10 -5
- package/util/collections/defaultmap.d.ts +11 -11
- package/util/collections/defaultmap.js +11 -11
- package/util/containers.d.ts +2 -7
- package/util/containers.js +0 -5
- package/util/diff-graph.d.ts +0 -1
- package/util/diff-graph.js +0 -1
- package/util/diff.d.ts +3 -1
- package/util/diff.js +3 -1
- package/util/files.d.ts +11 -11
- package/util/files.js +10 -10
- package/util/formats/adapter.d.ts +9 -0
- package/util/formats/adapter.js +9 -0
- package/util/formats/adapters/rmd-adapter.d.ts +10 -1
- package/util/formats/adapters/rmd-adapter.js +10 -1
- package/util/html-hover-over.d.ts +5 -0
- package/util/html-hover-over.js +5 -0
- package/util/json.d.ts +13 -0
- package/util/json.js +13 -0
- package/util/log.d.ts +2 -2
- package/util/log.js +2 -2
- package/util/mermaid/ast.d.ts +3 -0
- package/util/mermaid/ast.js +3 -0
- package/util/mermaid/cfg.d.ts +1 -1
- package/util/mermaid/dfg.d.ts +12 -4
- package/util/mermaid/dfg.js +9 -1
- package/util/mermaid/mermaid.d.ts +6 -1
- package/util/mermaid/mermaid.js +6 -1
- package/util/numbers.d.ts +7 -0
- package/util/numbers.js +7 -0
- package/util/objects.d.ts +0 -2
- package/util/os.d.ts +3 -0
- package/util/os.js +3 -0
- package/util/parallel.d.ts +4 -4
- package/util/parallel.js +4 -4
- package/util/prefix.d.ts +0 -1
- package/util/prefix.js +0 -1
- package/util/quads.d.ts +14 -17
- package/util/quads.js +3 -5
- package/util/r-value.d.ts +10 -1
- package/util/r-value.js +21 -0
- package/util/random.d.ts +3 -0
- package/util/random.js +3 -0
- package/util/range.d.ts +9 -3
- package/util/range.js +15 -2
- package/util/schema.d.ts +14 -1
- package/util/schema.js +15 -2
- package/util/simple-df/dfg-view.d.ts +4 -1
- package/util/simple-df/dfg-view.js +4 -1
- package/util/summarizer.d.ts +9 -1
- package/util/summarizer.js +9 -0
- package/util/text/ansi.d.ts +3 -0
- package/util/text/ansi.js +3 -0
- package/util/text/args.d.ts +2 -4
- package/util/text/args.js +7 -5
- package/util/text/text.d.ts +4 -0
- package/util/text/text.js +4 -0
- package/util/text/time.d.ts +0 -1
- package/util/text/time.js +0 -1
- package/util/version.d.ts +12 -3
- package/util/version.js +12 -3
- package/abstract-interpretation/data-frame/domain.d.ts +0 -107
- package/abstract-interpretation/data-frame/domain.js +0 -315
- package/abstract-interpretation/domains/set-bounded-set-domain.d.ts +0 -43
- package/abstract-interpretation/domains/set-bounded-set-domain.js +0 -164
- package/cli/repl/commands/repl-lineage.d.ts +0 -15
- package/cli/repl/commands/repl-lineage.js +0 -66
- package/cli/repl/server/messages/message-lineage.d.ts +0 -17
- package/cli/repl/server/messages/message-lineage.js +0 -25
- package/queries/catalog/lineage-query/lineage-query-executor.d.ts +0 -3
- package/queries/catalog/lineage-query/lineage-query-executor.js +0 -22
- package/queries/catalog/lineage-query/lineage-query-format.d.ts +0 -22
- package/queries/catalog/lineage-query/lineage-query-format.js +0 -31
|
@@ -22,13 +22,13 @@ const assert_1 = require("../util/assert");
|
|
|
22
22
|
* ```ts
|
|
23
23
|
* const stepper = new PipelineExecutor( ... )
|
|
24
24
|
* while(stepper.hasNextStep()) {
|
|
25
|
-
*
|
|
25
|
+
* await stepper.nextStep()
|
|
26
26
|
* }
|
|
27
27
|
*
|
|
28
28
|
* stepper.switchToRequestStage()
|
|
29
29
|
*
|
|
30
30
|
* while(stepper.hasNextStep()) {
|
|
31
|
-
*
|
|
31
|
+
* await stepper.nextStep()
|
|
32
32
|
* }
|
|
33
33
|
*
|
|
34
34
|
* const result = stepper.getResults()
|
|
@@ -66,10 +66,10 @@ const assert_1 = require("../util/assert");
|
|
|
66
66
|
*
|
|
67
67
|
* ```ts
|
|
68
68
|
* const slicer = new PipelineExecutor(DEFAULT_SLICING_PIPELINE, {
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
69
|
+
* parser: new RShell(),
|
|
70
|
+
* // of course, the criterion and request given here are just examples, you can use whatever you want to slice!
|
|
71
|
+
* criterion: ['2@b'],
|
|
72
|
+
* request: requestFromInput('b <- 3; x <- 5\ncat(b)'),
|
|
73
73
|
* })
|
|
74
74
|
* const result = await slicer.allRemainingSteps()
|
|
75
75
|
* ```
|
|
@@ -80,12 +80,10 @@ const assert_1 = require("../util/assert");
|
|
|
80
80
|
* stepper.updateRequest({ criterion: ['1@x'] })
|
|
81
81
|
* const result2 = await stepper.allRemainingSteps()
|
|
82
82
|
* ```
|
|
83
|
-
*
|
|
84
83
|
* @note Even though using the pipeline executor introduces a small performance overhead, we consider
|
|
85
84
|
* it to be the baseline for performance benchmarking. It may very well be possible to squeeze out a little bit more by
|
|
86
85
|
* directly constructing the steps in the right order. However, we consider this to be negligible when compared with the time required
|
|
87
86
|
* for, for example, the dataflow analysis of larger files.
|
|
88
|
-
*
|
|
89
87
|
* @see PipelineExecutor#allRemainingSteps
|
|
90
88
|
* @see PipelineExecutor#nextStep
|
|
91
89
|
*/
|
|
@@ -103,7 +101,6 @@ class PipelineExecutor {
|
|
|
103
101
|
*
|
|
104
102
|
* Please see {@link createDataflowPipeline} and friends for engine agnostic shortcuts to create a pipeline executor.
|
|
105
103
|
* And in general, please prefer using the {@link FlowrAnalyzer} and its {@link FlowrAnalyzerBuilder|builder} to create and use an analyzer instance.
|
|
106
|
-
*
|
|
107
104
|
* @param pipeline - The {@link Pipeline} to execute, probably created with {@link createPipeline}.
|
|
108
105
|
* @param input - External {@link PipelineInput|configuration and input} required to execute the given pipeline.
|
|
109
106
|
* @param flowrConfig - The flowr config containing the built-in definitions
|
|
@@ -122,7 +119,6 @@ class PipelineExecutor {
|
|
|
122
119
|
}
|
|
123
120
|
/**
|
|
124
121
|
* Retrieve the current {@link PipelineStepStage|stage} the pipeline executor is in.
|
|
125
|
-
*
|
|
126
122
|
* @see currentExecutionStage
|
|
127
123
|
* @see switchToRequestStage
|
|
128
124
|
* @see PipelineStepStage
|
|
@@ -135,7 +131,6 @@ class PipelineExecutor {
|
|
|
135
131
|
*
|
|
136
132
|
* This will fail if either a step change is currently not valid (as not all steps have been executed),
|
|
137
133
|
* or if there is no next stage (i.e., the pipeline is already completed or in the last stage).
|
|
138
|
-
*
|
|
139
134
|
* @see PipelineExecutor
|
|
140
135
|
* @see getCurrentStage
|
|
141
136
|
*/
|
|
@@ -146,10 +141,9 @@ class PipelineExecutor {
|
|
|
146
141
|
}
|
|
147
142
|
/**
|
|
148
143
|
* Returns the results of the pipeline.
|
|
149
|
-
*
|
|
150
144
|
* @param intermediate - Normally you can only receive the results *after* the stepper completed the step of interested.
|
|
151
|
-
*
|
|
152
|
-
*
|
|
145
|
+
* However, if you pass `true` to this parameter, you can also receive the results *before* the {@link PipelineExecutor|pipeline executor}
|
|
146
|
+
* completed, although the typing system then cannot guarantee which of the steps have already happened.
|
|
153
147
|
*/
|
|
154
148
|
getResults(intermediate = false) {
|
|
155
149
|
(0, assert_1.guard)(intermediate || this.stepCounter >= this.length, 'Without the intermediate flag, the pipeline must be completed before providing access to the results.');
|
|
@@ -168,9 +162,8 @@ class PipelineExecutor {
|
|
|
168
162
|
* Execute the next {@link IPipelineStep|step} and return the name of the {@link IPipelineStep|step} that was executed,
|
|
169
163
|
* so you can guard if the {@link IPipelineStep|step} differs from what you are interested in.
|
|
170
164
|
* Furthermore, it returns the {@link IPipelineStep|step's} result.
|
|
171
|
-
*
|
|
172
165
|
* @param expectedStepName - A safeguard if you want to retrieve the result.
|
|
173
|
-
*
|
|
166
|
+
* If given, it causes the execution to fail if the next step is not the one you expect.
|
|
174
167
|
*
|
|
175
168
|
* _Without `expectedStepName`, please refrain from accessing the result, as you have no safeguards if the pipeline changes._
|
|
176
169
|
*/
|
|
@@ -193,7 +186,6 @@ class PipelineExecutor {
|
|
|
193
186
|
/**
|
|
194
187
|
* This only makes sense if you have already run a request and want to re-use the per-file results for a new one.
|
|
195
188
|
* (or if for whatever reason, you did not pass information for the pipeline with the constructor).
|
|
196
|
-
*
|
|
197
189
|
* @param newRequestData - Data for the new request
|
|
198
190
|
*/
|
|
199
191
|
updateRequest(newRequestData) {
|
|
@@ -214,7 +206,6 @@ class PipelineExecutor {
|
|
|
214
206
|
* @param canSwitchStage - If true, automatically switch to the request stage if necessary
|
|
215
207
|
* (i.e., this is what you want if you have never executed {@link nextStep} and you want to execute *all* steps).
|
|
216
208
|
* However, passing false allows you to only execute the steps of the 'once-per-file' stage (i.e., the steps that can be cached).
|
|
217
|
-
*
|
|
218
209
|
* @note There is a small type difference if you pass 'false' and already have manually switched to the 'once-per-request' stage.
|
|
219
210
|
* Because now, the results of these steps are no longer part of the result type (although they are still included).
|
|
220
211
|
* In such a case, you may be better off with simply passing 'true' as the function will detect that the stage is already switched.
|
|
@@ -2,6 +2,25 @@ import type { DataflowInformation } from '../../dataflow/info';
|
|
|
2
2
|
import type { QuadSerializationConfiguration } from '../../util/quads';
|
|
3
3
|
/** Should work with larger things as well */
|
|
4
4
|
export declare function dataflowGraphToJson(df: DataflowInformation): string;
|
|
5
|
+
/**
|
|
6
|
+
* Convert the dataflow graph to a mermaid string.
|
|
7
|
+
* @see {@link graphToMermaid}
|
|
8
|
+
* @see {@link dataflowGraphToMermaidUrl}
|
|
9
|
+
* @see {@link dataflowGraphToJson}
|
|
10
|
+
*/
|
|
5
11
|
export declare function dataflowGraphToMermaid(df: DataflowInformation): string;
|
|
12
|
+
/**
|
|
13
|
+
* Convert the dataflow graph to a mermaid URL.
|
|
14
|
+
* @see {@link graphToMermaidUrl}
|
|
15
|
+
* @see {@link dataflowGraphToMermaid}
|
|
16
|
+
* @see {@link dataflowGraphToJson}
|
|
17
|
+
*/
|
|
6
18
|
export declare function dataflowGraphToMermaidUrl(df: DataflowInformation): string;
|
|
19
|
+
/**
|
|
20
|
+
* Transforms the dataflow graph into a quad serialization.
|
|
21
|
+
* @see {@link df2quads}
|
|
22
|
+
* @see {@link dataflowGraphToMermaidUrl}
|
|
23
|
+
* @see {@link dataflowGraphToMermaid}
|
|
24
|
+
* @see {@link dataflowGraphToJson}
|
|
25
|
+
*/
|
|
7
26
|
export declare function dataflowGraphToQuads(df: DataflowInformation, config: QuadSerializationConfiguration): string;
|
|
@@ -52,12 +52,31 @@ function objectJson(df) {
|
|
|
52
52
|
function dataflowGraphToJson(df) {
|
|
53
53
|
return objectJson(df);
|
|
54
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Convert the dataflow graph to a mermaid string.
|
|
57
|
+
* @see {@link graphToMermaid}
|
|
58
|
+
* @see {@link dataflowGraphToMermaidUrl}
|
|
59
|
+
* @see {@link dataflowGraphToJson}
|
|
60
|
+
*/
|
|
55
61
|
function dataflowGraphToMermaid(df) {
|
|
56
62
|
return (0, dfg_1.graphToMermaid)({ graph: df.graph }).string;
|
|
57
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Convert the dataflow graph to a mermaid URL.
|
|
66
|
+
* @see {@link graphToMermaidUrl}
|
|
67
|
+
* @see {@link dataflowGraphToMermaid}
|
|
68
|
+
* @see {@link dataflowGraphToJson}
|
|
69
|
+
*/
|
|
58
70
|
function dataflowGraphToMermaidUrl(df) {
|
|
59
71
|
return (0, dfg_1.graphToMermaidUrl)(df.graph);
|
|
60
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Transforms the dataflow graph into a quad serialization.
|
|
75
|
+
* @see {@link df2quads}
|
|
76
|
+
* @see {@link dataflowGraphToMermaidUrl}
|
|
77
|
+
* @see {@link dataflowGraphToMermaid}
|
|
78
|
+
* @see {@link dataflowGraphToJson}
|
|
79
|
+
*/
|
|
61
80
|
function dataflowGraphToQuads(df, config) {
|
|
62
81
|
return (0, quads_1.df2quads)(df.graph, config);
|
|
63
82
|
}
|
|
@@ -1,7 +1,27 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type QuadSerializationConfiguration } from '../../util/quads';
|
|
2
2
|
import type { NormalizedAst } from '../../r-bridge/lang-4.x/ast/model/processing/decorate';
|
|
3
3
|
/** Should work with larger things as well */
|
|
4
4
|
export declare function normalizedAstToJson(ast: NormalizedAst): string;
|
|
5
|
+
/**
|
|
6
|
+
* Normalized AST to quads serialization
|
|
7
|
+
* @see {@link serialize2quads}
|
|
8
|
+
* @see {@link QuadSerializationConfiguration}
|
|
9
|
+
* @see {@link normalizedAstToMermaid}
|
|
10
|
+
* @see {@link normalizedAstToMermaidUrl}
|
|
11
|
+
* @see {@link printNormalizedAstToMermaidUrl}
|
|
12
|
+
*/
|
|
5
13
|
export declare function normalizedAstToQuads(ast: NormalizedAst, config: QuadSerializationConfiguration): string;
|
|
14
|
+
/**
|
|
15
|
+
* Serialize the normalized AST to mermaid format
|
|
16
|
+
* @see {@link normalizedAstToMermaid}
|
|
17
|
+
* @see {@link normalizedAstToMermaidUrl}
|
|
18
|
+
* @see {@link printNormalizedAstToMermaidUrl}
|
|
19
|
+
*/
|
|
6
20
|
export declare function printNormalizedAstToMermaid(ast: NormalizedAst): string;
|
|
21
|
+
/**
|
|
22
|
+
* Serialize the normalized AST to a mermaid URL
|
|
23
|
+
* @see {@link normalizedAstToMermaid}
|
|
24
|
+
* @see {@link normalizedAstToMermaidUrl}
|
|
25
|
+
* @see {@link printNormalizedAstToMermaid}
|
|
26
|
+
*/
|
|
7
27
|
export declare function printNormalizedAstToMermaidUrl(ast: NormalizedAst): string;
|
|
@@ -17,12 +17,32 @@ function normalizedAstToJson(ast) {
|
|
|
17
17
|
return (0, json_1.jsonReplacer)(k, v);
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Normalized AST to quads serialization
|
|
22
|
+
* @see {@link serialize2quads}
|
|
23
|
+
* @see {@link QuadSerializationConfiguration}
|
|
24
|
+
* @see {@link normalizedAstToMermaid}
|
|
25
|
+
* @see {@link normalizedAstToMermaidUrl}
|
|
26
|
+
* @see {@link printNormalizedAstToMermaidUrl}
|
|
27
|
+
*/
|
|
20
28
|
function normalizedAstToQuads(ast, config) {
|
|
21
29
|
return (0, quads_1.serialize2quads)(ast.ast, config);
|
|
22
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Serialize the normalized AST to mermaid format
|
|
33
|
+
* @see {@link normalizedAstToMermaid}
|
|
34
|
+
* @see {@link normalizedAstToMermaidUrl}
|
|
35
|
+
* @see {@link printNormalizedAstToMermaidUrl}
|
|
36
|
+
*/
|
|
23
37
|
function printNormalizedAstToMermaid(ast) {
|
|
24
38
|
return (0, ast_1.normalizedAstToMermaid)(ast.ast);
|
|
25
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Serialize the normalized AST to a mermaid URL
|
|
42
|
+
* @see {@link normalizedAstToMermaid}
|
|
43
|
+
* @see {@link normalizedAstToMermaidUrl}
|
|
44
|
+
* @see {@link printNormalizedAstToMermaid}
|
|
45
|
+
*/
|
|
26
46
|
function printNormalizedAstToMermaidUrl(ast) {
|
|
27
47
|
return (0, ast_1.normalizedAstToMermaidUrl)(ast.ast);
|
|
28
48
|
}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type QuadSerializationConfiguration } from '../../util/quads';
|
|
2
|
+
/**
|
|
3
|
+
* Parse R code and serialize it to quads
|
|
4
|
+
* @see {@link serialize2quads}
|
|
5
|
+
* @see {@link QuadSerializationConfiguration}
|
|
6
|
+
*/
|
|
2
7
|
export declare function parseToQuads(code: string, config: QuadSerializationConfiguration): string;
|
|
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.parseToQuads = parseToQuads;
|
|
4
4
|
const quads_1 = require("../../util/quads");
|
|
5
5
|
const format_1 = require("../../r-bridge/lang-4.x/ast/parser/json/format");
|
|
6
|
+
/**
|
|
7
|
+
* Parse R code and serialize it to quads
|
|
8
|
+
* @see {@link serialize2quads}
|
|
9
|
+
* @see {@link QuadSerializationConfiguration}
|
|
10
|
+
*/
|
|
6
11
|
function parseToQuads(code, config) {
|
|
7
12
|
return (0, quads_1.serialize2quads)((0, format_1.convertPreparedParsedData)((0, format_1.prepareParsedData)(code)), config);
|
|
8
13
|
}
|
package/core/print/print.d.ts
CHANGED
|
@@ -37,7 +37,6 @@ export declare const enum StepOutputFormat {
|
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Helper function to support the {@link Internal} format, as it is simply returning the input.
|
|
40
|
-
*
|
|
41
40
|
* @see IPipelineStepPrinter
|
|
42
41
|
*/
|
|
43
42
|
export declare function internalPrinter<Input>(input: Input): Input;
|
package/core/print/print.js
CHANGED
|
@@ -5,7 +5,6 @@ exports.printStepResult = printStepResult;
|
|
|
5
5
|
const assert_1 = require("../../util/assert");
|
|
6
6
|
/**
|
|
7
7
|
* Helper function to support the {@link Internal} format, as it is simply returning the input.
|
|
8
|
-
*
|
|
9
8
|
* @see IPipelineStepPrinter
|
|
10
9
|
*/
|
|
11
10
|
function internalPrinter(input) {
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import type { NodeId } from '../../r-bridge/lang-4.x/ast/model/processing/node-id';
|
|
2
2
|
import type { NormalizedAst } from '../../r-bridge/lang-4.x/ast/model/processing/decorate';
|
|
3
|
+
/**
|
|
4
|
+
* Print a slice diff with ANSI colors
|
|
5
|
+
*/
|
|
3
6
|
export declare function sliceDiffAnsi(slice: ReadonlySet<NodeId>, normalized: NormalizedAst, criteriaIds: ReadonlySet<NodeId>, originalCode: string): string;
|
|
@@ -26,6 +26,9 @@ function highlight(s, selected) {
|
|
|
26
26
|
const primary = ansi_1.ansiFormatter.format(s, { color: 3 /* Colors.Yellow */, effect: ansi_1.ColorEffect.Foreground, style: 1 /* FontStyles.Bold */ });
|
|
27
27
|
return selected ? ansi_1.ansiFormatter.format(primary, { style: 4 /* FontStyles.Underline */ }) : primary;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Print a slice diff with ANSI colors
|
|
31
|
+
*/
|
|
29
32
|
function sliceDiffAnsi(slice, normalized, criteriaIds, originalCode) {
|
|
30
33
|
let importantLocations = Array.from(normalized.idMap.entries())
|
|
31
34
|
.filter(([id, { location }]) => slice.has(id) && (0, assert_1.isNotUndefined)(location))
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { internalPrinter } from '../../../print/print';
|
|
2
2
|
import { PipelineStepStage } from '../../pipeline-step';
|
|
3
3
|
import type { QuadSerializationConfiguration } from '../../../../util/quads';
|
|
4
|
-
import type
|
|
4
|
+
import { type ParseRequiredInput } from '../../../../r-bridge/parser';
|
|
5
5
|
export declare const PARSE_WITH_R_SHELL_STEP: {
|
|
6
6
|
readonly name: "parse";
|
|
7
7
|
readonly humanReadableName: "parse with R shell";
|
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
import { PipelineStepStage } from '../../pipeline-step';
|
|
2
2
|
import { internalPrinter } from '../../../print/print';
|
|
3
3
|
import type { Tree } from 'web-tree-sitter';
|
|
4
|
-
import type
|
|
5
|
-
export interface ParseStepOutputTS {
|
|
6
|
-
readonly parsed: Tree;
|
|
7
|
-
}
|
|
8
|
-
export interface TreeSitterParseJson {
|
|
9
|
-
readonly '.meta': {
|
|
10
|
-
readonly tokenCount: number;
|
|
11
|
-
readonly tokenCountNoComments: number;
|
|
12
|
-
};
|
|
13
|
-
readonly str: string;
|
|
14
|
-
}
|
|
4
|
+
import { type ParseRequiredInput } from '../../../../r-bridge/parser';
|
|
15
5
|
export declare const PARSE_WITH_TREE_SITTER_STEP: {
|
|
16
6
|
readonly name: "parse";
|
|
17
7
|
readonly humanReadableName: "parse with tree-sitter";
|
|
@@ -12,6 +12,9 @@ export interface NormalizeRequiredInput {
|
|
|
12
12
|
/** assume the input stems from a file and use the given path as the file path for the AST */
|
|
13
13
|
readonly overwriteFilePath?: string;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Get the file attached to the current request, if any
|
|
17
|
+
*/
|
|
15
18
|
export declare function getCurrentRequestFile(request: RParseRequests | undefined): string | undefined;
|
|
16
19
|
declare function processor(results: {
|
|
17
20
|
parse?: ParseStepOutput<string>;
|
|
@@ -5,6 +5,9 @@ exports.getCurrentRequestFile = getCurrentRequestFile;
|
|
|
5
5
|
const print_1 = require("../../../print/print");
|
|
6
6
|
const normalize_printer_1 = require("../../../print/normalize-printer");
|
|
7
7
|
const parser_1 = require("../../../../r-bridge/lang-4.x/ast/parser/json/parser");
|
|
8
|
+
/**
|
|
9
|
+
* Get the file attached to the current request, if any
|
|
10
|
+
*/
|
|
8
11
|
function getCurrentRequestFile(request) {
|
|
9
12
|
if (request === undefined) {
|
|
10
13
|
return undefined;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { internalPrinter } from '../../../print/print';
|
|
2
2
|
import { normalizedAstToJson, normalizedAstToQuads, printNormalizedAstToMermaid, printNormalizedAstToMermaidUrl } from '../../../print/normalize-printer';
|
|
3
3
|
import { PipelineStepStage } from '../../pipeline-step';
|
|
4
|
-
import type
|
|
5
|
-
import type { ParseStepOutputTS } from './01-parse-tree-sitter';
|
|
4
|
+
import { type NormalizeRequiredInput } from './10-normalize';
|
|
6
5
|
import type { FlowrConfigOptions } from '../../../../config';
|
|
6
|
+
import type { ParseStepOutput } from '../../../../r-bridge/parser';
|
|
7
|
+
import type { Tree } from 'web-tree-sitter';
|
|
7
8
|
declare function processor(results: {
|
|
8
|
-
'parse'?:
|
|
9
|
+
'parse'?: ParseStepOutput<Tree>;
|
|
9
10
|
}, input: Partial<NormalizeRequiredInput>, config: FlowrConfigOptions): import("../../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
10
11
|
export declare const NORMALIZE_TREE_SITTER: {
|
|
11
12
|
readonly name: "normalize";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type IPipelineStep } from '../pipeline-step';
|
|
2
2
|
import type { Pipeline } from './pipeline';
|
|
3
3
|
/**
|
|
4
4
|
* Given a set of {@link IPipelineStep|steps} with their dependencies, this function verifies all requirements of {@link createPipeline}.
|
|
@@ -8,20 +8,6 @@ import type { RShell } from '../../../r-bridge/shell';
|
|
|
8
8
|
import type { TreeSitterExecutor } from '../../../r-bridge/lang-4.x/tree-sitter/tree-sitter-executor';
|
|
9
9
|
import type { FlowrConfigOptions } from '../../../config';
|
|
10
10
|
export declare const DEFAULT_SLICING_PIPELINE: import("./pipeline").Pipeline<{
|
|
11
|
-
readonly name: "slice";
|
|
12
|
-
readonly humanReadableName: "static slice";
|
|
13
|
-
readonly description: "Calculate the actual static slice from the dataflow graph and the given slicing criteria";
|
|
14
|
-
readonly processor: (results: {
|
|
15
|
-
dataflow?: import("../../../dataflow/info").DataflowInformation;
|
|
16
|
-
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
17
|
-
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput>, _config: FlowrConfigOptions) => Readonly<import("../../../slicing/static/slicer-types").SliceResult>;
|
|
18
|
-
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerRequest;
|
|
19
|
-
readonly printer: {
|
|
20
|
-
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
21
|
-
};
|
|
22
|
-
readonly dependencies: readonly ["dataflow"];
|
|
23
|
-
readonly requiredInput: import("../all/static-slicing/00-slice").SliceRequiredInput;
|
|
24
|
-
} | {
|
|
25
11
|
readonly name: "parse";
|
|
26
12
|
readonly humanReadableName: "parse with R shell";
|
|
27
13
|
readonly description: "Parse the given R code into an AST";
|
|
@@ -54,6 +40,20 @@ export declare const DEFAULT_SLICING_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
54
40
|
};
|
|
55
41
|
readonly dependencies: readonly ["parse"];
|
|
56
42
|
readonly requiredInput: import("../all/core/10-normalize").NormalizeRequiredInput;
|
|
43
|
+
} | {
|
|
44
|
+
readonly name: "slice";
|
|
45
|
+
readonly humanReadableName: "static slice";
|
|
46
|
+
readonly description: "Calculate the actual static slice from the dataflow graph and the given slicing criteria";
|
|
47
|
+
readonly processor: (results: {
|
|
48
|
+
dataflow?: import("../../../dataflow/info").DataflowInformation;
|
|
49
|
+
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
50
|
+
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput>, _config: FlowrConfigOptions) => Readonly<import("../../../slicing/static/slicer-types").SliceResult>;
|
|
51
|
+
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerRequest;
|
|
52
|
+
readonly printer: {
|
|
53
|
+
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
54
|
+
};
|
|
55
|
+
readonly dependencies: readonly ["dataflow"];
|
|
56
|
+
readonly requiredInput: import("../all/static-slicing/00-slice").SliceRequiredInput;
|
|
57
57
|
} | {
|
|
58
58
|
readonly humanReadableName: "dataflow";
|
|
59
59
|
readonly processor: (results: {
|
|
@@ -92,20 +92,6 @@ export declare const DEFAULT_SLICING_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
92
92
|
readonly requiredInput: import("../all/static-slicing/10-reconstruct").ReconstructRequiredInput;
|
|
93
93
|
}>;
|
|
94
94
|
export declare const DEFAULT_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipeline").Pipeline<{
|
|
95
|
-
readonly name: "slice";
|
|
96
|
-
readonly humanReadableName: "static slice";
|
|
97
|
-
readonly description: "Calculate the actual static slice from the dataflow graph and the given slicing criteria";
|
|
98
|
-
readonly processor: (results: {
|
|
99
|
-
dataflow?: import("../../../dataflow/info").DataflowInformation;
|
|
100
|
-
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
101
|
-
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput>, _config: FlowrConfigOptions) => Readonly<import("../../../slicing/static/slicer-types").SliceResult>;
|
|
102
|
-
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerRequest;
|
|
103
|
-
readonly printer: {
|
|
104
|
-
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
105
|
-
};
|
|
106
|
-
readonly dependencies: readonly ["dataflow"];
|
|
107
|
-
readonly requiredInput: import("../all/static-slicing/00-slice").SliceRequiredInput;
|
|
108
|
-
} | {
|
|
109
95
|
readonly name: "parse";
|
|
110
96
|
readonly humanReadableName: "parse with R shell";
|
|
111
97
|
readonly description: "Parse the given R code into an AST";
|
|
@@ -138,6 +124,20 @@ export declare const DEFAULT_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipeline"
|
|
|
138
124
|
};
|
|
139
125
|
readonly dependencies: readonly ["parse"];
|
|
140
126
|
readonly requiredInput: import("../all/core/10-normalize").NormalizeRequiredInput;
|
|
127
|
+
} | {
|
|
128
|
+
readonly name: "slice";
|
|
129
|
+
readonly humanReadableName: "static slice";
|
|
130
|
+
readonly description: "Calculate the actual static slice from the dataflow graph and the given slicing criteria";
|
|
131
|
+
readonly processor: (results: {
|
|
132
|
+
dataflow?: import("../../../dataflow/info").DataflowInformation;
|
|
133
|
+
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
134
|
+
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput>, _config: FlowrConfigOptions) => Readonly<import("../../../slicing/static/slicer-types").SliceResult>;
|
|
135
|
+
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerRequest;
|
|
136
|
+
readonly printer: {
|
|
137
|
+
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
138
|
+
};
|
|
139
|
+
readonly dependencies: readonly ["dataflow"];
|
|
140
|
+
readonly requiredInput: import("../all/static-slicing/00-slice").SliceRequiredInput;
|
|
141
141
|
} | {
|
|
142
142
|
readonly humanReadableName: "dataflow";
|
|
143
143
|
readonly processor: (results: {
|
|
@@ -176,20 +176,6 @@ export declare const DEFAULT_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipeline"
|
|
|
176
176
|
readonly requiredInput: import("../all/static-slicing/10-reconstruct").ReconstructRequiredInput;
|
|
177
177
|
}>;
|
|
178
178
|
export declare const DEFAULT_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./pipeline").Pipeline<{
|
|
179
|
-
readonly name: "slice";
|
|
180
|
-
readonly humanReadableName: "static slice";
|
|
181
|
-
readonly description: "Calculate the actual static slice from the dataflow graph and the given slicing criteria";
|
|
182
|
-
readonly processor: (results: {
|
|
183
|
-
dataflow?: import("../../../dataflow/info").DataflowInformation;
|
|
184
|
-
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
185
|
-
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput>, _config: FlowrConfigOptions) => Readonly<import("../../../slicing/static/slicer-types").SliceResult>;
|
|
186
|
-
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerRequest;
|
|
187
|
-
readonly printer: {
|
|
188
|
-
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
189
|
-
};
|
|
190
|
-
readonly dependencies: readonly ["dataflow"];
|
|
191
|
-
readonly requiredInput: import("../all/static-slicing/00-slice").SliceRequiredInput;
|
|
192
|
-
} | {
|
|
193
179
|
readonly name: "parse";
|
|
194
180
|
readonly humanReadableName: "parse with R shell";
|
|
195
181
|
readonly description: "Parse the given R code into an AST";
|
|
@@ -222,6 +208,20 @@ export declare const DEFAULT_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./pipel
|
|
|
222
208
|
};
|
|
223
209
|
readonly dependencies: readonly ["parse"];
|
|
224
210
|
readonly requiredInput: import("../all/core/10-normalize").NormalizeRequiredInput;
|
|
211
|
+
} | {
|
|
212
|
+
readonly name: "slice";
|
|
213
|
+
readonly humanReadableName: "static slice";
|
|
214
|
+
readonly description: "Calculate the actual static slice from the dataflow graph and the given slicing criteria";
|
|
215
|
+
readonly processor: (results: {
|
|
216
|
+
dataflow?: import("../../../dataflow/info").DataflowInformation;
|
|
217
|
+
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
218
|
+
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput>, _config: FlowrConfigOptions) => Readonly<import("../../../slicing/static/slicer-types").SliceResult>;
|
|
219
|
+
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerRequest;
|
|
220
|
+
readonly printer: {
|
|
221
|
+
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
222
|
+
};
|
|
223
|
+
readonly dependencies: readonly ["dataflow"];
|
|
224
|
+
readonly requiredInput: import("../all/static-slicing/00-slice").SliceRequiredInput;
|
|
225
225
|
} | {
|
|
226
226
|
readonly humanReadableName: "dataflow";
|
|
227
227
|
readonly processor: (results: {
|
|
@@ -315,7 +315,7 @@ export declare const TREE_SITTER_SLICING_PIPELINE: import("./pipeline").Pipeline
|
|
|
315
315
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
316
316
|
readonly description: "Normalize the AST to flowR's AST";
|
|
317
317
|
readonly processor: (results: {
|
|
318
|
-
"parse"?: import("
|
|
318
|
+
"parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
319
319
|
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
320
320
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
321
321
|
readonly printer: {
|
|
@@ -398,7 +398,7 @@ export declare const TREE_SITTER_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipel
|
|
|
398
398
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
399
399
|
readonly description: "Normalize the AST to flowR's AST";
|
|
400
400
|
readonly processor: (results: {
|
|
401
|
-
"parse"?: import("
|
|
401
|
+
"parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
402
402
|
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
403
403
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
404
404
|
readonly printer: {
|
|
@@ -467,7 +467,7 @@ export declare const TREE_SITTER_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./p
|
|
|
467
467
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
468
468
|
readonly description: "Normalize the AST to flowR's AST";
|
|
469
469
|
readonly processor: (results: {
|
|
470
|
-
"parse"?: import("
|
|
470
|
+
"parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
471
471
|
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
472
472
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
473
473
|
readonly printer: {
|
|
@@ -583,7 +583,7 @@ export declare const TREE_SITTER_DATAFLOW_PIPELINE: import("./pipeline").Pipelin
|
|
|
583
583
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
584
584
|
readonly description: "Normalize the AST to flowR's AST";
|
|
585
585
|
readonly processor: (results: {
|
|
586
|
-
"parse"?: import("
|
|
586
|
+
"parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
587
587
|
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
588
588
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
589
589
|
readonly printer: {
|
|
@@ -651,7 +651,7 @@ export declare const TREE_SITTER_NORMALIZE_PIPELINE: import("./pipeline").Pipeli
|
|
|
651
651
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
652
652
|
readonly description: "Normalize the AST to flowR's AST";
|
|
653
653
|
readonly processor: (results: {
|
|
654
|
-
"parse"?: import("
|
|
654
|
+
"parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
655
655
|
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
656
656
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
657
657
|
readonly printer: {
|
|
@@ -35,7 +35,6 @@ exports.TREE_SITTER_PARSE_PIPELINE = (0, pipeline_1.createPipeline)(_01_parse_tr
|
|
|
35
35
|
/**
|
|
36
36
|
* **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
|
|
37
37
|
* Returns either a {@link DEFAULT_PARSE_PIPELINE} or a {@link TREE_SITTER_PARSE_PIPELINE} depending on the parser used.
|
|
38
|
-
*
|
|
39
38
|
* @see {@link createNormalizePipeline}, {@link createDataflowPipeline}, {@link createSlicePipeline}
|
|
40
39
|
*/
|
|
41
40
|
function createParsePipeline(parser, inputs, config) {
|
|
@@ -48,7 +47,6 @@ function createParsePipeline(parser, inputs, config) {
|
|
|
48
47
|
/**
|
|
49
48
|
* **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
|
|
50
49
|
* Returns either a {@link DEFAULT_SLICING_PIPELINE} or a {@link TREE_SITTER_SLICING_PIPELINE} depending on the parser used.
|
|
51
|
-
*
|
|
52
50
|
* @see {@link createParsePipeline}, {@link createNormalizePipeline}, {@link createDataflowPipeline}
|
|
53
51
|
*/
|
|
54
52
|
function createSlicePipeline(parser, inputs, config) {
|
|
@@ -61,7 +59,6 @@ function createSlicePipeline(parser, inputs, config) {
|
|
|
61
59
|
/**
|
|
62
60
|
* **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
|
|
63
61
|
* Returns either a {@link DEFAULT_NORMALIZE_PIPELINE} or a {@link TREE_SITTER_NORMALIZE_PIPELINE} depending on the parser used.
|
|
64
|
-
*
|
|
65
62
|
* @see {@link createParsePipeline}, {@link createDataflowPipeline}, {@link createSlicePipeline}
|
|
66
63
|
*/
|
|
67
64
|
function createNormalizePipeline(parser, inputs, config) {
|
|
@@ -74,7 +71,6 @@ function createNormalizePipeline(parser, inputs, config) {
|
|
|
74
71
|
/**
|
|
75
72
|
* **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
|
|
76
73
|
* Returns either a {@link DEFAULT_DATAFLOW_PIPELINE} or a {@link TREE_SITTER_DATAFLOW_PIPELINE} depending on the parser used.
|
|
77
|
-
*
|
|
78
74
|
* @see {@link createParsePipeline}, {@link createNormalizePipeline}, {@link createSlicePipeline}
|
|
79
75
|
*/
|
|
80
76
|
function createDataflowPipeline(parser, inputs, config) {
|
|
@@ -18,7 +18,6 @@ export interface Pipeline<T extends IPipelineStep = IPipelineStep> {
|
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Returns the types of all step names in the given pipeline.
|
|
21
|
-
*
|
|
22
21
|
* @see Pipeline for details
|
|
23
22
|
*/
|
|
24
23
|
export type PipelineStepNames<P extends Pipeline> = PipelineStep<P>['name'];
|
|
@@ -47,7 +46,6 @@ export interface PipelinePerStepMetaInformation {
|
|
|
47
46
|
}
|
|
48
47
|
/**
|
|
49
48
|
* Returns the step with the given name from the given pipeline.
|
|
50
|
-
*
|
|
51
49
|
* @example
|
|
52
50
|
* ```ts
|
|
53
51
|
* type Foo = PipelineStepWithName<typeof DEFAULT_DATAFLOW_PIPELINE, 'parse'>
|
|
@@ -67,7 +65,6 @@ export type PipelineStepProcessorWithName<P extends Pipeline, Name extends Pipel
|
|
|
67
65
|
export type PipelineStepPrintersWithName<P extends Pipeline, Name extends PipelineStepName> = PipelineStepWithName<P, Name>['printer'];
|
|
68
66
|
/**
|
|
69
67
|
* Returns the output type of the step with the given name from the given pipeline.
|
|
70
|
-
*
|
|
71
68
|
* @example
|
|
72
69
|
* ```ts
|
|
73
70
|
* type Foo = PipelineStepOutputWithName<typeof DEFAULT_DATAFLOW_PIPELINE, 'parse'>
|
|
@@ -78,7 +75,6 @@ export type PipelineStepPrintersWithName<P extends Pipeline, Name extends Pipeli
|
|
|
78
75
|
export type PipelineStepOutputWithName<P extends Pipeline, Name extends PipelineStepName> = Awaited<ReturnType<PipelineStepProcessorWithName<P, Name>>> & PipelinePerStepMetaInformation;
|
|
79
76
|
/**
|
|
80
77
|
* Returns a union type that represents the required inputs to be passed to the given pipeline.
|
|
81
|
-
*
|
|
82
78
|
* @example
|
|
83
79
|
* ```ts
|
|
84
80
|
* type Foo = PipelineInput<typeof DEFAULT_DATAFLOW_PIPELINE>
|
|
@@ -87,7 +83,6 @@ export type PipelineStepOutputWithName<P extends Pipeline, Name extends Pipeline
|
|
|
87
83
|
*
|
|
88
84
|
* In short, this can be useful whenever you want to describe _all_ inputs a complete
|
|
89
85
|
* pipeline needs to run through (i.e., the union of all inputs required by the individual steps).
|
|
90
|
-
*
|
|
91
86
|
* @see {@link PipelineOutput}
|
|
92
87
|
*/
|
|
93
88
|
export type PipelineInput<P extends Pipeline> = UnionToIntersection<PipelineStep<P>['requiredInput']>;
|
|
@@ -125,11 +120,9 @@ export type PipelineOutput<P extends Pipeline> = {
|
|
|
125
120
|
* 4) the target of a {@link IPipelineStepOrder#decorates|step's decoration} exists
|
|
126
121
|
* 5) if a {@link IPipelineStepOrder#decorates|decoration} applies, all of its {@link IPipelineStepOrder#dependencies|dependencies} are already in the pipeline
|
|
127
122
|
* 6) in the resulting {@link Pipeline|pipeline}, there is a strict cut between {@link IPipelineStep|steps} that are executed
|
|
128
|
-
*
|
|
129
|
-
*
|
|
123
|
+
* {@link PipelineStepStage#OncePerFile|once per file} and {@link PipelineStepStage#OncePerRequest|once per request}.
|
|
130
124
|
* @returns The function will try to order your collection steps so that all the constraints hold.
|
|
131
125
|
* If it succeeds it will return the resulting {@link Pipeline|pipeline}, otherwise it will throw an {@link InvalidPipelineError}.
|
|
132
|
-
*
|
|
133
126
|
* @throws InvalidPipelineError If any of the constraints listed above are not satisfied.
|
|
134
127
|
*/
|
|
135
128
|
export declare function createPipeline<T extends readonly IPipelineStep[]>(...steps: T): Pipeline<T[number]>;
|
|
@@ -14,11 +14,9 @@ const create_pipeline_1 = require("./create-pipeline");
|
|
|
14
14
|
* 4) the target of a {@link IPipelineStepOrder#decorates|step's decoration} exists
|
|
15
15
|
* 5) if a {@link IPipelineStepOrder#decorates|decoration} applies, all of its {@link IPipelineStepOrder#dependencies|dependencies} are already in the pipeline
|
|
16
16
|
* 6) in the resulting {@link Pipeline|pipeline}, there is a strict cut between {@link IPipelineStep|steps} that are executed
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* {@link PipelineStepStage#OncePerFile|once per file} and {@link PipelineStepStage#OncePerRequest|once per request}.
|
|
19
18
|
* @returns The function will try to order your collection steps so that all the constraints hold.
|
|
20
19
|
* If it succeeds it will return the resulting {@link Pipeline|pipeline}, otherwise it will throw an {@link InvalidPipelineError}.
|
|
21
|
-
*
|
|
22
20
|
* @throws InvalidPipelineError If any of the constraints listed above are not satisfied.
|
|
23
21
|
*/
|
|
24
22
|
function createPipeline(...steps) {
|