@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.
- package/README.md +142 -45
- package/abstract-interpretation/data-frame/absint-info.d.ts +1 -1
- package/abstract-interpretation/data-frame/absint-visitor.d.ts +3 -4
- package/abstract-interpretation/data-frame/absint-visitor.js +16 -11
- 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/flowr.js +8 -4
- package/cli/repl/commands/repl-cfg.js +4 -4
- package/cli/repl/commands/repl-commands.d.ts +13 -0
- package/cli/repl/commands/repl-commands.js +15 -4
- package/cli/repl/commands/repl-dataflow.js +4 -4
- package/cli/repl/commands/repl-execute.d.ts +5 -1
- package/cli/repl/commands/repl-execute.js +12 -8
- package/cli/repl/commands/repl-main.d.ts +17 -14
- package/cli/repl/commands/repl-normalize.js +2 -2
- package/cli/repl/commands/repl-parse.js +4 -3
- package/cli/repl/commands/repl-query.js +18 -7
- package/cli/repl/commands/repl-quit.js +1 -1
- package/cli/repl/commands/repl-version.d.ts +1 -16
- package/cli/repl/commands/repl-version.js +2 -19
- package/cli/repl/core.d.ts +32 -14
- package/cli/repl/core.js +38 -35
- 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 +8 -2
- 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 +9 -33
- 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-hello.d.ts +1 -1
- 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/server.js +2 -2
- 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/all/core/20-dataflow.d.ts +3 -1
- package/core/steps/pipeline/create-pipeline.d.ts +1 -1
- package/core/steps/pipeline/default-pipelines.d.ts +29 -13
- 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 +12 -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 +13 -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 +3 -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 +16 -1
- package/dataflow/eval/values/r-value.js +14 -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 +5 -2
- package/dataflow/extractor.js +7 -5
- package/dataflow/fn/higher-order-function.d.ts +9 -0
- package/dataflow/fn/higher-order-function.js +75 -0
- 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 +11 -2
- 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 +7 -7
- 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 +24 -34
- package/documentation/print-readme.js +106 -1
- 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 +8 -14
- package/project/cache/flowr-analyzer-cache.js +21 -19
- package/project/cfg-kind.d.ts +17 -0
- package/project/cfg-kind.js +22 -0
- package/project/context/abstract-flowr-analyzer-context.d.ts +4 -0
- package/project/context/flowr-analyzer-context.d.ts +9 -6
- package/project/context/flowr-analyzer-context.js +11 -0
- package/project/context/flowr-analyzer-dependencies-context.d.ts +1 -1
- package/project/context/flowr-analyzer-dependencies-context.js +4 -0
- package/project/context/flowr-analyzer-files-context.d.ts +3 -4
- package/project/context/flowr-analyzer-files-context.js +4 -0
- package/project/context/flowr-analyzer-loading-order-context.d.ts +1 -0
- package/project/context/flowr-analyzer-loading-order-context.js +6 -0
- 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 +42 -32
- package/project/flowr-analyzer.js +14 -8
- 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 +5 -1
- 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 +6 -3
- 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 +5 -1
- 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 +6 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +48 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +22 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.js +32 -0
- 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 +91 -53
- package/queries/query.js +37 -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 +30 -2
- 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 +5 -1
- 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 +11 -2
- package/util/r-value.js +23 -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 +26 -0
- package/util/version.js +37 -1
- 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 -67
- 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
|
@@ -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";
|
|
@@ -10,7 +10,9 @@ declare function processor(results: {
|
|
|
10
10
|
}, input: {
|
|
11
11
|
request?: RParseRequests;
|
|
12
12
|
parser?: Parser<KnownParserType>;
|
|
13
|
-
}, config: FlowrConfigOptions): import("../../../../dataflow/info").DataflowInformation
|
|
13
|
+
}, config: FlowrConfigOptions): import("../../../../dataflow/info").DataflowInformation & {
|
|
14
|
+
cfgQuick: import("../../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
15
|
+
};
|
|
14
16
|
export declare const STATIC_DATAFLOW: {
|
|
15
17
|
readonly humanReadableName: "dataflow";
|
|
16
18
|
readonly processor: typeof processor;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type IPipelineStep } from '../pipeline-step';
|
|
2
2
|
import type { Pipeline } from './pipeline';
|
|
3
3
|
/**
|
|
4
4
|
* Given a set of {@link IPipelineStep|steps} with their dependencies, this function verifies all requirements of {@link createPipeline}.
|
|
@@ -61,7 +61,9 @@ export declare const DEFAULT_SLICING_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
61
61
|
}, input: {
|
|
62
62
|
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
63
63
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
64
|
-
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation
|
|
64
|
+
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
|
|
65
|
+
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
66
|
+
};
|
|
65
67
|
readonly requiredInput: {};
|
|
66
68
|
readonly name: "dataflow";
|
|
67
69
|
readonly description: "Construct the dataflow graph";
|
|
@@ -143,7 +145,9 @@ export declare const DEFAULT_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipeline"
|
|
|
143
145
|
}, input: {
|
|
144
146
|
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
145
147
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
146
|
-
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation
|
|
148
|
+
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
|
|
149
|
+
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
150
|
+
};
|
|
147
151
|
readonly requiredInput: {};
|
|
148
152
|
readonly name: "dataflow";
|
|
149
153
|
readonly description: "Construct the dataflow graph";
|
|
@@ -225,7 +229,9 @@ export declare const DEFAULT_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./pipel
|
|
|
225
229
|
}, input: {
|
|
226
230
|
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
227
231
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
228
|
-
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation
|
|
232
|
+
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
|
|
233
|
+
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
234
|
+
};
|
|
229
235
|
readonly requiredInput: {};
|
|
230
236
|
readonly name: "dataflow";
|
|
231
237
|
readonly description: "Construct the dataflow graph";
|
|
@@ -260,7 +266,9 @@ export declare const TREE_SITTER_SLICING_PIPELINE: import("./pipeline").Pipeline
|
|
|
260
266
|
}, input: {
|
|
261
267
|
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
262
268
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
263
|
-
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation
|
|
269
|
+
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
|
|
270
|
+
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
271
|
+
};
|
|
264
272
|
readonly requiredInput: {};
|
|
265
273
|
readonly name: "dataflow";
|
|
266
274
|
readonly description: "Construct the dataflow graph";
|
|
@@ -307,7 +315,7 @@ export declare const TREE_SITTER_SLICING_PIPELINE: import("./pipeline").Pipeline
|
|
|
307
315
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
308
316
|
readonly description: "Normalize the AST to flowR's AST";
|
|
309
317
|
readonly processor: (results: {
|
|
310
|
-
"parse"?: import("
|
|
318
|
+
"parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
311
319
|
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
312
320
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
313
321
|
readonly printer: {
|
|
@@ -341,7 +349,9 @@ export declare const TREE_SITTER_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipel
|
|
|
341
349
|
}, input: {
|
|
342
350
|
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
343
351
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
344
|
-
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation
|
|
352
|
+
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
|
|
353
|
+
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
354
|
+
};
|
|
345
355
|
readonly requiredInput: {};
|
|
346
356
|
readonly name: "dataflow";
|
|
347
357
|
readonly description: "Construct the dataflow graph";
|
|
@@ -388,7 +398,7 @@ export declare const TREE_SITTER_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipel
|
|
|
388
398
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
389
399
|
readonly description: "Normalize the AST to flowR's AST";
|
|
390
400
|
readonly processor: (results: {
|
|
391
|
-
"parse"?: import("
|
|
401
|
+
"parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
392
402
|
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
393
403
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
394
404
|
readonly printer: {
|
|
@@ -422,7 +432,9 @@ export declare const TREE_SITTER_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./p
|
|
|
422
432
|
}, input: {
|
|
423
433
|
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
424
434
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
425
|
-
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation
|
|
435
|
+
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
|
|
436
|
+
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
437
|
+
};
|
|
426
438
|
readonly requiredInput: {};
|
|
427
439
|
readonly name: "dataflow";
|
|
428
440
|
readonly description: "Construct the dataflow graph";
|
|
@@ -455,7 +467,7 @@ export declare const TREE_SITTER_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./p
|
|
|
455
467
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
456
468
|
readonly description: "Normalize the AST to flowR's AST";
|
|
457
469
|
readonly processor: (results: {
|
|
458
|
-
"parse"?: import("
|
|
470
|
+
"parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
459
471
|
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
460
472
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
461
473
|
readonly printer: {
|
|
@@ -513,7 +525,9 @@ export declare const DEFAULT_DATAFLOW_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
513
525
|
}, input: {
|
|
514
526
|
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
515
527
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
516
|
-
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation
|
|
528
|
+
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
|
|
529
|
+
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
530
|
+
};
|
|
517
531
|
readonly requiredInput: {};
|
|
518
532
|
readonly name: "dataflow";
|
|
519
533
|
readonly description: "Construct the dataflow graph";
|
|
@@ -534,7 +548,9 @@ export declare const TREE_SITTER_DATAFLOW_PIPELINE: import("./pipeline").Pipelin
|
|
|
534
548
|
}, input: {
|
|
535
549
|
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
536
550
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
537
|
-
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation
|
|
551
|
+
}, config: FlowrConfigOptions) => import("../../../dataflow/info").DataflowInformation & {
|
|
552
|
+
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
553
|
+
};
|
|
538
554
|
readonly requiredInput: {};
|
|
539
555
|
readonly name: "dataflow";
|
|
540
556
|
readonly description: "Construct the dataflow graph";
|
|
@@ -567,7 +583,7 @@ export declare const TREE_SITTER_DATAFLOW_PIPELINE: import("./pipeline").Pipelin
|
|
|
567
583
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
568
584
|
readonly description: "Normalize the AST to flowR's AST";
|
|
569
585
|
readonly processor: (results: {
|
|
570
|
-
"parse"?: import("
|
|
586
|
+
"parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
571
587
|
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
572
588
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
573
589
|
readonly printer: {
|
|
@@ -635,7 +651,7 @@ export declare const TREE_SITTER_NORMALIZE_PIPELINE: import("./pipeline").Pipeli
|
|
|
635
651
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
636
652
|
readonly description: "Normalize the AST to flowR's AST";
|
|
637
653
|
readonly processor: (results: {
|
|
638
|
-
"parse"?: import("
|
|
654
|
+
"parse"?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
639
655
|
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>, config: FlowrConfigOptions) => import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../../r-bridge/lang-4.x/ast/model/model").RNode<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
640
656
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
641
657
|
readonly printer: {
|
|
@@ -35,7 +35,6 @@ exports.TREE_SITTER_PARSE_PIPELINE = (0, pipeline_1.createPipeline)(_01_parse_tr
|
|
|
35
35
|
/**
|
|
36
36
|
* **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
|
|
37
37
|
* Returns either a {@link DEFAULT_PARSE_PIPELINE} or a {@link TREE_SITTER_PARSE_PIPELINE} depending on the parser used.
|
|
38
|
-
*
|
|
39
38
|
* @see {@link createNormalizePipeline}, {@link createDataflowPipeline}, {@link createSlicePipeline}
|
|
40
39
|
*/
|
|
41
40
|
function createParsePipeline(parser, inputs, config) {
|
|
@@ -48,7 +47,6 @@ function createParsePipeline(parser, inputs, config) {
|
|
|
48
47
|
/**
|
|
49
48
|
* **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
|
|
50
49
|
* Returns either a {@link DEFAULT_SLICING_PIPELINE} or a {@link TREE_SITTER_SLICING_PIPELINE} depending on the parser used.
|
|
51
|
-
*
|
|
52
50
|
* @see {@link createParsePipeline}, {@link createNormalizePipeline}, {@link createDataflowPipeline}
|
|
53
51
|
*/
|
|
54
52
|
function createSlicePipeline(parser, inputs, config) {
|
|
@@ -61,7 +59,6 @@ function createSlicePipeline(parser, inputs, config) {
|
|
|
61
59
|
/**
|
|
62
60
|
* **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
|
|
63
61
|
* Returns either a {@link DEFAULT_NORMALIZE_PIPELINE} or a {@link TREE_SITTER_NORMALIZE_PIPELINE} depending on the parser used.
|
|
64
|
-
*
|
|
65
62
|
* @see {@link createParsePipeline}, {@link createDataflowPipeline}, {@link createSlicePipeline}
|
|
66
63
|
*/
|
|
67
64
|
function createNormalizePipeline(parser, inputs, config) {
|
|
@@ -74,7 +71,6 @@ function createNormalizePipeline(parser, inputs, config) {
|
|
|
74
71
|
/**
|
|
75
72
|
* **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
|
|
76
73
|
* Returns either a {@link DEFAULT_DATAFLOW_PIPELINE} or a {@link TREE_SITTER_DATAFLOW_PIPELINE} depending on the parser used.
|
|
77
|
-
*
|
|
78
74
|
* @see {@link createParsePipeline}, {@link createNormalizePipeline}, {@link createSlicePipeline}
|
|
79
75
|
*/
|
|
80
76
|
function createDataflowPipeline(parser, inputs, config) {
|
|
@@ -18,7 +18,6 @@ export interface Pipeline<T extends IPipelineStep = IPipelineStep> {
|
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Returns the types of all step names in the given pipeline.
|
|
21
|
-
*
|
|
22
21
|
* @see Pipeline for details
|
|
23
22
|
*/
|
|
24
23
|
export type PipelineStepNames<P extends Pipeline> = PipelineStep<P>['name'];
|
|
@@ -47,7 +46,6 @@ export interface PipelinePerStepMetaInformation {
|
|
|
47
46
|
}
|
|
48
47
|
/**
|
|
49
48
|
* Returns the step with the given name from the given pipeline.
|
|
50
|
-
*
|
|
51
49
|
* @example
|
|
52
50
|
* ```ts
|
|
53
51
|
* type Foo = PipelineStepWithName<typeof DEFAULT_DATAFLOW_PIPELINE, 'parse'>
|
|
@@ -67,7 +65,6 @@ export type PipelineStepProcessorWithName<P extends Pipeline, Name extends Pipel
|
|
|
67
65
|
export type PipelineStepPrintersWithName<P extends Pipeline, Name extends PipelineStepName> = PipelineStepWithName<P, Name>['printer'];
|
|
68
66
|
/**
|
|
69
67
|
* Returns the output type of the step with the given name from the given pipeline.
|
|
70
|
-
*
|
|
71
68
|
* @example
|
|
72
69
|
* ```ts
|
|
73
70
|
* type Foo = PipelineStepOutputWithName<typeof DEFAULT_DATAFLOW_PIPELINE, 'parse'>
|
|
@@ -78,7 +75,6 @@ export type PipelineStepPrintersWithName<P extends Pipeline, Name extends Pipeli
|
|
|
78
75
|
export type PipelineStepOutputWithName<P extends Pipeline, Name extends PipelineStepName> = Awaited<ReturnType<PipelineStepProcessorWithName<P, Name>>> & PipelinePerStepMetaInformation;
|
|
79
76
|
/**
|
|
80
77
|
* Returns a union type that represents the required inputs to be passed to the given pipeline.
|
|
81
|
-
*
|
|
82
78
|
* @example
|
|
83
79
|
* ```ts
|
|
84
80
|
* type Foo = PipelineInput<typeof DEFAULT_DATAFLOW_PIPELINE>
|
|
@@ -87,7 +83,6 @@ export type PipelineStepOutputWithName<P extends Pipeline, Name extends Pipeline
|
|
|
87
83
|
*
|
|
88
84
|
* In short, this can be useful whenever you want to describe _all_ inputs a complete
|
|
89
85
|
* pipeline needs to run through (i.e., the union of all inputs required by the individual steps).
|
|
90
|
-
*
|
|
91
86
|
* @see {@link PipelineOutput}
|
|
92
87
|
*/
|
|
93
88
|
export type PipelineInput<P extends Pipeline> = UnionToIntersection<PipelineStep<P>['requiredInput']>;
|
|
@@ -125,11 +120,9 @@ export type PipelineOutput<P extends Pipeline> = {
|
|
|
125
120
|
* 4) the target of a {@link IPipelineStepOrder#decorates|step's decoration} exists
|
|
126
121
|
* 5) if a {@link IPipelineStepOrder#decorates|decoration} applies, all of its {@link IPipelineStepOrder#dependencies|dependencies} are already in the pipeline
|
|
127
122
|
* 6) in the resulting {@link Pipeline|pipeline}, there is a strict cut between {@link IPipelineStep|steps} that are executed
|
|
128
|
-
*
|
|
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) {
|
package/dataflow/cluster.d.ts
CHANGED
|
@@ -17,4 +17,7 @@ export interface DataflowGraphCluster {
|
|
|
17
17
|
/** If the cluster contains unknown side effects */
|
|
18
18
|
readonly hasUnknownSideEffects: boolean;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Find all clusters in the given dataflow graph.
|
|
22
|
+
*/
|
|
20
23
|
export declare function findAllClusters(graph: DataflowGraph): DataflowGraphClusters;
|
package/dataflow/cluster.js
CHANGED
|
@@ -4,6 +4,9 @@ exports.findAllClusters = findAllClusters;
|
|
|
4
4
|
const edge_1 = require("./graph/edge");
|
|
5
5
|
const vertex_1 = require("./graph/vertex");
|
|
6
6
|
const assert_1 = require("../util/assert");
|
|
7
|
+
/**
|
|
8
|
+
* Find all clusters in the given dataflow graph.
|
|
9
|
+
*/
|
|
7
10
|
function findAllClusters(graph) {
|
|
8
11
|
const clusters = [];
|
|
9
12
|
// we reverse the vertices since dependencies usually point "backwards" from later nodes
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { BuiltIns } from './built-in';
|
|
1
|
+
import { type BuiltInMappingName, type ConfigOfBuiltInMappingName, BuiltIns } from './built-in';
|
|
3
2
|
import type { Identifier } from './identifier';
|
|
4
3
|
export interface BaseBuiltInDefinition {
|
|
5
4
|
/** The type of the built-in configuration */
|
|
@@ -11,7 +10,6 @@ export interface BaseBuiltInDefinition {
|
|
|
11
10
|
}
|
|
12
11
|
/**
|
|
13
12
|
* Define a built-in constant (like `NULL` or `TRUE`) and the TS value it should have
|
|
14
|
-
*
|
|
15
13
|
* @template Value - The type of the constant value
|
|
16
14
|
*/
|
|
17
15
|
export interface BuiltInConstantDefinition<Value> extends BaseBuiltInDefinition {
|
|
@@ -21,7 +19,6 @@ export interface BuiltInConstantDefinition<Value> extends BaseBuiltInDefinition
|
|
|
21
19
|
}
|
|
22
20
|
/**
|
|
23
21
|
* Define a built-in function (like `print` or `c`) and the processor to use.
|
|
24
|
-
*
|
|
25
22
|
* @template BuiltInProcessor - The processor to use for this function
|
|
26
23
|
*/
|
|
27
24
|
export interface BuiltInFunctionDefinition<BuiltInProcessor extends BuiltInMappingName> extends BaseBuiltInDefinition {
|
|
@@ -52,7 +49,6 @@ export type BuiltInDefinitions = BuiltInDefinition[];
|
|
|
52
49
|
export declare function getDefaultBuiltInDefinitions(): BuiltIns;
|
|
53
50
|
/**
|
|
54
51
|
* Get the {@link BuiltIns#builtInMemory} and {@link BuiltIns#emptyBuiltInMemory} for the given list of built-in definitions.
|
|
55
|
-
*
|
|
56
52
|
* @param definitions - the list of built-in definitions
|
|
57
53
|
* @param loadDefaults - whether to first add the {@link DefaultBuiltinConfig} before the given {@link definitions}
|
|
58
54
|
*/
|
|
@@ -16,7 +16,6 @@ function getDefaultBuiltInDefinitions() {
|
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Get the {@link BuiltIns#builtInMemory} and {@link BuiltIns#emptyBuiltInMemory} for the given list of built-in definitions.
|
|
19
|
-
*
|
|
20
19
|
* @param definitions - the list of built-in definitions
|
|
21
20
|
* @param loadDefaults - whether to first add the {@link DefaultBuiltinConfig} before the given {@link definitions}
|
|
22
21
|
*/
|
|
@@ -8,15 +8,14 @@ import { processPipe } from '../internal/process/functions/call/built-in/built-i
|
|
|
8
8
|
import { processForLoop } from '../internal/process/functions/call/built-in/built-in-for-loop';
|
|
9
9
|
import { processRepeatLoop } from '../internal/process/functions/call/built-in/built-in-repeat-loop';
|
|
10
10
|
import { processWhileLoop } from '../internal/process/functions/call/built-in/built-in-while-loop';
|
|
11
|
-
import type
|
|
12
|
-
import { ReferenceType } from './identifier';
|
|
11
|
+
import { type Identifier, type IdentifierDefinition, type IdentifierReference, ReferenceType } from './identifier';
|
|
13
12
|
import { processReplacementFunction } from '../internal/process/functions/call/built-in/built-in-replacement';
|
|
14
13
|
import { processQuote } from '../internal/process/functions/call/built-in/built-in-quote';
|
|
15
14
|
import { processFunctionDefinition } from '../internal/process/functions/call/built-in/built-in-function-definition';
|
|
16
15
|
import { processExpressionList } from '../internal/process/functions/call/built-in/built-in-expression-list';
|
|
17
16
|
import { processGet } from '../internal/process/functions/call/built-in/built-in-get';
|
|
18
17
|
import type { AstIdMap, ParentInformation, RNodeWithParent } from '../../r-bridge/lang-4.x/ast/model/processing/decorate';
|
|
19
|
-
import type
|
|
18
|
+
import { type RFunctionArgument } from '../../r-bridge/lang-4.x/ast/model/nodes/r-function-call';
|
|
20
19
|
import type { RSymbol } from '../../r-bridge/lang-4.x/ast/model/nodes/r-symbol';
|
|
21
20
|
import type { NodeId } from '../../r-bridge/lang-4.x/ast/model/processing/node-id';
|
|
22
21
|
import { processLibrary } from '../internal/process/functions/call/built-in/built-in-library';
|
|
@@ -35,7 +34,13 @@ import type { DataflowGraph } from '../graph/graph';
|
|
|
35
34
|
import type { VariableResolve } from '../../config';
|
|
36
35
|
import type { BuiltInConstantDefinition, BuiltInDefinition, BuiltInFunctionDefinition, BuiltInReplacementDefinition } from './built-in-config';
|
|
37
36
|
export type BuiltIn = `built-in:${string}`;
|
|
37
|
+
/**
|
|
38
|
+
* Generate a built-in id for the given name
|
|
39
|
+
*/
|
|
38
40
|
export declare function builtInId(name: string): BuiltIn;
|
|
41
|
+
/**
|
|
42
|
+
* Checks whether the given name is a built-in identifier
|
|
43
|
+
*/
|
|
39
44
|
export declare function isBuiltIn(name: NodeId | string): name is BuiltIn;
|
|
40
45
|
export type BuiltInIdentifierProcessor = <OtherInfo>(name: RSymbol<OtherInfo & ParentInformation>, args: readonly RFunctionArgument<OtherInfo & ParentInformation>[], rootId: NodeId, data: DataflowProcessorInformation<OtherInfo & ParentInformation>) => DataflowInformation;
|
|
41
46
|
export type BuiltInIdentifierProcessorWithConfig<Config> = <OtherInfo>(name: RSymbol<OtherInfo & ParentInformation>, args: readonly RFunctionArgument<OtherInfo & ParentInformation>[], rootId: NodeId, data: DataflowProcessorInformation<OtherInfo & ParentInformation>, config: Config) => DataflowInformation;
|
|
@@ -58,7 +63,8 @@ export interface DefaultBuiltInProcessorConfiguration extends ForceArguments {
|
|
|
58
63
|
readonly hasUnknownSideEffects?: boolean | LinkTo<RegExp | string>;
|
|
59
64
|
/** record mapping the actual function name called to the arguments that should be treated as function calls */
|
|
60
65
|
readonly treatAsFnCall?: Record<string, readonly string[]>;
|
|
61
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* Name that should be used for the origin (useful when needing to differentiate between
|
|
62
68
|
* functions like 'return' that use the default builtin processor)
|
|
63
69
|
*/
|
|
64
70
|
readonly useAsProcessor?: UseAsProcessors;
|
|
@@ -125,7 +131,6 @@ export declare class BuiltIns {
|
|
|
125
131
|
* The twin of the {@link builtInMemory} but with less built ins defined for
|
|
126
132
|
* cases in which we want some commonly overwritten variables to remain open.
|
|
127
133
|
* If you do not know if you need the empty environment, you do not need the empty environment (right now).
|
|
128
|
-
*
|
|
129
134
|
* @see {@link builtInMemory}
|
|
130
135
|
*/
|
|
131
136
|
emptyBuiltInMemory: BuiltInMemory;
|
|
@@ -32,9 +32,15 @@ const vertex_1 = require("../graph/vertex");
|
|
|
32
32
|
const type_1 = require("../../r-bridge/lang-4.x/ast/model/type");
|
|
33
33
|
const unknown_side_effect_1 = require("../graph/unknown-side-effect");
|
|
34
34
|
const resolve_1 = require("../eval/resolve/resolve");
|
|
35
|
+
/**
|
|
36
|
+
* Generate a built-in id for the given name
|
|
37
|
+
*/
|
|
35
38
|
function builtInId(name) {
|
|
36
39
|
return `built-in:${name}`;
|
|
37
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Checks whether the given name is a built-in identifier
|
|
43
|
+
*/
|
|
38
44
|
function isBuiltIn(name) {
|
|
39
45
|
return String(name).startsWith('built-in:');
|
|
40
46
|
}
|
|
@@ -218,7 +224,6 @@ class BuiltIns {
|
|
|
218
224
|
* The twin of the {@link builtInMemory} but with less built ins defined for
|
|
219
225
|
* cases in which we want some commonly overwritten variables to remain open.
|
|
220
226
|
* If you do not know if you need the empty environment, you do not need the empty environment (right now).
|
|
221
|
-
*
|
|
222
227
|
* @see {@link builtInMemory}
|
|
223
228
|
*/
|
|
224
229
|
emptyBuiltInMemory = new Map();
|
|
@@ -13,4 +13,7 @@ export declare const GgPlotAddons: string[];
|
|
|
13
13
|
* Contains the built-in definitions recognized by flowR
|
|
14
14
|
*/
|
|
15
15
|
export declare const DefaultBuiltinConfig: BuiltInDefinitions;
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
16
19
|
export declare function getDefaultProcessor(name: string): BuiltInMappingName | 'unnamed' | undefined;
|
|
@@ -93,7 +93,7 @@ function toRegex(n) {
|
|
|
93
93
|
* Contains the built-in definitions recognized by flowR
|
|
94
94
|
*/
|
|
95
95
|
exports.DefaultBuiltinConfig = [
|
|
96
|
-
{ type: 'constant', names: ['NULL', 'NA'], value: null, assumePrimitive: true },
|
|
96
|
+
{ type: 'constant', names: ['NULL', 'NA', 'NaN', 'NA_integer_', 'NA_real_', 'NA_complex_', 'NA_character_'], value: null, assumePrimitive: true },
|
|
97
97
|
{ type: 'constant', names: ['TRUE', 'T'], value: true, assumePrimitive: true },
|
|
98
98
|
{ type: 'constant', names: ['FALSE', 'F'], value: false, assumePrimitive: true },
|
|
99
99
|
{
|
|
@@ -212,6 +212,14 @@ exports.DefaultBuiltinConfig = [
|
|
|
212
212
|
{ type: 'function', names: ['('], processor: 'builtin:default', config: { returnsNthArgument: 0 }, assumePrimitive: true },
|
|
213
213
|
{ type: 'function', names: ['load', 'load_all', 'setwd', 'set.seed'], processor: 'builtin:default', config: { hasUnknownSideEffects: true, forceArgs: [true] }, assumePrimitive: false },
|
|
214
214
|
{ type: 'function', names: ['body', 'formals', 'environment'], processor: 'builtin:default', config: { hasUnknownSideEffects: true, forceArgs: [true] }, assumePrimitive: true },
|
|
215
|
+
{ type: 'function', names: ['.Call', '.External', '.C', '.Fortran'], processor: 'builtin:default', config: { hasUnknownSideEffects: true, forceArgs: [true],
|
|
216
|
+
treatAsFnCall: {
|
|
217
|
+
'.Call': ['.NAME'],
|
|
218
|
+
'.External': ['.NAME'],
|
|
219
|
+
'.C': ['.NAME'],
|
|
220
|
+
'.Fortran': ['.NAME']
|
|
221
|
+
}
|
|
222
|
+
}, assumePrimitive: true },
|
|
215
223
|
{ type: 'function', names: ['eval'], processor: 'builtin:eval', config: { includeFunctionCall: true }, assumePrimitive: true },
|
|
216
224
|
{ type: 'function', names: ['cat'], processor: 'builtin:default', config: { forceArgs: 'all', hasUnknownSideEffects: { type: 'link-to-last-call', callName: /^sink$/ } }, assumePrimitive: false },
|
|
217
225
|
{ type: 'function', names: ['switch'], processor: 'builtin:default', config: { forceArgs: [true] }, assumePrimitive: false },
|
|
@@ -294,6 +302,9 @@ exports.DefaultBuiltinConfig = [
|
|
|
294
302
|
}
|
|
295
303
|
}
|
|
296
304
|
];
|
|
305
|
+
/**
|
|
306
|
+
*
|
|
307
|
+
*/
|
|
297
308
|
function getDefaultProcessor(name) {
|
|
298
309
|
if (name.startsWith(unnamed_call_handling_1.UnnamedFunctionCallPrefix)) {
|
|
299
310
|
return 'unnamed';
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
1
|
+
import { type GenericDifferenceInformation, type WriteableDifferenceReport } from '../../util/diff';
|
|
2
|
+
import { type IEnvironment, type REnvironmentInformation } from './environment';
|
|
3
3
|
import type { IdentifierReference } from './identifier';
|
|
4
|
+
/**
|
|
5
|
+
* Compares two identifier references and reports differences.
|
|
6
|
+
*/
|
|
4
7
|
export declare function diffIdentifierReferences<Report extends WriteableDifferenceReport>(a: IdentifierReference | undefined, b: IdentifierReference | undefined, info: GenericDifferenceInformation<Report>): void;
|
|
8
|
+
/**
|
|
9
|
+
* Compares two environments and reports differences.
|
|
10
|
+
*/
|
|
5
11
|
export declare function diffEnvironment<Report extends WriteableDifferenceReport>(a: IEnvironment | undefined, b: IEnvironment | undefined, info: GenericDifferenceInformation<Report>, depth: number): void;
|
|
12
|
+
/**
|
|
13
|
+
* Compares two REnvironmentInformation objects and reports differences.
|
|
14
|
+
*/
|
|
6
15
|
export declare function diffEnvironmentInformation<Report extends WriteableDifferenceReport>(a: REnvironmentInformation | undefined, b: REnvironmentInformation | undefined, info: GenericDifferenceInformation<Report>): void;
|
|
@@ -7,6 +7,9 @@ const diff_1 = require("../../util/diff");
|
|
|
7
7
|
const environment_1 = require("./environment");
|
|
8
8
|
const json_1 = require("../../util/json");
|
|
9
9
|
const info_1 = require("../info");
|
|
10
|
+
/**
|
|
11
|
+
* Compares two identifier references and reports differences.
|
|
12
|
+
*/
|
|
10
13
|
function diffIdentifierReferences(a, b, info) {
|
|
11
14
|
if (a === undefined || b === undefined) {
|
|
12
15
|
if (a !== b) {
|
|
@@ -51,6 +54,9 @@ function diffMemory(a, b, info) {
|
|
|
51
54
|
}
|
|
52
55
|
}
|
|
53
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Compares two environments and reports differences.
|
|
59
|
+
*/
|
|
54
60
|
function diffEnvironment(a, b, info, depth) {
|
|
55
61
|
if (a === undefined || b === undefined) {
|
|
56
62
|
if (a !== b) {
|
|
@@ -71,6 +77,9 @@ function diffEnvironment(a, b, info, depth) {
|
|
|
71
77
|
diffMemory(a, b, { ...info, position: `${info.position}[at level: ${depth}] ` });
|
|
72
78
|
diffEnvironment(a.parent, b.parent, { ...info, position: `${info.position}Parents of ${a.id} & ${b.id}. ` }, depth--);
|
|
73
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Compares two REnvironmentInformation objects and reports differences.
|
|
82
|
+
*/
|
|
74
83
|
function diffEnvironmentInformation(a, b, info) {
|
|
75
84
|
if (a === undefined || b === undefined) {
|
|
76
85
|
if (a !== b) {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Provides an environment structure similar to R.
|
|
3
3
|
* This allows the dataflow to hold current definition locations for variables, based on the current scope.
|
|
4
|
-
*
|
|
5
4
|
* @module
|
|
6
5
|
*/
|
|
7
6
|
import type { IdentifierReference } from './identifier';
|
|
@@ -12,6 +11,9 @@ import type { BuiltInMemory } from './built-in';
|
|
|
12
11
|
* Marks the reference as maybe (i.e., as controlled by a set of {@link IdentifierReference#controlDependencies|control dependencies}).
|
|
13
12
|
*/
|
|
14
13
|
export declare function makeReferenceMaybe(ref: IdentifierReference, graph: DataflowGraph, environments: REnvironmentInformation, includeDefs: boolean, defaultCd?: ControlDependency | undefined): IdentifierReference;
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
15
17
|
export declare function makeAllMaybe(references: readonly IdentifierReference[] | undefined, graph: DataflowGraph, environments: REnvironmentInformation, includeDefs: boolean, defaultCd?: ControlDependency | undefined): IdentifierReference[];
|
|
16
18
|
/** A single entry/scope within an {@link REnvironmentInformation} */
|
|
17
19
|
export interface IEnvironment {
|
|
@@ -55,8 +57,6 @@ export interface WorkingDirectoryReference {
|
|
|
55
57
|
* One important environment is the {@link BuiltIns|BuiltInEnvironment} which contains the default definitions for R's built-in functions and constants.
|
|
56
58
|
* Please use {@link initializeCleanEnvironments} to initialize the environments (which includes the built-ins).
|
|
57
59
|
* During serialization, you may want to rely on the {@link builtInEnvJsonReplacer} to avoid the huge built-in environment.
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
60
|
* @see {@link define} - to define a new {@link IdentifierDefinition|identifier definition} within an environment
|
|
61
61
|
* @see {@link resolveByName} - to resolve an {@link Identifier|identifier/name} to its {@link IdentifierDefinition|definitions} within an environment
|
|
62
62
|
* @see {@link makeReferenceMaybe} - to attach control dependencies to a reference
|