@eagleoutice/flowr 2.6.2 → 2.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -34
- package/abstract-interpretation/data-frame/absint-visitor.js +3 -3
- package/abstract-interpretation/data-frame/mappers/function-mapper.d.ts +7 -7
- package/abstract-interpretation/data-frame/mappers/function-mapper.js +20 -16
- package/abstract-interpretation/data-frame/semantics.js +8 -0
- package/abstract-interpretation/data-frame/shape-inference.d.ts +3 -3
- package/abstract-interpretation/data-frame/shape-inference.js +3 -3
- package/abstract-interpretation/normalized-ast-fold.d.ts +1 -1
- package/benchmark/slicer.d.ts +1 -0
- package/benchmark/slicer.js +13 -12
- package/benchmark/summarizer/first-phase/process.js +1 -1
- package/benchmark/summarizer/second-phase/graph.d.ts +3 -1
- package/benchmark/summarizer/second-phase/graph.js +3 -1
- package/cli/export-quads-app.js +1 -1
- package/cli/repl/commands/repl-dataflow.js +2 -1
- package/cli/repl/commands/repl-parse.js +16 -4
- package/cli/repl/commands/repl-query.js +1 -1
- package/cli/repl/core.js +16 -13
- package/cli/repl/server/connection.js +2 -1
- package/cli/script-core/statistics-helper-core.js +2 -1
- package/cli/slicer-app.js +3 -4
- package/cli/wiki.d.ts +4 -0
- package/cli/wiki.js +165 -0
- package/config.d.ts +4 -0
- package/config.js +6 -0
- package/control-flow/cfg-dead-code.js +13 -3
- package/control-flow/cfg-simplification.d.ts +5 -2
- package/control-flow/cfg-simplification.js +3 -0
- package/control-flow/extract-cfg.d.ts +9 -3
- package/control-flow/extract-cfg.js +44 -4
- package/control-flow/semantic-cfg-guided-visitor.d.ts +2 -2
- package/control-flow/simple-visitor.js +2 -2
- package/control-flow/useless-loop.d.ts +3 -3
- package/control-flow/useless-loop.js +14 -5
- package/core/pipeline-executor.d.ts +3 -6
- package/core/pipeline-executor.js +4 -7
- package/core/print/normalize-printer.d.ts +1 -1
- package/core/print/normalize-printer.js +2 -2
- package/core/steps/all/core/00-parse.d.ts +1 -1
- package/core/steps/all/core/00-parse.js +1 -1
- package/core/steps/all/core/10-normalize.d.ts +3 -9
- package/core/steps/all/core/10-normalize.js +1 -16
- package/core/steps/all/core/11-normalize-tree-sitter.d.ts +2 -3
- package/core/steps/all/core/11-normalize-tree-sitter.js +2 -3
- package/core/steps/all/core/20-dataflow.d.ts +3 -4
- package/core/steps/all/core/20-dataflow.js +2 -2
- package/core/steps/all/static-slicing/00-slice.d.ts +1 -2
- package/core/steps/all/static-slicing/00-slice.js +1 -1
- package/core/steps/all/static-slicing/10-reconstruct.d.ts +8 -0
- package/core/steps/all/static-slicing/10-reconstruct.js +4 -1
- package/core/steps/pipeline/default-pipelines.d.ts +55 -56
- package/core/steps/pipeline/default-pipelines.js +8 -8
- package/dataflow/environments/clone.d.ts +0 -1
- package/dataflow/environments/clone.js +12 -2
- package/dataflow/environments/diff.js +2 -2
- package/dataflow/environments/overwrite.d.ts +1 -5
- package/dataflow/environments/overwrite.js +3 -19
- package/dataflow/environments/scoping.d.ts +6 -2
- package/dataflow/environments/scoping.js +6 -2
- package/dataflow/eval/resolve/resolve-argument.js +2 -2
- package/dataflow/eval/values/string/string-constants.d.ts +9 -3
- package/dataflow/eval/values/string/string-constants.js +9 -3
- package/dataflow/extractor.d.ts +2 -3
- package/dataflow/extractor.js +25 -22
- package/dataflow/graph/graph.d.ts +3 -9
- package/dataflow/graph/graph.js +0 -13
- package/dataflow/graph/unknown-replacement.d.ts +4 -2
- package/dataflow/graph/unknown-replacement.js +4 -2
- package/dataflow/info.d.ts +7 -0
- package/dataflow/info.js +21 -0
- package/dataflow/internal/linker.js +7 -4
- package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +2 -2
- package/dataflow/internal/process/functions/call/argument/make-argument.js +2 -3
- package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-access.js +4 -4
- package/dataflow/internal/process/functions/call/built-in/built-in-apply.js +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-assignment.js +4 -4
- package/dataflow/internal/process/functions/call/built-in/built-in-eval.js +6 -6
- package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-get.js +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-list.js +2 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +3 -3
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +6 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +6 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +2 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +15 -10
- package/dataflow/internal/process/functions/call/built-in/built-in-source.js +78 -75
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +3 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +3 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-vector.js +2 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +1 -1
- package/dataflow/internal/process/functions/call/common.d.ts +1 -1
- package/dataflow/internal/process/functions/call/common.js +4 -4
- package/dataflow/internal/process/functions/call/default-call-handling.d.ts +3 -1
- package/dataflow/internal/process/functions/call/default-call-handling.js +3 -1
- package/dataflow/internal/process/functions/call/known-call-handling.js +3 -3
- package/dataflow/internal/process/functions/call/named-call-handling.js +4 -4
- package/dataflow/internal/process/functions/process-parameter.js +4 -4
- package/dataflow/origin/dfg-get-symbol-refs.d.ts +1 -1
- package/dataflow/origin/dfg-get-symbol-refs.js +1 -1
- package/dataflow/processor.d.ts +6 -11
- package/documentation/data/dfg/doc-data-dfg-util.d.ts +0 -2
- package/documentation/data/faq/faqs.js +27 -18
- package/documentation/data/faq/recommended-configs.d.ts +36 -0
- package/documentation/data/faq/recommended-configs.js +40 -0
- package/documentation/data/faq/wiki-faq-store.d.ts +1 -0
- package/documentation/data/faq/wiki-faq-store.js +10 -2
- package/documentation/data/server/doc-data-server-messages.js +1 -1
- package/documentation/doc-capabilities.d.ts +9 -0
- package/documentation/{print-capabilities-markdown.js → doc-capabilities.js} +18 -21
- package/documentation/doc-readme.d.ts +9 -0
- package/documentation/{print-readme.js → doc-readme.js} +31 -35
- package/documentation/doc-util/doc-benchmarks.d.ts +6 -4
- package/documentation/doc-util/doc-benchmarks.js +6 -4
- package/documentation/doc-util/doc-cfg.js +5 -8
- package/documentation/doc-util/doc-dfg.d.ts +7 -7
- package/documentation/doc-util/doc-dfg.js +13 -13
- package/documentation/doc-util/doc-escape.d.ts +6 -0
- package/documentation/doc-util/doc-escape.js +11 -0
- package/documentation/doc-util/doc-general.d.ts +22 -2
- package/documentation/doc-util/doc-general.js +22 -2
- package/documentation/doc-util/doc-normalized-ast.d.ts +10 -5
- package/documentation/doc-util/doc-normalized-ast.js +12 -9
- package/documentation/doc-util/doc-query.d.ts +12 -4
- package/documentation/doc-util/doc-query.js +18 -11
- package/documentation/doc-util/doc-search.d.ts +0 -30
- package/documentation/doc-util/doc-search.js +2 -73
- package/documentation/doc-util/doc-server-message.d.ts +5 -5
- package/documentation/doc-util/doc-server-message.js +4 -4
- package/documentation/doc-util/doc-types.d.ts +69 -32
- package/documentation/doc-util/doc-types.js +108 -61
- package/documentation/index.d.ts +9 -9
- package/documentation/index.js +9 -9
- package/documentation/issue-linting-rule.d.ts +9 -0
- package/documentation/{print-linter-issue.js → issue-linting-rule.js} +20 -23
- package/documentation/wiki-analyzer.d.ts +9 -0
- package/documentation/wiki-analyzer.js +412 -0
- package/documentation/wiki-cfg.d.ts +9 -0
- package/documentation/{print-cfg-wiki.js → wiki-cfg.js} +144 -160
- package/documentation/wiki-core.d.ts +14 -0
- package/documentation/{print-core-wiki.js → wiki-core.js} +164 -175
- package/documentation/wiki-dataflow-graph.d.ts +9 -0
- package/documentation/{print-dataflow-graph-wiki.js → wiki-dataflow-graph.js} +142 -172
- package/documentation/wiki-engine.d.ts +9 -0
- package/documentation/{print-engines-wiki.js → wiki-engine.js} +27 -42
- package/documentation/wiki-faq.d.ts +8 -0
- package/documentation/wiki-faq.js +22 -0
- package/documentation/wiki-interface.d.ts +9 -0
- package/documentation/{print-interface-wiki.js → wiki-interface.js} +59 -56
- package/documentation/wiki-linter.d.ts +9 -0
- package/documentation/{print-linter-wiki.js → wiki-linter.js} +52 -48
- package/documentation/wiki-linting-and-testing.d.ts +9 -0
- package/documentation/{print-linting-and-testing-wiki.js → wiki-linting-and-testing.js} +25 -32
- package/documentation/wiki-mk/doc-context.d.ts +186 -0
- package/documentation/wiki-mk/doc-context.js +84 -0
- package/documentation/wiki-mk/doc-maker.d.ts +95 -0
- package/documentation/wiki-mk/doc-maker.js +133 -0
- package/documentation/wiki-normalized-ast.d.ts +9 -0
- package/documentation/{print-normalized-ast-wiki.js → wiki-normalized-ast.js} +64 -47
- package/documentation/wiki-onboarding.d.ts +8 -0
- package/documentation/{print-onboarding-wiki.js → wiki-onboarding.js} +18 -15
- package/documentation/wiki-query.d.ts +9 -0
- package/documentation/{print-query-wiki.js → wiki-query.js} +62 -47
- package/documentation/wiki-search.d.ts +9 -0
- package/documentation/wiki-search.js +61 -0
- package/linter/linter-executor.js +3 -2
- package/linter/linter-format.d.ts +2 -2
- package/linter/linter-rules.d.ts +13 -17
- package/linter/rules/absolute-path.d.ts +1 -2
- package/linter/rules/absolute-path.js +2 -2
- package/linter/rules/dataframe-access-validation.d.ts +1 -1
- package/linter/rules/dataframe-access-validation.js +12 -8
- package/linter/rules/dead-code.d.ts +1 -1
- package/linter/rules/deprecated-functions.d.ts +1 -5
- package/linter/rules/file-path-validity.d.ts +1 -1
- package/linter/rules/file-path-validity.js +4 -4
- package/linter/rules/function-finder-util.d.ts +1 -5
- package/linter/rules/naming-convention.d.ts +2 -2
- package/linter/rules/naming-convention.js +1 -1
- package/linter/rules/network-functions.d.ts +1 -1
- package/linter/rules/network-functions.js +1 -1
- package/linter/rules/seeded-randomness.d.ts +3 -2
- package/linter/rules/seeded-randomness.js +33 -13
- package/linter/rules/unused-definition.d.ts +1 -1
- package/linter/rules/useless-loop.d.ts +2 -2
- package/linter/rules/useless-loop.js +2 -2
- package/package.json +6 -17
- package/project/cache/flowr-analyzer-cache.d.ts +7 -10
- package/project/cache/flowr-analyzer-cache.js +17 -38
- package/project/cache/flowr-analyzer-controlflow-cache.d.ts +34 -0
- package/project/cache/flowr-analyzer-controlflow-cache.js +79 -0
- package/project/context/flowr-analyzer-context.d.ts +30 -5
- package/project/context/flowr-analyzer-context.js +48 -4
- package/project/context/flowr-analyzer-files-context.d.ts +63 -13
- package/project/context/flowr-analyzer-files-context.js +110 -39
- package/project/context/flowr-file.d.ts +32 -10
- package/project/context/flowr-file.js +30 -9
- package/project/flowr-analyzer-builder.d.ts +22 -28
- package/project/flowr-analyzer-builder.js +32 -70
- package/project/flowr-analyzer.d.ts +55 -14
- package/project/flowr-analyzer.js +53 -8
- package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +7 -1
- package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.js +13 -5
- package/project/plugins/file-plugins/flowr-analyzer-file-plugin.d.ts +3 -3
- package/project/plugins/file-plugins/flowr-analyzer-file-plugin.js +11 -5
- package/project/plugins/file-plugins/flowr-description-file.d.ts +3 -3
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin.d.ts +22 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin.js +33 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-qmd-file-plugin.d.ts +22 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-qmd-file-plugin.js +33 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-rmd-file-plugin.d.ts +22 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-rmd-file-plugin.js +33 -0
- package/project/plugins/file-plugins/notebooks/flowr-jupyter-file.d.ts +20 -0
- package/project/plugins/file-plugins/notebooks/flowr-jupyter-file.js +42 -0
- package/project/plugins/file-plugins/notebooks/flowr-rmarkdown-file.d.ts +59 -0
- package/project/plugins/file-plugins/notebooks/flowr-rmarkdown-file.js +132 -0
- package/project/plugins/file-plugins/notebooks/notebook.d.ts +0 -0
- package/project/plugins/file-plugins/notebooks/notebook.js +2 -0
- package/project/plugins/flowr-analyzer-plugin-defaults.d.ts +5 -0
- package/project/plugins/flowr-analyzer-plugin-defaults.js +23 -0
- package/project/plugins/flowr-analyzer-plugin.d.ts +2 -0
- package/project/plugins/flowr-analyzer-plugin.js +2 -0
- package/project/plugins/loading-order-plugins/flowr-analyzer-loading-order-description-file-plugin.js +1 -1
- package/project/plugins/package-version-plugins/flowr-analyzer-package-versions-description-file-plugin.js +1 -1
- package/project/plugins/plugin-registry.d.ts +34 -0
- package/project/plugins/plugin-registry.js +62 -0
- package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.js +7 -1
- package/queries/catalog/call-context-query/call-context-query-executor.js +4 -2
- package/queries/catalog/call-context-query/identify-link-to-last-call-relation.d.ts +5 -2
- package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +25 -18
- package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
- package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +1 -1
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
- package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
- package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +1 -1
- package/queries/catalog/dependencies-query/dependencies-query-executor.js +1 -1
- package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +1 -1
- package/queries/catalog/dependencies-query/dependencies-query-format.js +1 -1
- package/queries/catalog/df-shape-query/df-shape-query-executor.js +1 -1
- package/queries/catalog/df-shape-query/df-shape-query-format.d.ts +2 -2
- package/queries/catalog/df-shape-query/df-shape-query-format.js +6 -5
- package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +2 -1
- package/queries/catalog/happens-before-query/happens-before-query-executor.js +2 -1
- package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
- 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 +1 -1
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +1 -1
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +1 -1
- package/queries/catalog/linter-query/linter-query-format.d.ts +1 -1
- package/queries/catalog/linter-query/linter-query-format.js +13 -2
- package/queries/catalog/location-map-query/location-map-query-executor.js +2 -1
- package/queries/catalog/location-map-query/location-map-query-format.d.ts +1 -1
- package/queries/catalog/location-map-query/location-map-query-format.js +1 -1
- package/queries/catalog/normalized-ast-query/normalized-ast-query-format.d.ts +1 -1
- package/queries/catalog/origin-query/origin-query-format.d.ts +1 -1
- package/queries/catalog/project-query/project-query-executor.js +3 -1
- package/queries/catalog/project-query/project-query-format.d.ts +1 -1
- package/queries/catalog/resolve-value-query/resolve-value-query-executor.d.ts +2 -2
- package/queries/catalog/resolve-value-query/resolve-value-query-executor.js +2 -2
- package/queries/catalog/resolve-value-query/resolve-value-query-format.d.ts +1 -1
- package/queries/catalog/search-query/search-query-format.d.ts +1 -1
- package/queries/catalog/static-slice-query/static-slice-query-executor.js +1 -1
- package/queries/catalog/static-slice-query/static-slice-query-format.d.ts +1 -1
- package/queries/catalog/static-slice-query/static-slice-query-format.js +13 -1
- package/queries/query.d.ts +26 -18
- package/queries/query.js +21 -1
- package/r-bridge/lang-4.x/ast/model/collect.d.ts +2 -1
- package/r-bridge/lang-4.x/ast/model/collect.js +4 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-project.d.ts +29 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-project.js +15 -0
- package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +5 -7
- package/r-bridge/lang-4.x/ast/model/processing/decorate.js +24 -11
- package/r-bridge/lang-4.x/ast/model/type.d.ts +2 -0
- package/r-bridge/lang-4.x/ast/model/type.js +2 -0
- package/r-bridge/lang-4.x/ast/parser/json/format.js +1 -1
- package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +9 -8
- package/r-bridge/lang-4.x/ast/parser/json/parser.js +11 -10
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-root.d.ts +4 -3
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-root.js +20 -11
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.d.ts +3 -3
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.js +5 -4
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +3 -2
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +14 -5
- package/r-bridge/parser.d.ts +15 -5
- package/r-bridge/parser.js +27 -13
- package/r-bridge/retriever.d.ts +9 -15
- package/r-bridge/retriever.js +14 -5
- package/r-bridge/shell.d.ts +1 -1
- package/r-bridge/shell.js +1 -1
- package/reconstruct/auto-select/auto-select-defaults.d.ts +0 -1
- package/reconstruct/auto-select/magic-comments.js +1 -1
- package/reconstruct/reconstruct.d.ts +17 -9
- package/reconstruct/reconstruct.js +19 -8
- package/search/flowr-search.d.ts +12 -0
- package/search/search-executor/search-enrichers.d.ts +9 -2
- package/search/search-executor/search-enrichers.js +1 -3
- package/search/search-executor/search-generators.d.ts +1 -1
- package/search/search-executor/search-generators.js +9 -4
- package/slicing/criterion/collect-all.d.ts +3 -2
- package/slicing/criterion/collect-all.js +1 -1
- package/slicing/criterion/parse.js +4 -4
- package/statistics/features/supported/assignments/assignments.js +1 -1
- package/statistics/features/supported/control-flow/control-flow.js +1 -1
- package/statistics/features/supported/data-access/data-access.js +1 -1
- package/statistics/features/supported/defined-functions/defined-functions.js +1 -1
- package/statistics/features/supported/expression-list/statistics-expression-list.js +1 -1
- package/statistics/features/supported/loops/loops.js +1 -1
- package/statistics/features/supported/used-functions/used-functions.js +1 -1
- package/statistics/features/supported/variables/variables.js +1 -1
- package/statistics/statistics.js +3 -2
- package/util/assert.d.ts +4 -0
- package/util/assert.js +4 -0
- package/util/files.d.ts +1 -1
- package/util/files.js +1 -1
- package/util/mermaid/ast.d.ts +4 -3
- package/util/mermaid/ast.js +36 -8
- package/util/mermaid/cfg.js +1 -1
- package/util/version.js +1 -1
- package/documentation/print-analyzer-wiki.d.ts +0 -1
- package/documentation/print-analyzer-wiki.js +0 -141
- package/documentation/print-capabilities-markdown.d.ts +0 -1
- package/documentation/print-cfg-wiki.d.ts +0 -1
- package/documentation/print-core-wiki.d.ts +0 -5
- package/documentation/print-dataflow-graph-wiki.d.ts +0 -1
- package/documentation/print-engines-wiki.d.ts +0 -1
- package/documentation/print-faq-wiki.d.ts +0 -1
- package/documentation/print-faq-wiki.js +0 -18
- package/documentation/print-interface-wiki.d.ts +0 -1
- package/documentation/print-linter-issue.d.ts +0 -1
- package/documentation/print-linter-wiki.d.ts +0 -1
- package/documentation/print-linting-and-testing-wiki.d.ts +0 -1
- package/documentation/print-normalized-ast-wiki.d.ts +0 -1
- package/documentation/print-onboarding-wiki.d.ts +0 -1
- package/documentation/print-query-wiki.d.ts +0 -1
- package/documentation/print-readme.d.ts +0 -1
- package/documentation/print-search-wiki.d.ts +0 -1
- package/documentation/print-search-wiki.js +0 -74
- package/util/formats/adapter-format.d.ts +0 -6
- package/util/formats/adapter-format.js +0 -3
- package/util/formats/adapter.d.ts +0 -27
- package/util/formats/adapter.js +0 -58
- package/util/formats/adapters/r-adapter.d.ts +0 -4
- package/util/formats/adapters/r-adapter.js +0 -7
- package/util/formats/adapters/rmd-adapter.d.ts +0 -35
- package/util/formats/adapters/rmd-adapter.js +0 -100
|
@@ -6,7 +6,6 @@ import type { KnownParser, Parser } from '../../../r-bridge/parser';
|
|
|
6
6
|
import { PipelineExecutor } from '../../pipeline-executor';
|
|
7
7
|
import type { RShell } from '../../../r-bridge/shell';
|
|
8
8
|
import type { TreeSitterExecutor } from '../../../r-bridge/lang-4.x/tree-sitter/tree-sitter-executor';
|
|
9
|
-
import type { FlowrConfigOptions } from '../../../config';
|
|
10
9
|
export declare const DEFAULT_SLICING_PIPELINE: import("./pipeline").Pipeline<{
|
|
11
10
|
readonly name: "parse";
|
|
12
11
|
readonly humanReadableName: "parse with R shell";
|
|
@@ -19,7 +18,7 @@ export declare const DEFAULT_SLICING_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
19
18
|
(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
|
|
20
19
|
(value: any, replacer?: (number | string)[] | null, space?: string | number): string;
|
|
21
20
|
};
|
|
22
|
-
readonly 5: (
|
|
21
|
+
readonly 5: (p: import("../../../r-bridge/parser").ParseStepOutput<string>, config: import("../../../util/quads").QuadSerializationConfiguration) => string;
|
|
23
22
|
};
|
|
24
23
|
readonly dependencies: readonly [];
|
|
25
24
|
readonly requiredInput: import("../../../r-bridge/parser").ParseRequiredInput<string>;
|
|
@@ -29,7 +28,7 @@ export declare const DEFAULT_SLICING_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
29
28
|
readonly description: "Normalize the AST to flowR's AST";
|
|
30
29
|
readonly processor: (results: {
|
|
31
30
|
parse?: import("../../../r-bridge/parser").ParseStepOutput<string>;
|
|
32
|
-
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/
|
|
31
|
+
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/nodes/r-project").RProject<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
33
32
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
34
33
|
readonly printer: {
|
|
35
34
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -47,7 +46,7 @@ export declare const DEFAULT_SLICING_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
47
46
|
readonly processor: (results: {
|
|
48
47
|
dataflow?: import("../../../dataflow/info").DataflowInformation;
|
|
49
48
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
50
|
-
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput
|
|
49
|
+
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput>) => Readonly<import("../../../slicing/static/slicer-types").SliceResult>;
|
|
51
50
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerRequest;
|
|
52
51
|
readonly printer: {
|
|
53
52
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -59,9 +58,9 @@ export declare const DEFAULT_SLICING_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
59
58
|
readonly processor: (results: {
|
|
60
59
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
61
60
|
}, input: {
|
|
62
|
-
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
63
61
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
64
|
-
|
|
62
|
+
context?: import("../../../project/context/flowr-analyzer-context").FlowrAnalyzerContext;
|
|
63
|
+
}) => import("../../../dataflow/info").DataflowInformation & {
|
|
65
64
|
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
66
65
|
};
|
|
67
66
|
readonly requiredInput: {};
|
|
@@ -103,7 +102,7 @@ export declare const DEFAULT_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipeline"
|
|
|
103
102
|
(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
|
|
104
103
|
(value: any, replacer?: (number | string)[] | null, space?: string | number): string;
|
|
105
104
|
};
|
|
106
|
-
readonly 5: (
|
|
105
|
+
readonly 5: (p: import("../../../r-bridge/parser").ParseStepOutput<string>, config: import("../../../util/quads").QuadSerializationConfiguration) => string;
|
|
107
106
|
};
|
|
108
107
|
readonly dependencies: readonly [];
|
|
109
108
|
readonly requiredInput: import("../../../r-bridge/parser").ParseRequiredInput<string>;
|
|
@@ -113,7 +112,7 @@ export declare const DEFAULT_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipeline"
|
|
|
113
112
|
readonly description: "Normalize the AST to flowR's AST";
|
|
114
113
|
readonly processor: (results: {
|
|
115
114
|
parse?: import("../../../r-bridge/parser").ParseStepOutput<string>;
|
|
116
|
-
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/
|
|
115
|
+
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/nodes/r-project").RProject<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
117
116
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
118
117
|
readonly printer: {
|
|
119
118
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -131,7 +130,7 @@ export declare const DEFAULT_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipeline"
|
|
|
131
130
|
readonly processor: (results: {
|
|
132
131
|
dataflow?: import("../../../dataflow/info").DataflowInformation;
|
|
133
132
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
134
|
-
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput
|
|
133
|
+
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput>) => Readonly<import("../../../slicing/static/slicer-types").SliceResult>;
|
|
135
134
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerRequest;
|
|
136
135
|
readonly printer: {
|
|
137
136
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -143,9 +142,9 @@ export declare const DEFAULT_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipeline"
|
|
|
143
142
|
readonly processor: (results: {
|
|
144
143
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
145
144
|
}, input: {
|
|
146
|
-
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
147
145
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
148
|
-
|
|
146
|
+
context?: import("../../../project/context/flowr-analyzer-context").FlowrAnalyzerContext;
|
|
147
|
+
}) => import("../../../dataflow/info").DataflowInformation & {
|
|
149
148
|
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
150
149
|
};
|
|
151
150
|
readonly requiredInput: {};
|
|
@@ -187,7 +186,7 @@ export declare const DEFAULT_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./pipel
|
|
|
187
186
|
(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
|
|
188
187
|
(value: any, replacer?: (number | string)[] | null, space?: string | number): string;
|
|
189
188
|
};
|
|
190
|
-
readonly 5: (
|
|
189
|
+
readonly 5: (p: import("../../../r-bridge/parser").ParseStepOutput<string>, config: import("../../../util/quads").QuadSerializationConfiguration) => string;
|
|
191
190
|
};
|
|
192
191
|
readonly dependencies: readonly [];
|
|
193
192
|
readonly requiredInput: import("../../../r-bridge/parser").ParseRequiredInput<string>;
|
|
@@ -197,7 +196,7 @@ export declare const DEFAULT_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./pipel
|
|
|
197
196
|
readonly description: "Normalize the AST to flowR's AST";
|
|
198
197
|
readonly processor: (results: {
|
|
199
198
|
parse?: import("../../../r-bridge/parser").ParseStepOutput<string>;
|
|
200
|
-
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/
|
|
199
|
+
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/nodes/r-project").RProject<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
201
200
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
202
201
|
readonly printer: {
|
|
203
202
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -215,7 +214,7 @@ export declare const DEFAULT_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./pipel
|
|
|
215
214
|
readonly processor: (results: {
|
|
216
215
|
dataflow?: import("../../../dataflow/info").DataflowInformation;
|
|
217
216
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
218
|
-
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput
|
|
217
|
+
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput>) => Readonly<import("../../../slicing/static/slicer-types").SliceResult>;
|
|
219
218
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerRequest;
|
|
220
219
|
readonly printer: {
|
|
221
220
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -227,9 +226,9 @@ export declare const DEFAULT_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./pipel
|
|
|
227
226
|
readonly processor: (results: {
|
|
228
227
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
229
228
|
}, input: {
|
|
230
|
-
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
231
229
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
232
|
-
|
|
230
|
+
context?: import("../../../project/context/flowr-analyzer-context").FlowrAnalyzerContext;
|
|
231
|
+
}) => import("../../../dataflow/info").DataflowInformation & {
|
|
233
232
|
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
234
233
|
};
|
|
235
234
|
readonly requiredInput: {};
|
|
@@ -252,7 +251,7 @@ export declare const TREE_SITTER_SLICING_PIPELINE: import("./pipeline").Pipeline
|
|
|
252
251
|
readonly processor: (results: {
|
|
253
252
|
dataflow?: import("../../../dataflow/info").DataflowInformation;
|
|
254
253
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
255
|
-
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput
|
|
254
|
+
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput>) => Readonly<import("../../../slicing/static/slicer-types").SliceResult>;
|
|
256
255
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerRequest;
|
|
257
256
|
readonly printer: {
|
|
258
257
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -264,9 +263,9 @@ export declare const TREE_SITTER_SLICING_PIPELINE: import("./pipeline").Pipeline
|
|
|
264
263
|
readonly processor: (results: {
|
|
265
264
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
266
265
|
}, input: {
|
|
267
|
-
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
268
266
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
269
|
-
|
|
267
|
+
context?: import("../../../project/context/flowr-analyzer-context").FlowrAnalyzerContext;
|
|
268
|
+
}) => import("../../../dataflow/info").DataflowInformation & {
|
|
270
269
|
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
271
270
|
};
|
|
272
271
|
readonly requiredInput: {};
|
|
@@ -315,8 +314,8 @@ export declare const TREE_SITTER_SLICING_PIPELINE: import("./pipeline").Pipeline
|
|
|
315
314
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
316
315
|
readonly description: "Normalize the AST to flowR's AST";
|
|
317
316
|
readonly processor: (results: {
|
|
318
|
-
|
|
319
|
-
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput
|
|
317
|
+
parse?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
318
|
+
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/nodes/r-project").RProject<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
320
319
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
321
320
|
readonly printer: {
|
|
322
321
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -335,7 +334,7 @@ export declare const TREE_SITTER_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipel
|
|
|
335
334
|
readonly processor: (results: {
|
|
336
335
|
dataflow?: import("../../../dataflow/info").DataflowInformation;
|
|
337
336
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
338
|
-
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput
|
|
337
|
+
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput>) => Readonly<import("../../../slicing/static/slicer-types").SliceResult>;
|
|
339
338
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerRequest;
|
|
340
339
|
readonly printer: {
|
|
341
340
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -347,9 +346,9 @@ export declare const TREE_SITTER_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipel
|
|
|
347
346
|
readonly processor: (results: {
|
|
348
347
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
349
348
|
}, input: {
|
|
350
|
-
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
351
349
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
352
|
-
|
|
350
|
+
context?: import("../../../project/context/flowr-analyzer-context").FlowrAnalyzerContext;
|
|
351
|
+
}) => import("../../../dataflow/info").DataflowInformation & {
|
|
353
352
|
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
354
353
|
};
|
|
355
354
|
readonly requiredInput: {};
|
|
@@ -398,8 +397,8 @@ export declare const TREE_SITTER_SLICE_AND_RECONSTRUCT_PIPELINE: import("./pipel
|
|
|
398
397
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
399
398
|
readonly description: "Normalize the AST to flowR's AST";
|
|
400
399
|
readonly processor: (results: {
|
|
401
|
-
|
|
402
|
-
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput
|
|
400
|
+
parse?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
401
|
+
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/nodes/r-project").RProject<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
403
402
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
404
403
|
readonly printer: {
|
|
405
404
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -418,7 +417,7 @@ export declare const TREE_SITTER_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./p
|
|
|
418
417
|
readonly processor: (results: {
|
|
419
418
|
dataflow?: import("../../../dataflow/info").DataflowInformation;
|
|
420
419
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
421
|
-
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput
|
|
420
|
+
}, input: Partial<import("../all/static-slicing/00-slice").SliceRequiredInput>) => Readonly<import("../../../slicing/static/slicer-types").SliceResult>;
|
|
422
421
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerRequest;
|
|
423
422
|
readonly printer: {
|
|
424
423
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -430,9 +429,9 @@ export declare const TREE_SITTER_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./p
|
|
|
430
429
|
readonly processor: (results: {
|
|
431
430
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
432
431
|
}, input: {
|
|
433
|
-
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
434
432
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
435
|
-
|
|
433
|
+
context?: import("../../../project/context/flowr-analyzer-context").FlowrAnalyzerContext;
|
|
434
|
+
}) => import("../../../dataflow/info").DataflowInformation & {
|
|
436
435
|
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
437
436
|
};
|
|
438
437
|
readonly requiredInput: {};
|
|
@@ -467,8 +466,8 @@ export declare const TREE_SITTER_SLICE_WITHOUT_RECONSTRUCT_PIPELINE: import("./p
|
|
|
467
466
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
468
467
|
readonly description: "Normalize the AST to flowR's AST";
|
|
469
468
|
readonly processor: (results: {
|
|
470
|
-
|
|
471
|
-
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput
|
|
469
|
+
parse?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
470
|
+
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/nodes/r-project").RProject<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
472
471
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
473
472
|
readonly printer: {
|
|
474
473
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -497,7 +496,7 @@ export declare const DEFAULT_DATAFLOW_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
497
496
|
(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
|
|
498
497
|
(value: any, replacer?: (number | string)[] | null, space?: string | number): string;
|
|
499
498
|
};
|
|
500
|
-
readonly 5: (
|
|
499
|
+
readonly 5: (p: import("../../../r-bridge/parser").ParseStepOutput<string>, config: import("../../../util/quads").QuadSerializationConfiguration) => string;
|
|
501
500
|
};
|
|
502
501
|
readonly dependencies: readonly [];
|
|
503
502
|
readonly requiredInput: import("../../../r-bridge/parser").ParseRequiredInput<string>;
|
|
@@ -507,7 +506,7 @@ export declare const DEFAULT_DATAFLOW_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
507
506
|
readonly description: "Normalize the AST to flowR's AST";
|
|
508
507
|
readonly processor: (results: {
|
|
509
508
|
parse?: import("../../../r-bridge/parser").ParseStepOutput<string>;
|
|
510
|
-
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/
|
|
509
|
+
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/nodes/r-project").RProject<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
511
510
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
512
511
|
readonly printer: {
|
|
513
512
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -523,9 +522,9 @@ export declare const DEFAULT_DATAFLOW_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
523
522
|
readonly processor: (results: {
|
|
524
523
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
525
524
|
}, input: {
|
|
526
|
-
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
527
525
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
528
|
-
|
|
526
|
+
context?: import("../../../project/context/flowr-analyzer-context").FlowrAnalyzerContext;
|
|
527
|
+
}) => import("../../../dataflow/info").DataflowInformation & {
|
|
529
528
|
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
530
529
|
};
|
|
531
530
|
readonly requiredInput: {};
|
|
@@ -546,9 +545,9 @@ export declare const TREE_SITTER_DATAFLOW_PIPELINE: import("./pipeline").Pipelin
|
|
|
546
545
|
readonly processor: (results: {
|
|
547
546
|
normalize?: import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst;
|
|
548
547
|
}, input: {
|
|
549
|
-
request?: import("../../../r-bridge/retriever").RParseRequests;
|
|
550
548
|
parser?: Parser<import("../../../r-bridge/parser").KnownParserType>;
|
|
551
|
-
|
|
549
|
+
context?: import("../../../project/context/flowr-analyzer-context").FlowrAnalyzerContext;
|
|
550
|
+
}) => import("../../../dataflow/info").DataflowInformation & {
|
|
552
551
|
cfgQuick: import("../../../control-flow/control-flow-graph").ControlFlowInformation | undefined;
|
|
553
552
|
};
|
|
554
553
|
readonly requiredInput: {};
|
|
@@ -583,8 +582,8 @@ export declare const TREE_SITTER_DATAFLOW_PIPELINE: import("./pipeline").Pipelin
|
|
|
583
582
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
584
583
|
readonly description: "Normalize the AST to flowR's AST";
|
|
585
584
|
readonly processor: (results: {
|
|
586
|
-
|
|
587
|
-
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput
|
|
585
|
+
parse?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
586
|
+
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/nodes/r-project").RProject<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
588
587
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
589
588
|
readonly printer: {
|
|
590
589
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -609,7 +608,7 @@ export declare const DEFAULT_NORMALIZE_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
609
608
|
(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
|
|
610
609
|
(value: any, replacer?: (number | string)[] | null, space?: string | number): string;
|
|
611
610
|
};
|
|
612
|
-
readonly 5: (
|
|
611
|
+
readonly 5: (p: import("../../../r-bridge/parser").ParseStepOutput<string>, config: import("../../../util/quads").QuadSerializationConfiguration) => string;
|
|
613
612
|
};
|
|
614
613
|
readonly dependencies: readonly [];
|
|
615
614
|
readonly requiredInput: import("../../../r-bridge/parser").ParseRequiredInput<string>;
|
|
@@ -619,7 +618,7 @@ export declare const DEFAULT_NORMALIZE_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
619
618
|
readonly description: "Normalize the AST to flowR's AST";
|
|
620
619
|
readonly processor: (results: {
|
|
621
620
|
parse?: import("../../../r-bridge/parser").ParseStepOutput<string>;
|
|
622
|
-
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/
|
|
621
|
+
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/nodes/r-project").RProject<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
623
622
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
624
623
|
readonly printer: {
|
|
625
624
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -651,8 +650,8 @@ export declare const TREE_SITTER_NORMALIZE_PIPELINE: import("./pipeline").Pipeli
|
|
|
651
650
|
readonly humanReadableName: "normalize tree-sitter tree";
|
|
652
651
|
readonly description: "Normalize the AST to flowR's AST";
|
|
653
652
|
readonly processor: (results: {
|
|
654
|
-
|
|
655
|
-
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput
|
|
653
|
+
parse?: import("../../../r-bridge/parser").ParseStepOutput<import("web-tree-sitter").Tree>;
|
|
654
|
+
}, input: Partial<import("../all/core/10-normalize").NormalizeRequiredInput>) => 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/nodes/r-project").RProject<import("../../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>>;
|
|
656
655
|
readonly executed: import("../pipeline-step").PipelineStepStage.OncePerFile;
|
|
657
656
|
readonly printer: {
|
|
658
657
|
readonly 0: typeof import("../../print/print").internalPrinter;
|
|
@@ -676,7 +675,7 @@ export declare const DEFAULT_PARSE_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
676
675
|
(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
|
|
677
676
|
(value: any, replacer?: (number | string)[] | null, space?: string | number): string;
|
|
678
677
|
};
|
|
679
|
-
readonly 5: (
|
|
678
|
+
readonly 5: (p: import("../../../r-bridge/parser").ParseStepOutput<string>, config: import("../../../util/quads").QuadSerializationConfiguration) => string;
|
|
680
679
|
};
|
|
681
680
|
readonly dependencies: readonly [];
|
|
682
681
|
readonly requiredInput: import("../../../r-bridge/parser").ParseRequiredInput<string>;
|
|
@@ -697,15 +696,15 @@ export declare const TREE_SITTER_PARSE_PIPELINE: import("./pipeline").Pipeline<{
|
|
|
697
696
|
readonly dependencies: readonly [];
|
|
698
697
|
readonly requiredInput: import("../../../r-bridge/parser").ParseRequiredInput<import("web-tree-sitter").Tree>;
|
|
699
698
|
}>;
|
|
700
|
-
export declare function createParsePipeline(parser: TreeSitterExecutor, inputs: Omit<PipelineInput<typeof DEFAULT_PARSE_PIPELINE>, 'parser'
|
|
701
|
-
export declare function createParsePipeline(parser: RShell, inputs: Omit<PipelineInput<typeof DEFAULT_PARSE_PIPELINE>, 'parser'
|
|
702
|
-
export declare function createParsePipeline(parser: KnownParser, inputs: Omit<PipelineInput<typeof DEFAULT_PARSE_PIPELINE>, 'parser'
|
|
703
|
-
export declare function createSlicePipeline(parser: TreeSitterExecutor, inputs: Omit<PipelineInput<typeof DEFAULT_SLICING_PIPELINE>, 'parser'
|
|
704
|
-
export declare function createSlicePipeline(parser: RShell, inputs: Omit<PipelineInput<typeof DEFAULT_SLICING_PIPELINE>, 'parser'
|
|
705
|
-
export declare function createSlicePipeline(parser: KnownParser, inputs: Omit<PipelineInput<typeof DEFAULT_SLICING_PIPELINE>, 'parser'
|
|
706
|
-
export declare function createNormalizePipeline(parser: TreeSitterExecutor, inputs: Omit<PipelineInput<typeof DEFAULT_NORMALIZE_PIPELINE>, 'parser'
|
|
707
|
-
export declare function createNormalizePipeline(parser: RShell, inputs: Omit<PipelineInput<typeof DEFAULT_NORMALIZE_PIPELINE>, 'parser'
|
|
708
|
-
export declare function createNormalizePipeline(parser: KnownParser, inputs: Omit<PipelineInput<typeof DEFAULT_NORMALIZE_PIPELINE>, 'parser'
|
|
709
|
-
export declare function createDataflowPipeline(parser: TreeSitterExecutor, inputs: Omit<PipelineInput<typeof DEFAULT_DATAFLOW_PIPELINE>, 'parser'
|
|
710
|
-
export declare function createDataflowPipeline(parser: RShell, inputs: Omit<PipelineInput<typeof DEFAULT_DATAFLOW_PIPELINE>, 'parser'
|
|
711
|
-
export declare function createDataflowPipeline(parser: KnownParser, inputs: Omit<PipelineInput<typeof DEFAULT_DATAFLOW_PIPELINE>, 'parser'
|
|
699
|
+
export declare function createParsePipeline(parser: TreeSitterExecutor, inputs: Omit<PipelineInput<typeof DEFAULT_PARSE_PIPELINE>, 'parser'>): PipelineExecutor<typeof TREE_SITTER_PARSE_PIPELINE>;
|
|
700
|
+
export declare function createParsePipeline(parser: RShell, inputs: Omit<PipelineInput<typeof DEFAULT_PARSE_PIPELINE>, 'parser'>): PipelineExecutor<typeof DEFAULT_PARSE_PIPELINE>;
|
|
701
|
+
export declare function createParsePipeline(parser: KnownParser, inputs: Omit<PipelineInput<typeof DEFAULT_PARSE_PIPELINE>, 'parser'>): PipelineExecutor<typeof DEFAULT_PARSE_PIPELINE> | PipelineExecutor<typeof TREE_SITTER_PARSE_PIPELINE>;
|
|
702
|
+
export declare function createSlicePipeline(parser: TreeSitterExecutor, inputs: Omit<PipelineInput<typeof DEFAULT_SLICING_PIPELINE>, 'parser'>): PipelineExecutor<typeof TREE_SITTER_SLICING_PIPELINE>;
|
|
703
|
+
export declare function createSlicePipeline(parser: RShell, inputs: Omit<PipelineInput<typeof DEFAULT_SLICING_PIPELINE>, 'parser'>): PipelineExecutor<typeof DEFAULT_SLICING_PIPELINE>;
|
|
704
|
+
export declare function createSlicePipeline(parser: KnownParser, inputs: Omit<PipelineInput<typeof DEFAULT_SLICING_PIPELINE>, 'parser'>): PipelineExecutor<typeof DEFAULT_SLICING_PIPELINE> | PipelineExecutor<typeof TREE_SITTER_SLICING_PIPELINE>;
|
|
705
|
+
export declare function createNormalizePipeline(parser: TreeSitterExecutor, inputs: Omit<PipelineInput<typeof DEFAULT_NORMALIZE_PIPELINE>, 'parser'>): PipelineExecutor<typeof TREE_SITTER_NORMALIZE_PIPELINE>;
|
|
706
|
+
export declare function createNormalizePipeline(parser: RShell, inputs: Omit<PipelineInput<typeof DEFAULT_NORMALIZE_PIPELINE>, 'parser'>): PipelineExecutor<typeof DEFAULT_NORMALIZE_PIPELINE>;
|
|
707
|
+
export declare function createNormalizePipeline(parser: KnownParser, inputs: Omit<PipelineInput<typeof DEFAULT_NORMALIZE_PIPELINE>, 'parser'>): PipelineExecutor<typeof DEFAULT_NORMALIZE_PIPELINE> | PipelineExecutor<typeof TREE_SITTER_NORMALIZE_PIPELINE>;
|
|
708
|
+
export declare function createDataflowPipeline(parser: TreeSitterExecutor, inputs: Omit<PipelineInput<typeof DEFAULT_DATAFLOW_PIPELINE>, 'parser'>): PipelineExecutor<typeof TREE_SITTER_DATAFLOW_PIPELINE>;
|
|
709
|
+
export declare function createDataflowPipeline(parser: RShell, inputs: Omit<PipelineInput<typeof DEFAULT_DATAFLOW_PIPELINE>, 'parser'>): PipelineExecutor<typeof DEFAULT_DATAFLOW_PIPELINE>;
|
|
710
|
+
export declare function createDataflowPipeline(parser: KnownParser, inputs: Omit<PipelineInput<typeof DEFAULT_DATAFLOW_PIPELINE>, 'parser'>): PipelineExecutor<typeof DEFAULT_DATAFLOW_PIPELINE> | PipelineExecutor<typeof TREE_SITTER_DATAFLOW_PIPELINE>;
|
|
@@ -37,47 +37,47 @@ exports.TREE_SITTER_PARSE_PIPELINE = (0, pipeline_1.createPipeline)(_01_parse_tr
|
|
|
37
37
|
* Returns either a {@link DEFAULT_PARSE_PIPELINE} or a {@link TREE_SITTER_PARSE_PIPELINE} depending on the parser used.
|
|
38
38
|
* @see {@link createNormalizePipeline}, {@link createDataflowPipeline}, {@link createSlicePipeline}
|
|
39
39
|
*/
|
|
40
|
-
function createParsePipeline(parser, inputs
|
|
40
|
+
function createParsePipeline(parser, inputs) {
|
|
41
41
|
const base = parser.name === 'tree-sitter' ? exports.TREE_SITTER_PARSE_PIPELINE : exports.DEFAULT_PARSE_PIPELINE;
|
|
42
42
|
return new pipeline_executor_1.PipelineExecutor(base, {
|
|
43
43
|
parser: parser,
|
|
44
44
|
...inputs
|
|
45
|
-
}
|
|
45
|
+
});
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
48
|
* **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
|
|
49
49
|
* Returns either a {@link DEFAULT_SLICING_PIPELINE} or a {@link TREE_SITTER_SLICING_PIPELINE} depending on the parser used.
|
|
50
50
|
* @see {@link createParsePipeline}, {@link createNormalizePipeline}, {@link createDataflowPipeline}
|
|
51
51
|
*/
|
|
52
|
-
function createSlicePipeline(parser, inputs
|
|
52
|
+
function createSlicePipeline(parser, inputs) {
|
|
53
53
|
const base = parser.name === 'tree-sitter' ? exports.TREE_SITTER_SLICING_PIPELINE : exports.DEFAULT_SLICING_PIPELINE;
|
|
54
54
|
return new pipeline_executor_1.PipelineExecutor(base, {
|
|
55
55
|
parser: parser,
|
|
56
56
|
...inputs
|
|
57
|
-
}
|
|
57
|
+
});
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
60
60
|
* **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
|
|
61
61
|
* Returns either a {@link DEFAULT_NORMALIZE_PIPELINE} or a {@link TREE_SITTER_NORMALIZE_PIPELINE} depending on the parser used.
|
|
62
62
|
* @see {@link createParsePipeline}, {@link createDataflowPipeline}, {@link createSlicePipeline}
|
|
63
63
|
*/
|
|
64
|
-
function createNormalizePipeline(parser, inputs
|
|
64
|
+
function createNormalizePipeline(parser, inputs) {
|
|
65
65
|
const base = parser.name === 'tree-sitter' ? exports.TREE_SITTER_NORMALIZE_PIPELINE : exports.DEFAULT_NORMALIZE_PIPELINE;
|
|
66
66
|
return new pipeline_executor_1.PipelineExecutor(base, {
|
|
67
67
|
parser: parser,
|
|
68
68
|
...inputs
|
|
69
|
-
}
|
|
69
|
+
});
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
72
|
* **Please use {@link FlowrAnalyzer} instead of this directly unless you really know what you are doing.**
|
|
73
73
|
* Returns either a {@link DEFAULT_DATAFLOW_PIPELINE} or a {@link TREE_SITTER_DATAFLOW_PIPELINE} depending on the parser used.
|
|
74
74
|
* @see {@link createParsePipeline}, {@link createNormalizePipeline}, {@link createSlicePipeline}
|
|
75
75
|
*/
|
|
76
|
-
function createDataflowPipeline(parser, inputs
|
|
76
|
+
function createDataflowPipeline(parser, inputs) {
|
|
77
77
|
const base = parser.name === 'tree-sitter' ? exports.TREE_SITTER_DATAFLOW_PIPELINE : exports.DEFAULT_DATAFLOW_PIPELINE;
|
|
78
78
|
return new pipeline_executor_1.PipelineExecutor(base, {
|
|
79
79
|
parser: parser,
|
|
80
80
|
...inputs
|
|
81
|
-
}
|
|
81
|
+
});
|
|
82
82
|
}
|
|
83
83
|
//# sourceMappingURL=default-pipelines.js.map
|
|
@@ -2,7 +2,6 @@ import { type REnvironmentInformation } from './environment';
|
|
|
2
2
|
/**
|
|
3
3
|
* Produce a clone of the given environment information.
|
|
4
4
|
* @param environment - The environment information to clone.
|
|
5
|
-
* @param builtInEnvironment - The built-in environment
|
|
6
5
|
* @param recurseParents - Whether to clone the parent environments as well.
|
|
7
6
|
*/
|
|
8
7
|
export declare function cloneEnvironmentInformation(environment: REnvironmentInformation, recurseParents?: boolean): REnvironmentInformation;
|
|
@@ -11,13 +11,23 @@ function cloneEnvironment(environment, recurseParents) {
|
|
|
11
11
|
}
|
|
12
12
|
/* make sure the clone has the same id */
|
|
13
13
|
const clone = new environment_1.Environment(recurseParents ? cloneEnvironment(environment.parent, recurseParents) : environment.parent, environment.builtInEnv);
|
|
14
|
-
|
|
14
|
+
if (environment.memory.size < 10) {
|
|
15
|
+
clone.memory = new Map(JSON.parse(JSON.stringify(environment.memory.entries().toArray())));
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
clone.memory = new Map(environment.memory.entries()
|
|
19
|
+
.map(([k, v]) => [k,
|
|
20
|
+
v.map(s => ({
|
|
21
|
+
...s,
|
|
22
|
+
controlDependencies: s.controlDependencies?.slice()
|
|
23
|
+
}))
|
|
24
|
+
]));
|
|
25
|
+
}
|
|
15
26
|
return clone;
|
|
16
27
|
}
|
|
17
28
|
/**
|
|
18
29
|
* Produce a clone of the given environment information.
|
|
19
30
|
* @param environment - The environment information to clone.
|
|
20
|
-
* @param builtInEnvironment - The built-in environment
|
|
21
31
|
* @param recurseParents - Whether to clone the parent environments as well.
|
|
22
32
|
*/
|
|
23
33
|
function cloneEnvironmentInformation(environment, recurseParents = true) {
|
|
@@ -33,8 +33,8 @@ function diffMemory(a, b, info) {
|
|
|
33
33
|
continue;
|
|
34
34
|
}
|
|
35
35
|
// we sort both value arrays by their id so that we have no problems with differently ordered arrays (which have no impact)
|
|
36
|
-
const sorted =
|
|
37
|
-
const sorted2 =
|
|
36
|
+
const sorted = value.slice().sort((a, b) => String(a.nodeId).localeCompare(String(b.nodeId)));
|
|
37
|
+
const sorted2 = value2.slice().sort((a, b) => String(a.nodeId).localeCompare(String(b.nodeId)));
|
|
38
38
|
for (let i = 0; i < value.length; ++i) {
|
|
39
39
|
const aVal = sorted[i];
|
|
40
40
|
const bVal = sorted2[i];
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type REnvironmentInformation } from './environment';
|
|
2
2
|
import type { ControlDependency } from '../info';
|
|
3
|
-
/**
|
|
4
|
-
*
|
|
5
|
-
*/
|
|
6
|
-
export declare function overwriteIEnvironmentWith(base: IEnvironment | undefined, next: IEnvironment | undefined, includeParent?: boolean, applyCds?: readonly ControlDependency[]): IEnvironment;
|
|
7
3
|
export declare function overwriteEnvironment(base: REnvironmentInformation, next: REnvironmentInformation | undefined, applyCds?: readonly ControlDependency[]): REnvironmentInformation;
|
|
8
4
|
export declare function overwriteEnvironment(base: REnvironmentInformation | undefined, next: REnvironmentInformation, applyCds?: readonly ControlDependency[]): REnvironmentInformation;
|
|
9
5
|
export declare function overwriteEnvironment(base: undefined, next: undefined, applyCds?: readonly ControlDependency[]): undefined;
|
|
@@ -1,43 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.overwriteIEnvironmentWith = overwriteIEnvironmentWith;
|
|
4
3
|
exports.overwriteEnvironment = overwriteEnvironment;
|
|
5
4
|
const assert_1 = require("../../util/assert");
|
|
6
5
|
const environment_1 = require("./environment");
|
|
7
|
-
const log_1 = require("../../util/log");
|
|
8
6
|
function anyIsMaybeOrEmpty(values) {
|
|
9
|
-
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
for (const val of values) {
|
|
13
|
-
if (val.controlDependencies !== undefined) {
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return false;
|
|
7
|
+
return values.length === 0 || values.some(v => v.controlDependencies !== undefined);
|
|
18
8
|
}
|
|
19
|
-
/**
|
|
20
|
-
*
|
|
21
|
-
*/
|
|
22
9
|
function overwriteIEnvironmentWith(base, next, includeParent = true, applyCds) {
|
|
23
10
|
(0, assert_1.guard)(base !== undefined && next !== undefined, 'can not overwrite environments with undefined');
|
|
24
11
|
const map = new Map(base.memory);
|
|
25
12
|
for (const [key, values] of next.memory) {
|
|
26
|
-
if (values.length > 1_000_000) {
|
|
27
|
-
log_1.log.warn(`Overwriting environment with ${values.length} definitions for ${key}`);
|
|
28
|
-
}
|
|
29
13
|
const hasMaybe = applyCds !== undefined ? true : anyIsMaybeOrEmpty(values);
|
|
30
14
|
if (hasMaybe) {
|
|
31
15
|
const old = map.get(key);
|
|
32
16
|
// we need to make a copy to avoid side effects for old reference in other environments
|
|
33
|
-
const updatedOld =
|
|
17
|
+
const updatedOld = old?.slice() ?? [];
|
|
34
18
|
for (const v of values) {
|
|
35
19
|
const index = updatedOld.findIndex(o => o.nodeId === v.nodeId && o.definedAt === v.definedAt);
|
|
36
20
|
if (index < 0) {
|
|
37
21
|
if (applyCds !== undefined) {
|
|
38
22
|
updatedOld.push({
|
|
39
23
|
...v,
|
|
40
|
-
controlDependencies: applyCds.concat(v.controlDependencies
|
|
24
|
+
controlDependencies: v.controlDependencies ? applyCds.concat(v.controlDependencies) : applyCds.slice()
|
|
41
25
|
});
|
|
42
26
|
}
|
|
43
27
|
else {
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { type REnvironmentInformation } from './environment';
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Add a new local environment scope to the stack, returns the modified variant - sharing the original environments in the stack (no deep-clone)
|
|
4
|
+
* @see {@link popLocalEnvironment} - to remove the local scope again
|
|
5
|
+
*/
|
|
3
6
|
export declare function pushLocalEnvironment(base: REnvironmentInformation): REnvironmentInformation;
|
|
4
7
|
/**
|
|
5
|
-
*
|
|
8
|
+
* Remove the top local environment scope from the stack, returns the modified variant - sharing the original environments in the stack (no deep-clone)
|
|
9
|
+
* @see {@link pushLocalEnvironment} - to add a local scope
|
|
6
10
|
*/
|
|
7
11
|
export declare function popLocalEnvironment(base: REnvironmentInformation): REnvironmentInformation;
|
|
@@ -4,7 +4,10 @@ exports.pushLocalEnvironment = pushLocalEnvironment;
|
|
|
4
4
|
exports.popLocalEnvironment = popLocalEnvironment;
|
|
5
5
|
const environment_1 = require("./environment");
|
|
6
6
|
const assert_1 = require("../../util/assert");
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Add a new local environment scope to the stack, returns the modified variant - sharing the original environments in the stack (no deep-clone)
|
|
9
|
+
* @see {@link popLocalEnvironment} - to remove the local scope again
|
|
10
|
+
*/
|
|
8
11
|
function pushLocalEnvironment(base) {
|
|
9
12
|
return {
|
|
10
13
|
current: new environment_1.Environment(base.current),
|
|
@@ -12,7 +15,8 @@ function pushLocalEnvironment(base) {
|
|
|
12
15
|
};
|
|
13
16
|
}
|
|
14
17
|
/**
|
|
15
|
-
*
|
|
18
|
+
* Remove the top local environment scope from the stack, returns the modified variant - sharing the original environments in the stack (no deep-clone)
|
|
19
|
+
* @see {@link pushLocalEnvironment} - to add a local scope
|
|
16
20
|
*/
|
|
17
21
|
function popLocalEnvironment(base) {
|
|
18
22
|
(0, assert_1.guard)(base.level > 0, 'cannot remove the global/root environment');
|
|
@@ -65,8 +65,8 @@ function hasCharacterOnly(variableResolve, graph, vertex, idMap) {
|
|
|
65
65
|
if (!treatAsChar) {
|
|
66
66
|
return false;
|
|
67
67
|
}
|
|
68
|
-
const hasTrue =
|
|
69
|
-
const hasFalse = hasTrue ?
|
|
68
|
+
const hasTrue = treatAsChar.values().some(set => set?.has('TRUE'));
|
|
69
|
+
const hasFalse = hasTrue ? treatAsChar.values().some(set => set === undefined || set.has('FALSE')) : false;
|
|
70
70
|
if (hasTrue && hasFalse) {
|
|
71
71
|
return 'maybe';
|
|
72
72
|
}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import type { RStringValue } from '../../../../r-bridge/lang-4.x/convert-values';
|
|
2
2
|
import { type Lift, type Value, type ValueString } from '../r-value';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Lift a raw string or R string value into a ValueString.
|
|
5
|
+
* @see {@link liftString} - for lifting a Lift<RStringValue>
|
|
5
6
|
*/
|
|
6
7
|
export declare function stringFrom(str: RStringValue | string): ValueString;
|
|
7
8
|
/**
|
|
8
|
-
*
|
|
9
|
+
* Lift a Lift<RStringValue> into a ValueString.
|
|
10
|
+
* @see {@link stringFrom} - for lifting a raw string or R string value.
|
|
9
11
|
*/
|
|
10
12
|
export declare function liftString(str: Lift<RStringValue>): ValueString;
|
|
11
13
|
/**
|
|
12
|
-
*
|
|
14
|
+
* Collect strings from an array of ValueString.
|
|
15
|
+
* If any value is not a string, or is Bottom/Top, undefined is returned.
|
|
16
|
+
* @param a - The array of Value to collect strings from.
|
|
17
|
+
* @param withQuotes - Whether to include the quotes in the returned strings.
|
|
18
|
+
* @returns - An array of strings, or undefined if any value is not a string.
|
|
13
19
|
*/
|
|
14
20
|
export declare function collectStrings(a: Value[], withQuotes?: boolean): string[] | undefined;
|
|
15
21
|
export declare const ValueEmptyString: ValueString<Lift<RStringValue>>;
|