@eagleoutice/flowr 2.6.1 → 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 +142 -39
- package/abstract-interpretation/data-frame/absint-info.d.ts +1 -1
- package/abstract-interpretation/data-frame/absint-visitor.d.ts +2 -3
- package/abstract-interpretation/data-frame/absint-visitor.js +17 -12
- 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 +9 -10
- package/abstract-interpretation/data-frame/mappers/function-mapper.js +21 -18
- 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 +179 -162
- package/abstract-interpretation/data-frame/shape-inference.d.ts +4 -7
- package/abstract-interpretation/data-frame/shape-inference.js +10 -12
- 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 +2 -8
- package/abstract-interpretation/normalized-ast-fold.js +0 -5
- package/benchmark/slicer.d.ts +4 -7
- package/benchmark/slicer.js +27 -31
- 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 +13 -1
- package/benchmark/summarizer/second-phase/graph.d.ts +5 -0
- package/benchmark/summarizer/second-phase/graph.js +5 -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/export-quads-app.js +1 -1
- package/cli/flowr-main-options.d.ts +3 -0
- package/cli/flowr-main-options.js +3 -0
- package/cli/repl/commands/repl-commands.d.ts +13 -0
- package/cli/repl/commands/repl-commands.js +13 -2
- package/cli/repl/commands/repl-dataflow.js +2 -1
- package/cli/repl/commands/repl-execute.d.ts +4 -0
- package/cli/repl/commands/repl-execute.js +6 -2
- package/cli/repl/commands/repl-main.d.ts +15 -9
- package/cli/repl/commands/repl-parse.js +18 -6
- package/cli/repl/commands/repl-query.js +16 -5
- package/cli/repl/core.d.ts +24 -6
- package/cli/repl/core.js +42 -30
- package/cli/repl/execute.d.ts +0 -2
- package/cli/repl/execute.js +0 -2
- package/cli/repl/parser/slice-query-parser.d.ts +14 -0
- package/cli/repl/parser/slice-query-parser.js +34 -0
- package/cli/repl/print-version.d.ts +6 -0
- package/cli/repl/print-version.js +6 -0
- package/cli/repl/server/compact.d.ts +8 -0
- package/cli/repl/server/compact.js +8 -0
- package/cli/repl/server/connection.d.ts +4 -3
- package/cli/repl/server/connection.js +5 -32
- package/cli/repl/server/messages/all-messages.d.ts +1 -3
- package/cli/repl/server/messages/all-messages.js +0 -1
- package/cli/repl/server/messages/message-analysis.d.ts +0 -2
- package/cli/repl/server/messages/message-query.d.ts +1 -1
- package/cli/repl/server/messages/message-repl.d.ts +0 -1
- package/cli/repl/server/send.d.ts +6 -0
- package/cli/repl/server/send.js +6 -0
- package/cli/repl/server/server.d.ts +1 -1
- package/cli/repl/server/validate.d.ts +10 -1
- package/cli/repl/server/validate.js +9 -0
- package/cli/run-script.d.ts +1 -2
- package/cli/run-script.js +0 -1
- package/cli/script-core/statistics-core.d.ts +3 -0
- package/cli/script-core/statistics-core.js +3 -0
- package/cli/script-core/statistics-helper-core.d.ts +4 -1
- package/cli/script-core/statistics-helper-core.js +5 -1
- package/cli/script-core/summarizer-core.d.ts +3 -0
- package/cli/script-core/summarizer-core.js +3 -0
- package/cli/slicer-app.js +3 -4
- package/cli/summarizer-app.d.ts +2 -3
- package/cli/summarizer-app.js +2 -3
- package/cli/wiki.d.ts +4 -0
- package/cli/wiki.js +165 -0
- package/config.d.ts +21 -3
- package/config.js +21 -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-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/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 +12 -9
- package/control-flow/extract-cfg.js +44 -7
- package/control-flow/happens-before.d.ts +1 -1
- package/control-flow/semantic-cfg-guided-visitor.d.ts +4 -33
- 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 +2 -4
- package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
- package/control-flow/useless-loop.d.ts +3 -6
- package/control-flow/useless-loop.js +16 -10
- package/core/pipeline-executor.d.ts +11 -22
- package/core/pipeline-executor.js +13 -25
- 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 +21 -1
- 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 +2 -2
- package/core/steps/all/core/00-parse.js +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 -6
- package/core/steps/all/core/10-normalize.js +1 -13
- package/core/steps/all/core/11-normalize-tree-sitter.d.ts +5 -5
- 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/create-pipeline.d.ts +1 -1
- package/core/steps/pipeline/default-pipelines.d.ts +94 -95
- package/core/steps/pipeline/default-pipelines.js +8 -12
- 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 -2
- package/dataflow/environments/clone.js +12 -2
- package/dataflow/environments/default-builtin-config.d.ts +3 -0
- package/dataflow/environments/default-builtin-config.js +4 -1
- package/dataflow/environments/diff.d.ts +11 -2
- package/dataflow/environments/diff.js +11 -2
- 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 +1 -2
- package/dataflow/environments/overwrite.js +3 -16
- 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 +9 -2
- package/dataflow/environments/scoping.js +8 -1
- package/dataflow/eval/resolve/alias-tracking.d.ts +4 -10
- package/dataflow/eval/resolve/alias-tracking.js +11 -14
- package/dataflow/eval/resolve/resolve-argument.d.ts +1 -1
- package/dataflow/eval/resolve/resolve-argument.js +2 -2
- package/dataflow/eval/resolve/resolve.d.ts +1 -7
- package/dataflow/eval/resolve/resolve.js +0 -5
- package/dataflow/eval/values/general.d.ts +1 -3
- package/dataflow/eval/values/general.js +0 -1
- package/dataflow/eval/values/intervals/interval-constants.d.ts +7 -1
- package/dataflow/eval/values/intervals/interval-constants.js +6 -0
- package/dataflow/eval/values/logical/logical-constants.d.ts +4 -1
- package/dataflow/eval/values/logical/logical-constants.js +3 -0
- package/dataflow/eval/values/r-value.d.ts +12 -0
- package/dataflow/eval/values/r-value.js +12 -0
- package/dataflow/eval/values/scalar/scalar-consatnts.d.ts +7 -1
- package/dataflow/eval/values/scalar/scalar-consatnts.js +6 -0
- package/dataflow/eval/values/sets/set-constants.d.ts +7 -2
- package/dataflow/eval/values/sets/set-constants.js +6 -0
- package/dataflow/eval/values/string/string-constants.d.ts +16 -1
- package/dataflow/eval/values/string/string-constants.js +15 -0
- package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
- package/dataflow/extractor.d.ts +3 -4
- package/dataflow/extractor.js +25 -22
- 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 +9 -28
- package/dataflow/graph/graph.js +4 -28
- 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 +8 -0
- package/dataflow/graph/unknown-replacement.js +8 -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 +16 -10
- package/dataflow/info.js +27 -1
- package/dataflow/internal/linker.d.ts +25 -9
- package/dataflow/internal/linker.js +30 -11
- package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
- package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -1
- 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 +6 -4
- 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 +4 -1
- 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-assignment.js +4 -4
- 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 +9 -6
- 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 +4 -1
- 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 +4 -1
- 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 +7 -1
- 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 +5 -1
- 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-list.js +2 -2
- 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 +6 -3
- 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 +10 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +8 -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 +5 -3
- 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 +34 -12
- package/dataflow/internal/process/functions/call/built-in/built-in-source.js +90 -68
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +5 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +5 -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-vector.js +2 -2
- 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 +4 -1
- package/dataflow/internal/process/functions/call/common.d.ts +11 -5
- package/dataflow/internal/process/functions/call/common.js +9 -3
- package/dataflow/internal/process/functions/call/default-call-handling.d.ts +5 -0
- package/dataflow/internal/process/functions/call/default-call-handling.js +5 -0
- package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
- package/dataflow/internal/process/functions/call/known-call-handling.js +10 -3
- package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
- package/dataflow/internal/process/functions/call/named-call-handling.js +10 -4
- 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 +7 -4
- 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 +6 -8
- package/dataflow/origin/dfg-get-symbol-refs.js +7 -9
- package/dataflow/processor.d.ts +6 -12
- package/dataflow/processor.js +0 -1
- package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -2
- 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 +87 -0
- 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 +19 -0
- package/documentation/data/faq/wiki-faq-store.js +83 -0
- package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
- package/documentation/data/server/doc-data-server-messages.js +5 -64
- 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} +136 -35
- 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 +14 -0
- package/documentation/doc-util/doc-benchmarks.js +14 -0
- package/documentation/doc-util/doc-cfg.d.ts +7 -1
- package/documentation/doc-util/doc-cfg.js +14 -8
- 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 +12 -6
- package/documentation/doc-util/doc-dfg.js +19 -10
- 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 +6 -1
- package/documentation/doc-util/doc-escape.js +11 -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 +26 -0
- package/documentation/doc-util/doc-general.js +26 -0
- package/documentation/doc-util/doc-normalized-ast.d.ts +14 -3
- package/documentation/doc-util/doc-normalized-ast.js +16 -7
- package/documentation/doc-util/doc-query.d.ts +26 -3
- package/documentation/doc-util/doc-query.js +34 -12
- package/documentation/doc-util/doc-repl.d.ts +6 -0
- package/documentation/doc-util/doc-repl.js +6 -0
- package/documentation/doc-util/doc-search.d.ts +3 -18
- package/documentation/doc-util/doc-search.js +6 -62
- package/documentation/doc-util/doc-server-message.d.ts +18 -6
- package/documentation/doc-util/doc-server-message.js +17 -5
- 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 +90 -11
- package/documentation/doc-util/doc-types.js +128 -39
- 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} +167 -175
- package/documentation/wiki-dataflow-graph.d.ts +9 -0
- package/documentation/{print-dataflow-graph-wiki.js → wiki-dataflow-graph.js} +145 -175
- 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} +60 -57
- 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} +65 -80
- package/documentation/wiki-search.d.ts +9 -0
- package/documentation/wiki-search.js +61 -0
- package/engines.d.ts +1 -1
- package/linter/linter-executor.d.ts +6 -3
- package/linter/linter-executor.js +6 -2
- package/linter/linter-format.d.ts +10 -2
- package/linter/linter-format.js +8 -0
- package/linter/linter-rules.d.ts +13 -17
- package/linter/rules/absolute-path.d.ts +4 -6
- package/linter/rules/absolute-path.js +2 -2
- package/linter/rules/dataframe-access-validation.d.ts +4 -5
- package/linter/rules/dataframe-access-validation.js +21 -19
- package/linter/rules/dead-code.d.ts +2 -2
- package/linter/rules/deprecated-functions.d.ts +2 -6
- package/linter/rules/file-path-validity.d.ts +2 -3
- package/linter/rules/file-path-validity.js +4 -4
- package/linter/rules/function-finder-util.d.ts +2 -7
- package/linter/rules/naming-convention.d.ts +15 -4
- package/linter/rules/naming-convention.js +14 -2
- package/linter/rules/network-functions.d.ts +2 -2
- package/linter/rules/network-functions.js +1 -1
- package/linter/rules/seeded-randomness.d.ts +4 -4
- package/linter/rules/seeded-randomness.js +33 -13
- package/linter/rules/unused-definition.d.ts +3 -4
- package/linter/rules/useless-loop.d.ts +3 -4
- package/linter/rules/useless-loop.js +2 -2
- package/package.json +7 -18
- package/project/cache/flowr-analyzer-cache.d.ts +9 -19
- package/project/cache/flowr-analyzer-cache.js +17 -44
- 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 +31 -9
- package/project/context/flowr-analyzer-context.js +48 -4
- package/project/context/flowr-analyzer-dependencies-context.d.ts +0 -1
- package/project/context/flowr-analyzer-files-context.d.ts +63 -15
- package/project/context/flowr-analyzer-files-context.js +110 -39
- package/project/context/flowr-file.d.ts +32 -11
- package/project/context/flowr-file.js +30 -9
- package/project/flowr-analyzer-builder.d.ts +23 -31
- package/project/flowr-analyzer-builder.js +35 -74
- package/project/flowr-analyzer.d.ts +79 -29
- package/project/flowr-analyzer.js +59 -15
- package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +8 -2
- 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 -5
- package/project/plugins/file-plugins/flowr-description-file.js +0 -1
- 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.d.ts +1 -1
- package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.js +7 -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 +7 -2
- 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 +16 -4
- package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +34 -18
- package/queries/catalog/cluster-query/cluster-query-executor.d.ts +3 -0
- package/queries/catalog/cluster-query/cluster-query-executor.js +3 -0
- package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
- package/queries/catalog/config-query/config-query-executor.d.ts +3 -0
- package/queries/catalog/config-query/config-query-executor.js +3 -0
- package/queries/catalog/config-query/config-query-format.d.ts +5 -2
- package/queries/catalog/config-query/config-query-format.js +13 -16
- package/queries/catalog/control-flow-query/control-flow-query-executor.d.ts +3 -0
- package/queries/catalog/control-flow-query/control-flow-query-executor.js +3 -0
- package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +3 -3
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.d.ts +3 -0
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.js +3 -0
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
- package/queries/catalog/dataflow-query/dataflow-query-executor.d.ts +3 -0
- package/queries/catalog/dataflow-query/dataflow-query-executor.js +3 -0
- package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
- package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +4 -1
- package/queries/catalog/dependencies-query/dependencies-query-executor.js +7 -4
- package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +4 -1
- package/queries/catalog/dependencies-query/dependencies-query-format.js +5 -2
- 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 +25 -5
- package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +4 -0
- package/queries/catalog/happens-before-query/happens-before-query-executor.js +4 -0
- package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
- package/queries/catalog/id-map-query/id-map-query-executor.d.ts +3 -0
- package/queries/catalog/id-map-query/id-map-query-executor.js +3 -0
- package/queries/catalog/id-map-query/id-map-query-format.d.ts +1 -1
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.d.ts +3 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +3 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +2 -2
- package/queries/catalog/linter-query/linter-query-executor.d.ts +4 -0
- package/queries/catalog/linter-query/linter-query-executor.js +4 -0
- package/queries/catalog/linter-query/linter-query-format.d.ts +12 -3
- package/queries/catalog/linter-query/linter-query-format.js +80 -2
- 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 +7 -2
- 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 +6 -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 +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 +10 -1
- 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 +30 -1
- package/queries/query-print.d.ts +20 -4
- package/queries/query-print.js +18 -2
- package/queries/query.d.ts +93 -55
- package/queries/query.js +55 -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 +2 -2
- package/r-bridge/lang-4.x/ast/model/collect.js +4 -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-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/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 +11 -14
- package/r-bridge/lang-4.x/ast/model/processing/decorate.js +30 -17
- 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 +6 -5
- package/r-bridge/lang-4.x/ast/model/type.js +6 -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/format.js +1 -1
- package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +12 -12
- package/r-bridge/lang-4.x/ast/parser/json/parser.js +11 -11
- 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-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/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 +18 -0
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +15 -2
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +62 -24
- package/r-bridge/parser.d.ts +43 -12
- package/r-bridge/parser.js +27 -13
- package/r-bridge/retriever.d.ts +25 -16
- package/r-bridge/retriever.js +29 -5
- 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 -2
- package/reconstruct/auto-select/magic-comments.d.ts +1 -2
- package/reconstruct/auto-select/magic-comments.js +2 -3
- package/reconstruct/reconstruct.d.ts +18 -12
- package/reconstruct/reconstruct.js +19 -10
- 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 +15 -3
- package/search/search-executor/search-enrichers.d.ts +16 -6
- package/search/search-executor/search-enrichers.js +4 -3
- package/search/search-executor/search-generators.d.ts +19 -10
- package/search/search-executor/search-generators.js +57 -5
- 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 +13 -12
- package/slicing/criterion/collect-all.js +1 -1
- package/slicing/criterion/parse.d.ts +4 -2
- package/slicing/criterion/parse.js +8 -6
- 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/assignments.js +1 -1
- 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/control-flow.js +1 -1
- 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/data-access.js +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/defined-functions/defined-functions.js +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/expression-list/statistics-expression-list.js +1 -1
- package/statistics/features/supported/loops/loops.js +1 -1
- 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-functions/used-functions.js +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/features/supported/variables/variables.js +1 -1
- 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 +4 -4
- 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 +56 -2
- package/util/assert.js +56 -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 +12 -12
- package/util/files.js +11 -11
- 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 +7 -3
- package/util/mermaid/ast.js +39 -8
- package/util/mermaid/cfg.d.ts +1 -1
- package/util/mermaid/cfg.js +1 -1
- package/util/mermaid/dfg.d.ts +12 -4
- package/util/mermaid/dfg.js +9 -1
- package/util/mermaid/mermaid.d.ts +6 -1
- package/util/mermaid/mermaid.js +6 -1
- package/util/numbers.d.ts +7 -0
- package/util/numbers.js +7 -0
- package/util/objects.d.ts +0 -2
- package/util/os.d.ts +3 -0
- package/util/os.js +3 -0
- package/util/parallel.d.ts +4 -4
- package/util/parallel.js +4 -4
- package/util/prefix.d.ts +0 -1
- package/util/prefix.js +0 -1
- package/util/quads.d.ts +14 -17
- package/util/quads.js +3 -5
- package/util/r-value.d.ts +10 -1
- package/util/r-value.js +21 -0
- package/util/random.d.ts +3 -0
- package/util/random.js +3 -0
- package/util/range.d.ts +9 -3
- package/util/range.js +15 -2
- package/util/schema.d.ts +14 -1
- package/util/schema.js +15 -2
- package/util/simple-df/dfg-view.d.ts +4 -1
- package/util/simple-df/dfg-view.js +4 -1
- package/util/summarizer.d.ts +9 -1
- package/util/summarizer.js +9 -0
- package/util/text/ansi.d.ts +3 -0
- package/util/text/ansi.js +3 -0
- package/util/text/args.d.ts +2 -4
- package/util/text/args.js +7 -5
- package/util/text/text.d.ts +4 -0
- package/util/text/text.js +4 -0
- package/util/text/time.d.ts +0 -1
- package/util/text/time.js +0 -1
- package/util/version.d.ts +12 -3
- package/util/version.js +12 -3
- package/abstract-interpretation/data-frame/domain.d.ts +0 -107
- package/abstract-interpretation/data-frame/domain.js +0 -315
- package/abstract-interpretation/domains/set-bounded-set-domain.d.ts +0 -43
- package/abstract-interpretation/domains/set-bounded-set-domain.js +0 -164
- package/cli/repl/commands/repl-lineage.d.ts +0 -15
- package/cli/repl/commands/repl-lineage.js +0 -66
- package/cli/repl/server/messages/message-lineage.d.ts +0 -17
- package/cli/repl/server/messages/message-lineage.js +0 -25
- package/documentation/print-analyzer-wiki.d.ts +0 -1
- package/documentation/print-analyzer-wiki.js +0 -137
- 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 -2
- 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 -90
- 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/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
- package/util/formats/adapter-format.d.ts +0 -6
- package/util/formats/adapter-format.js +0 -3
- package/util/formats/adapter.d.ts +0 -18
- package/util/formats/adapter.js +0 -49
- 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 -26
- package/util/formats/adapters/rmd-adapter.js +0 -91
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();
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
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) {
|
|
@@ -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
|
{
|
|
@@ -302,6 +302,9 @@ exports.DefaultBuiltinConfig = [
|
|
|
302
302
|
}
|
|
303
303
|
}
|
|
304
304
|
];
|
|
305
|
+
/**
|
|
306
|
+
*
|
|
307
|
+
*/
|
|
305
308
|
function getDefaultProcessor(name) {
|
|
306
309
|
if (name.startsWith(unnamed_call_handling_1.UnnamedFunctionCallPrefix)) {
|
|
307
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) {
|
|
@@ -30,8 +33,8 @@ function diffMemory(a, b, info) {
|
|
|
30
33
|
continue;
|
|
31
34
|
}
|
|
32
35
|
// we sort both value arrays by their id so that we have no problems with differently ordered arrays (which have no impact)
|
|
33
|
-
const sorted =
|
|
34
|
-
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)));
|
|
35
38
|
for (let i = 0; i < value.length; ++i) {
|
|
36
39
|
const aVal = sorted[i];
|
|
37
40
|
const bVal = sorted2[i];
|
|
@@ -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
|
|
@@ -29,16 +29,15 @@ function makeReferenceMaybe(ref, graph, environments, includeDefs, defaultCd = u
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
const node = graph.
|
|
32
|
+
const node = graph.getVertex(ref.nodeId, true);
|
|
33
33
|
if (node) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
fst.cds.push(defaultCd);
|
|
34
|
+
if (node.cds) {
|
|
35
|
+
if (defaultCd && !node.cds.find(c => c.id === defaultCd.id && c.when === defaultCd.when)) {
|
|
36
|
+
node.cds.push(defaultCd);
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
39
|
else {
|
|
41
|
-
|
|
40
|
+
node.cds = defaultCd ? [defaultCd] : [];
|
|
42
41
|
}
|
|
43
42
|
}
|
|
44
43
|
if (ref.controlDependencies) {
|
|
@@ -51,6 +50,9 @@ function makeReferenceMaybe(ref, graph, environments, includeDefs, defaultCd = u
|
|
|
51
50
|
}
|
|
52
51
|
return ref;
|
|
53
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
54
56
|
function makeAllMaybe(references, graph, environments, includeDefs, defaultCd = undefined) {
|
|
55
57
|
return references?.map(ref => makeReferenceMaybe(ref, graph, environments, includeDefs, defaultCd)) ?? [];
|
|
56
58
|
}
|
|
@@ -14,7 +14,6 @@ export type Identifier = string & {
|
|
|
14
14
|
* a function when resolving an {@link Identifier|identifier}.
|
|
15
15
|
* In `c <- 3; print(c(1, 2))` the call to `c` works normally (as the vector constructor),
|
|
16
16
|
* while writing `c <- function(...) ..1` overshadows the built-in and causes `print` to only output the first element.
|
|
17
|
-
*
|
|
18
17
|
* @see {@link isReferenceType} - for checking if a (potentially joint) reference type contains a certain type
|
|
19
18
|
* @see {@link ReferenceTypeReverseMapping} - for debugging
|
|
20
19
|
*/
|
|
@@ -45,7 +44,6 @@ export declare function isReferenceType(t: ReferenceType, target: ReferenceType)
|
|
|
45
44
|
/**
|
|
46
45
|
* Describes all types of reference (definitions) that can appear within a graph (i.e., that are not built-in like the
|
|
47
46
|
* default definition for the assignment operator `<-`).
|
|
48
|
-
*
|
|
49
47
|
* @see {@link InGraphIdentifierDefinition} - for the definition of an identifier within the graph
|
|
50
48
|
*/
|
|
51
49
|
export type InGraphReferenceType = Exclude<ReferenceType, ReferenceType.BuiltInConstant | ReferenceType.BuiltInFunction>;
|
|
@@ -61,7 +59,6 @@ export type InGraphReferenceType = Exclude<ReferenceType, ReferenceType.BuiltInC
|
|
|
61
59
|
* they indicate the references that are currently (during the analysis at this given node)
|
|
62
60
|
* {@link DataflowInformation#in|read (`in`)}, {@link DataflowInformation#out|written (`out`)},
|
|
63
61
|
* or {@link DataflowInformation#unknownReferences|unknown (`unknownReferences`)}.
|
|
64
|
-
*
|
|
65
62
|
* @see {@link InGraphIdentifierDefinition}
|
|
66
63
|
*/
|
|
67
64
|
export interface IdentifierReference {
|
|
@@ -88,7 +85,6 @@ export interface IdentifierReference {
|
|
|
88
85
|
* Within a code snippet like `a <- 3`, the symbol processor will first create an
|
|
89
86
|
* {@link IdentifierReference|identifier reference} for `a` to reference the use
|
|
90
87
|
* and then promote it to an {@link InGraphIdentifierDefinition|identifier definition}.
|
|
91
|
-
*
|
|
92
88
|
* @see {@link IdentifierReference}
|
|
93
89
|
*/
|
|
94
90
|
export interface InGraphIdentifierDefinition extends IdentifierReference {
|
|
@@ -11,7 +11,6 @@ exports.isReferenceType = isReferenceType;
|
|
|
11
11
|
* a function when resolving an {@link Identifier|identifier}.
|
|
12
12
|
* In `c <- 3; print(c(1, 2))` the call to `c` works normally (as the vector constructor),
|
|
13
13
|
* while writing `c <- function(...) ..1` overshadows the built-in and causes `print` to only output the first element.
|
|
14
|
-
*
|
|
15
14
|
* @see {@link isReferenceType} - for checking if a (potentially joint) reference type contains a certain type
|
|
16
15
|
* @see {@link ReferenceTypeReverseMapping} - for debugging
|
|
17
16
|
*/
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type REnvironmentInformation } from './environment';
|
|
2
2
|
import type { ControlDependency } from '../info';
|
|
3
|
-
export declare function overwriteIEnvironmentWith(base: IEnvironment | undefined, next: IEnvironment | undefined, includeParent?: boolean, applyCds?: readonly ControlDependency[]): IEnvironment;
|
|
4
3
|
export declare function overwriteEnvironment(base: REnvironmentInformation, next: REnvironmentInformation | undefined, applyCds?: readonly ControlDependency[]): REnvironmentInformation;
|
|
5
4
|
export declare function overwriteEnvironment(base: REnvironmentInformation | undefined, next: REnvironmentInformation, applyCds?: readonly ControlDependency[]): REnvironmentInformation;
|
|
6
5
|
export declare function overwriteEnvironment(base: undefined, next: undefined, applyCds?: readonly ControlDependency[]): undefined;
|
|
@@ -1,40 +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
9
|
function overwriteIEnvironmentWith(base, next, includeParent = true, applyCds) {
|
|
20
10
|
(0, assert_1.guard)(base !== undefined && next !== undefined, 'can not overwrite environments with undefined');
|
|
21
11
|
const map = new Map(base.memory);
|
|
22
12
|
for (const [key, values] of next.memory) {
|
|
23
|
-
if (values.length > 1_000_000) {
|
|
24
|
-
log_1.log.warn(`Overwriting environment with ${values.length} definitions for ${key}`);
|
|
25
|
-
}
|
|
26
13
|
const hasMaybe = applyCds !== undefined ? true : anyIsMaybeOrEmpty(values);
|
|
27
14
|
if (hasMaybe) {
|
|
28
15
|
const old = map.get(key);
|
|
29
16
|
// we need to make a copy to avoid side effects for old reference in other environments
|
|
30
|
-
const updatedOld =
|
|
17
|
+
const updatedOld = old?.slice() ?? [];
|
|
31
18
|
for (const v of values) {
|
|
32
19
|
const index = updatedOld.findIndex(o => o.nodeId === v.nodeId && o.definedAt === v.definedAt);
|
|
33
20
|
if (index < 0) {
|
|
34
21
|
if (applyCds !== undefined) {
|
|
35
22
|
updatedOld.push({
|
|
36
23
|
...v,
|
|
37
|
-
controlDependencies: applyCds.concat(v.controlDependencies
|
|
24
|
+
controlDependencies: v.controlDependencies ? applyCds.concat(v.controlDependencies) : applyCds.slice()
|
|
38
25
|
});
|
|
39
26
|
}
|
|
40
27
|
else {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { REnvironmentInformation } from './environment';
|
|
2
2
|
import { Ternary } from '../../util/logic';
|
|
3
|
-
import type
|
|
4
|
-
import { ReferenceType } from './identifier';
|
|
3
|
+
import { type Identifier, type IdentifierDefinition, ReferenceType } from './identifier';
|
|
5
4
|
/**
|
|
6
5
|
* Resolves a given identifier name to a list of its possible definition location using R scoping and resolving rules.
|
|
7
|
-
*
|
|
8
6
|
* @param name - The name of the identifier to resolve
|
|
9
7
|
* @param environment - The current environment used for name resolution
|
|
10
8
|
* @param target - The target (meta) type of the identifier to resolve
|
|
11
|
-
*
|
|
12
9
|
* @returns A list of possible identifier definitions (one if the definition location is exactly and always known), or `undefined`
|
|
13
10
|
* if the identifier is undefined in the current scope/with the current environment information.
|
|
14
11
|
*/
|
|
15
12
|
export declare function resolveByName(name: Identifier, environment: REnvironmentInformation, target?: ReferenceType): IdentifierDefinition[] | undefined;
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
16
|
export declare function resolvesToBuiltInConstant(name: Identifier | undefined, environment: REnvironmentInformation, wantedValue: unknown): Ternary;
|
|
@@ -22,11 +22,9 @@ const TargetTypePredicate = {
|
|
|
22
22
|
};
|
|
23
23
|
/**
|
|
24
24
|
* Resolves a given identifier name to a list of its possible definition location using R scoping and resolving rules.
|
|
25
|
-
*
|
|
26
25
|
* @param name - The name of the identifier to resolve
|
|
27
26
|
* @param environment - The current environment used for name resolution
|
|
28
27
|
* @param target - The target (meta) type of the identifier to resolve
|
|
29
|
-
*
|
|
30
28
|
* @returns A list of possible identifier definitions (one if the definition location is exactly and always known), or `undefined`
|
|
31
29
|
* if the identifier is undefined in the current scope/with the current environment information.
|
|
32
30
|
*/
|
|
@@ -56,6 +54,9 @@ function resolveByName(name, environment, target = identifier_1.ReferenceType.Un
|
|
|
56
54
|
return builtIns;
|
|
57
55
|
}
|
|
58
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
*
|
|
59
|
+
*/
|
|
59
60
|
function resolvesToBuiltInConstant(name, environment, wantedValue) {
|
|
60
61
|
if (name === undefined) {
|
|
61
62
|
return logic_1.Ternary.Never;
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import type
|
|
2
|
-
/**
|
|
1
|
+
import { type REnvironmentInformation } from './environment';
|
|
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;
|
|
7
|
+
/**
|
|
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
|
|
10
|
+
*/
|
|
4
11
|
export declare function popLocalEnvironment(base: REnvironmentInformation): REnvironmentInformation;
|
|
@@ -4,13 +4,20 @@ 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),
|
|
11
14
|
level: base.level + 1
|
|
12
15
|
};
|
|
13
16
|
}
|
|
17
|
+
/**
|
|
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
|
|
20
|
+
*/
|
|
14
21
|
function popLocalEnvironment(base) {
|
|
15
22
|
(0, assert_1.guard)(base.level > 0, 'cannot remove the global/root environment');
|
|
16
23
|
const parent = base.current.parent;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { VariableResolve } from '../../../config';
|
|
2
2
|
import type { AstIdMap, RNodeWithParent } from '../../../r-bridge/lang-4.x/ast/model/processing/decorate';
|
|
3
|
-
import type
|
|
4
|
-
import type
|
|
5
|
-
import type
|
|
3
|
+
import { type NodeId } from '../../../r-bridge/lang-4.x/ast/model/processing/node-id';
|
|
4
|
+
import { type REnvironmentInformation } from '../../environments/environment';
|
|
5
|
+
import { type Identifier } from '../../environments/identifier';
|
|
6
6
|
import type { DataflowGraph } from '../../graph/graph';
|
|
7
|
-
import type
|
|
7
|
+
import { type Lift, type Value, type ValueSet } from '../values/r-value';
|
|
8
8
|
export type ResolveResult = Lift<ValueSet<Value[]>>;
|
|
9
9
|
export interface ResolveInfo {
|
|
10
10
|
/** The current environment used for name resolution */
|
|
@@ -26,7 +26,6 @@ export interface ResolveInfo {
|
|
|
26
26
|
* the sourceIds value field of their InGraphIdentifierDefinition. This enables
|
|
27
27
|
* us later, in the {@link trackAliasInEnvironments} function, to get all the
|
|
28
28
|
* aliases of an identifier.
|
|
29
|
-
*
|
|
30
29
|
* @param sourceIds - node ids to get the definitions for
|
|
31
30
|
* @param dataflow - dataflow graph
|
|
32
31
|
* @param environment - environment
|
|
@@ -45,7 +44,6 @@ export declare function getAliases(sourceIds: readonly NodeId[], dataflow: Dataf
|
|
|
45
44
|
* This function is also used by the Resolve Value Query and the Dependency Query
|
|
46
45
|
* to resolve values. For e.g. in the Dependency Query it is used to resolve calls
|
|
47
46
|
* like `lapply(c("a", "b", "c"), library, character.only = TRUE)`
|
|
48
|
-
*
|
|
49
47
|
* @param id - The node id or node to resolve
|
|
50
48
|
* @param environment - The current environment used for name resolution
|
|
51
49
|
* @param graph - The graph to resolve in
|
|
@@ -59,8 +57,6 @@ export declare function resolveIdToValue(id: NodeId | RNodeWithParent | undefine
|
|
|
59
57
|
*
|
|
60
58
|
* Uses the aliases that were tracked in the environments (by the
|
|
61
59
|
* {@link getAliases} function) to resolve a node to a value.
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
60
|
* @param resolve - Variable resolve mode
|
|
65
61
|
* @param identifier - Identifier to resolve
|
|
66
62
|
* @param use - Environment to use
|
|
@@ -73,7 +69,6 @@ export declare function trackAliasInEnvironments(resolve: VariableResolve, ident
|
|
|
73
69
|
* Please use {@link resolveIdToValue}
|
|
74
70
|
*
|
|
75
71
|
* Tries to resolve the value of a node by traversing the dataflow graph
|
|
76
|
-
*
|
|
77
72
|
* @param id - node to resolve
|
|
78
73
|
* @param graph - dataflow graph
|
|
79
74
|
* @param idMap - idmap of dataflow graph
|
|
@@ -84,7 +79,6 @@ export declare function trackAliasesInGraph(id: NodeId, graph: DataflowGraph, id
|
|
|
84
79
|
* Please use {@link resolveIdToValue}
|
|
85
80
|
*
|
|
86
81
|
* Resolve an Identifier to a constant, if the identifier is a constant
|
|
87
|
-
*
|
|
88
82
|
* @param name - Identifier to resolve
|
|
89
83
|
* @param environment - Environment to use
|
|
90
84
|
* @returns Value of Constant or Top
|
|
@@ -77,7 +77,6 @@ function getUseAlias(sourceId, dataflow, environment) {
|
|
|
77
77
|
* the sourceIds value field of their InGraphIdentifierDefinition. This enables
|
|
78
78
|
* us later, in the {@link trackAliasInEnvironments} function, to get all the
|
|
79
79
|
* aliases of an identifier.
|
|
80
|
-
*
|
|
81
80
|
* @param sourceIds - node ids to get the definitions for
|
|
82
81
|
* @param dataflow - dataflow graph
|
|
83
82
|
* @param environment - environment
|
|
@@ -109,7 +108,6 @@ function getAliases(sourceIds, dataflow, environment) {
|
|
|
109
108
|
* This function is also used by the Resolve Value Query and the Dependency Query
|
|
110
109
|
* to resolve values. For e.g. in the Dependency Query it is used to resolve calls
|
|
111
110
|
* like `lapply(c("a", "b", "c"), library, character.only = TRUE)`
|
|
112
|
-
*
|
|
113
111
|
* @param id - The node id or node to resolve
|
|
114
112
|
* @param environment - The current environment used for name resolution
|
|
115
113
|
* @param graph - The graph to resolve in
|
|
@@ -157,8 +155,6 @@ function resolveIdToValue(id, { environment, graph, idMap, full = true, resolve
|
|
|
157
155
|
*
|
|
158
156
|
* Uses the aliases that were tracked in the environments (by the
|
|
159
157
|
* {@link getAliases} function) to resolve a node to a value.
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
158
|
* @param resolve - Variable resolve mode
|
|
163
159
|
* @param identifier - Identifier to resolve
|
|
164
160
|
* @param use - Environment to use
|
|
@@ -256,20 +252,22 @@ function isNestedInLoop(node, ast) {
|
|
|
256
252
|
* Please use {@link resolveIdToValue}
|
|
257
253
|
*
|
|
258
254
|
* Tries to resolve the value of a node by traversing the dataflow graph
|
|
259
|
-
*
|
|
260
255
|
* @param id - node to resolve
|
|
261
256
|
* @param graph - dataflow graph
|
|
262
257
|
* @param idMap - idmap of dataflow graph
|
|
263
258
|
* @returns Value of node or Top/Bottom
|
|
264
259
|
*/
|
|
265
260
|
function trackAliasesInGraph(id, graph, idMap) {
|
|
261
|
+
if (!graph.get(id)) {
|
|
262
|
+
return r_value_1.Bottom;
|
|
263
|
+
}
|
|
266
264
|
idMap ??= graph.idMap;
|
|
267
265
|
(0, assert_1.guard)(idMap !== undefined, 'The ID map is required to get the lineage of a node');
|
|
268
266
|
const queue = new visiting_queue_1.VisitingQueue(25);
|
|
269
267
|
const clean = (0, environment_1.initializeCleanEnvironments)();
|
|
270
268
|
const cleanFingerprint = (0, fingerprint_1.envFingerprint)(clean);
|
|
271
269
|
queue.add(id, clean, cleanFingerprint, false);
|
|
272
|
-
let
|
|
270
|
+
let forceTop = false;
|
|
273
271
|
const resultIds = [];
|
|
274
272
|
while (queue.nonEmpty()) {
|
|
275
273
|
const { id, baseEnvironment } = queue.next();
|
|
@@ -284,15 +282,15 @@ function trackAliasesInGraph(id, graph, idMap) {
|
|
|
284
282
|
if (target === undefined) {
|
|
285
283
|
continue;
|
|
286
284
|
}
|
|
287
|
-
if (target.type === type_1.RType.WhileLoop || target.type === type_1.RType.RepeatLoop) {
|
|
288
|
-
|
|
285
|
+
if (target.type === type_1.RType.WhileLoop || target.type === type_1.RType.RepeatLoop || target.type === type_1.RType.ForLoop) {
|
|
286
|
+
forceTop = true;
|
|
289
287
|
break;
|
|
290
288
|
}
|
|
291
289
|
}
|
|
292
|
-
if (!
|
|
293
|
-
|
|
290
|
+
if (!forceTop && (cds?.length === 0 && isNestedInLoop(idMap.get(id), idMap))) {
|
|
291
|
+
forceTop = true;
|
|
294
292
|
}
|
|
295
|
-
if (
|
|
293
|
+
if (forceTop) {
|
|
296
294
|
break;
|
|
297
295
|
}
|
|
298
296
|
if (vertex.tag === vertex_1.VertexType.Value) {
|
|
@@ -318,8 +316,8 @@ function trackAliasesInGraph(id, graph, idMap) {
|
|
|
318
316
|
}
|
|
319
317
|
}
|
|
320
318
|
}
|
|
321
|
-
if (
|
|
322
|
-
return r_value_1.
|
|
319
|
+
if (forceTop || resultIds.length === 0) {
|
|
320
|
+
return r_value_1.Top;
|
|
323
321
|
}
|
|
324
322
|
const values = new Set();
|
|
325
323
|
for (const id of resultIds) {
|
|
@@ -334,7 +332,6 @@ function trackAliasesInGraph(id, graph, idMap) {
|
|
|
334
332
|
* Please use {@link resolveIdToValue}
|
|
335
333
|
*
|
|
336
334
|
* Resolve an Identifier to a constant, if the identifier is a constant
|
|
337
|
-
*
|
|
338
335
|
* @param name - Identifier to resolve
|
|
339
336
|
* @param environment - Environment to use
|
|
340
337
|
* @returns Value of Constant or Top
|