@eagleoutice/flowr 2.6.0 → 2.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +142 -45
- package/abstract-interpretation/data-frame/absint-info.d.ts +1 -1
- package/abstract-interpretation/data-frame/absint-visitor.d.ts +3 -4
- package/abstract-interpretation/data-frame/absint-visitor.js +16 -11
- package/abstract-interpretation/data-frame/dataframe-domain.d.ts +18 -12
- package/abstract-interpretation/data-frame/dataframe-domain.js +25 -13
- package/abstract-interpretation/data-frame/mappers/access-mapper.d.ts +0 -1
- package/abstract-interpretation/data-frame/mappers/access-mapper.js +0 -1
- package/abstract-interpretation/data-frame/mappers/arguments.d.ts +1 -10
- package/abstract-interpretation/data-frame/mappers/arguments.js +0 -7
- package/abstract-interpretation/data-frame/mappers/assignment-mapper.d.ts +0 -1
- package/abstract-interpretation/data-frame/mappers/assignment-mapper.js +0 -1
- package/abstract-interpretation/data-frame/mappers/function-mapper.d.ts +4 -5
- package/abstract-interpretation/data-frame/mappers/function-mapper.js +3 -4
- package/abstract-interpretation/data-frame/mappers/replacement-mapper.d.ts +0 -1
- package/abstract-interpretation/data-frame/mappers/replacement-mapper.js +0 -1
- package/abstract-interpretation/data-frame/resolve-args.d.ts +1 -1
- package/abstract-interpretation/data-frame/semantics.d.ts +3 -4
- package/abstract-interpretation/data-frame/semantics.js +171 -162
- package/abstract-interpretation/data-frame/shape-inference.d.ts +1 -4
- package/abstract-interpretation/data-frame/shape-inference.js +7 -9
- package/abstract-interpretation/domains/abstract-domain.d.ts +59 -18
- package/abstract-interpretation/domains/abstract-domain.js +74 -1
- package/abstract-interpretation/domains/bounded-set-domain.d.ts +37 -24
- package/abstract-interpretation/domains/bounded-set-domain.js +70 -47
- package/abstract-interpretation/domains/interval-domain.d.ts +33 -25
- package/abstract-interpretation/domains/interval-domain.js +109 -50
- package/abstract-interpretation/domains/lattice.d.ts +19 -11
- package/abstract-interpretation/domains/mapped-abstract-domain.d.ts +34 -0
- package/abstract-interpretation/domains/mapped-abstract-domain.js +189 -0
- package/abstract-interpretation/domains/positive-interval-domain.d.ts +16 -12
- package/abstract-interpretation/domains/positive-interval-domain.js +20 -11
- package/abstract-interpretation/domains/product-domain.d.ts +18 -23
- package/abstract-interpretation/domains/product-domain.js +11 -19
- package/abstract-interpretation/domains/satisfiable-domain.d.ts +29 -0
- package/abstract-interpretation/domains/satisfiable-domain.js +24 -0
- package/abstract-interpretation/domains/set-upper-bound-domain.d.ts +54 -0
- package/abstract-interpretation/domains/set-upper-bound-domain.js +197 -0
- package/abstract-interpretation/domains/singleton-domain.d.ts +24 -19
- package/abstract-interpretation/domains/singleton-domain.js +52 -37
- package/abstract-interpretation/domains/state-abstract-domain.d.ts +8 -24
- package/abstract-interpretation/domains/state-abstract-domain.js +2 -167
- package/abstract-interpretation/normalized-ast-fold.d.ts +1 -7
- package/abstract-interpretation/normalized-ast-fold.js +0 -5
- package/benchmark/slicer.d.ts +3 -7
- package/benchmark/slicer.js +14 -19
- package/benchmark/stats/print.d.ts +6 -0
- package/benchmark/stats/print.js +6 -0
- package/benchmark/stats/size-of.d.ts +0 -1
- package/benchmark/stats/size-of.js +0 -1
- package/benchmark/stats/stats.d.ts +2 -2
- package/benchmark/stopwatch.d.ts +11 -13
- package/benchmark/stopwatch.js +11 -13
- package/benchmark/summarizer/first-phase/input.d.ts +6 -0
- package/benchmark/summarizer/first-phase/input.js +6 -0
- package/benchmark/summarizer/first-phase/process.d.ts +13 -1
- package/benchmark/summarizer/first-phase/process.js +12 -0
- package/benchmark/summarizer/second-phase/graph.d.ts +3 -0
- package/benchmark/summarizer/second-phase/graph.js +3 -0
- package/benchmark/summarizer/second-phase/process.d.ts +12 -0
- package/benchmark/summarizer/second-phase/process.js +12 -0
- package/benchmark/summarizer/summarizer.d.ts +1 -2
- package/cli/benchmark-app.js +0 -2
- package/cli/common/features.d.ts +7 -1
- package/cli/common/features.js +6 -0
- package/cli/common/script.d.ts +3 -1
- package/cli/common/script.js +3 -1
- package/cli/common/scripts-info.d.ts +3 -1
- package/cli/common/scripts-info.js +3 -0
- package/cli/flowr-main-options.d.ts +3 -0
- package/cli/flowr-main-options.js +3 -0
- package/cli/flowr.js +8 -4
- package/cli/repl/commands/repl-cfg.js +4 -4
- package/cli/repl/commands/repl-commands.d.ts +13 -0
- package/cli/repl/commands/repl-commands.js +15 -4
- package/cli/repl/commands/repl-dataflow.js +4 -4
- package/cli/repl/commands/repl-execute.d.ts +5 -1
- package/cli/repl/commands/repl-execute.js +12 -8
- package/cli/repl/commands/repl-main.d.ts +17 -14
- package/cli/repl/commands/repl-normalize.js +2 -2
- package/cli/repl/commands/repl-parse.js +4 -3
- package/cli/repl/commands/repl-query.js +18 -7
- package/cli/repl/commands/repl-quit.js +1 -1
- package/cli/repl/commands/repl-version.d.ts +1 -16
- package/cli/repl/commands/repl-version.js +2 -19
- package/cli/repl/core.d.ts +32 -14
- package/cli/repl/core.js +38 -35
- package/cli/repl/execute.d.ts +0 -2
- package/cli/repl/execute.js +0 -2
- package/cli/repl/parser/slice-query-parser.d.ts +14 -0
- package/cli/repl/parser/slice-query-parser.js +34 -0
- package/cli/repl/print-version.d.ts +6 -0
- package/cli/repl/print-version.js +8 -2
- package/cli/repl/server/compact.d.ts +8 -0
- package/cli/repl/server/compact.js +8 -0
- package/cli/repl/server/connection.d.ts +4 -3
- package/cli/repl/server/connection.js +9 -33
- package/cli/repl/server/messages/all-messages.d.ts +1 -3
- package/cli/repl/server/messages/all-messages.js +0 -1
- package/cli/repl/server/messages/message-analysis.d.ts +0 -2
- package/cli/repl/server/messages/message-hello.d.ts +1 -1
- package/cli/repl/server/messages/message-query.d.ts +1 -1
- package/cli/repl/server/messages/message-repl.d.ts +0 -1
- package/cli/repl/server/send.d.ts +6 -0
- package/cli/repl/server/send.js +6 -0
- package/cli/repl/server/server.d.ts +1 -1
- package/cli/repl/server/server.js +2 -2
- package/cli/repl/server/validate.d.ts +10 -1
- package/cli/repl/server/validate.js +9 -0
- package/cli/run-script.d.ts +1 -2
- package/cli/run-script.js +0 -1
- package/cli/script-core/statistics-core.d.ts +3 -0
- package/cli/script-core/statistics-core.js +3 -0
- package/cli/script-core/statistics-helper-core.d.ts +4 -1
- package/cli/script-core/statistics-helper-core.js +3 -0
- package/cli/script-core/summarizer-core.d.ts +3 -0
- package/cli/script-core/summarizer-core.js +3 -0
- package/cli/summarizer-app.d.ts +2 -3
- package/cli/summarizer-app.js +2 -3
- package/config.d.ts +17 -3
- package/config.js +15 -0
- package/control-flow/basic-cfg-guided-visitor.d.ts +1 -2
- package/control-flow/basic-cfg-guided-visitor.js +0 -1
- package/control-flow/cfg-to-basic-blocks.d.ts +1 -1
- package/control-flow/control-flow-graph.d.ts +20 -12
- package/control-flow/control-flow-graph.js +16 -4
- package/control-flow/dfg-cfg-guided-visitor.d.ts +2 -3
- package/control-flow/diff-cfg.d.ts +3 -5
- package/control-flow/diff-cfg.js +0 -1
- package/control-flow/extract-cfg.d.ts +3 -6
- package/control-flow/extract-cfg.js +0 -3
- package/control-flow/happens-before.d.ts +1 -1
- package/control-flow/semantic-cfg-guided-visitor.d.ts +2 -31
- package/control-flow/semantic-cfg-guided-visitor.js +0 -28
- package/control-flow/simple-visitor.d.ts +1 -3
- package/control-flow/simple-visitor.js +0 -2
- package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
- package/control-flow/useless-loop.d.ts +0 -3
- package/control-flow/useless-loop.js +2 -5
- package/core/pipeline-executor.d.ts +8 -16
- package/core/pipeline-executor.js +9 -18
- package/core/print/dataflow-printer.d.ts +19 -0
- package/core/print/dataflow-printer.js +19 -0
- package/core/print/normalize-printer.d.ts +21 -1
- package/core/print/normalize-printer.js +20 -0
- package/core/print/parse-printer.d.ts +6 -1
- package/core/print/parse-printer.js +5 -0
- package/core/print/print.d.ts +0 -1
- package/core/print/print.js +0 -1
- package/core/print/slice-diff-ansi.d.ts +3 -0
- package/core/print/slice-diff-ansi.js +3 -0
- package/core/steps/all/core/00-parse.d.ts +1 -1
- package/core/steps/all/core/01-parse-tree-sitter.d.ts +1 -11
- package/core/steps/all/core/10-normalize.d.ts +3 -0
- package/core/steps/all/core/10-normalize.js +3 -0
- package/core/steps/all/core/11-normalize-tree-sitter.d.ts +4 -3
- package/core/steps/all/core/20-dataflow.d.ts +3 -1
- package/core/steps/pipeline/create-pipeline.d.ts +1 -1
- package/core/steps/pipeline/default-pipelines.d.ts +29 -13
- package/core/steps/pipeline/default-pipelines.js +0 -4
- package/core/steps/pipeline/pipeline.d.ts +1 -8
- package/core/steps/pipeline/pipeline.js +1 -3
- package/core/steps/pipeline-step.d.ts +0 -1
- package/core/steps/pipeline-step.js +0 -1
- package/dataflow/cluster.d.ts +3 -0
- package/dataflow/cluster.js +3 -0
- package/dataflow/environments/append.d.ts +1 -1
- package/dataflow/environments/built-in-config.d.ts +1 -5
- package/dataflow/environments/built-in-config.js +0 -1
- package/dataflow/environments/built-in.d.ts +10 -5
- package/dataflow/environments/built-in.js +6 -1
- package/dataflow/environments/clone.d.ts +1 -1
- package/dataflow/environments/default-builtin-config.d.ts +3 -0
- package/dataflow/environments/default-builtin-config.js +12 -1
- package/dataflow/environments/diff.d.ts +11 -2
- package/dataflow/environments/diff.js +9 -0
- package/dataflow/environments/environment.d.ts +3 -3
- package/dataflow/environments/environment.js +8 -6
- package/dataflow/environments/identifier.d.ts +0 -4
- package/dataflow/environments/identifier.js +0 -1
- package/dataflow/environments/overwrite.d.ts +4 -1
- package/dataflow/environments/overwrite.js +3 -0
- package/dataflow/environments/resolve-by-name.d.ts +4 -4
- package/dataflow/environments/resolve-by-name.js +3 -2
- package/dataflow/environments/scoping.d.ts +4 -1
- package/dataflow/environments/scoping.js +3 -0
- package/dataflow/eval/resolve/alias-tracking.d.ts +4 -10
- package/dataflow/eval/resolve/alias-tracking.js +13 -14
- package/dataflow/eval/resolve/resolve-argument.d.ts +1 -1
- package/dataflow/eval/resolve/resolve.d.ts +1 -7
- package/dataflow/eval/resolve/resolve.js +3 -5
- package/dataflow/eval/values/general.d.ts +1 -3
- package/dataflow/eval/values/general.js +0 -1
- package/dataflow/eval/values/intervals/interval-constants.d.ts +7 -1
- package/dataflow/eval/values/intervals/interval-constants.js +6 -0
- package/dataflow/eval/values/logical/logical-constants.d.ts +4 -1
- package/dataflow/eval/values/logical/logical-constants.js +3 -0
- package/dataflow/eval/values/r-value.d.ts +16 -1
- package/dataflow/eval/values/r-value.js +14 -0
- package/dataflow/eval/values/scalar/scalar-consatnts.d.ts +7 -1
- package/dataflow/eval/values/scalar/scalar-consatnts.js +6 -0
- package/dataflow/eval/values/sets/set-constants.d.ts +7 -2
- package/dataflow/eval/values/sets/set-constants.js +6 -0
- package/dataflow/eval/values/string/string-constants.d.ts +10 -1
- package/dataflow/eval/values/string/string-constants.js +9 -0
- package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
- package/dataflow/extractor.d.ts +5 -2
- package/dataflow/extractor.js +7 -5
- package/dataflow/fn/higher-order-function.d.ts +9 -0
- package/dataflow/fn/higher-order-function.js +75 -0
- package/dataflow/graph/dataflowgraph-builder.d.ts +20 -38
- package/dataflow/graph/dataflowgraph-builder.js +6 -23
- package/dataflow/graph/diff-dataflow-graph.d.ts +16 -6
- package/dataflow/graph/diff-dataflow-graph.js +12 -1
- package/dataflow/graph/edge.d.ts +9 -0
- package/dataflow/graph/edge.js +9 -0
- package/dataflow/graph/graph.d.ts +6 -19
- package/dataflow/graph/graph.js +4 -15
- package/dataflow/graph/invert-dfg.d.ts +3 -0
- package/dataflow/graph/invert-dfg.js +3 -0
- package/dataflow/graph/quads.d.ts +1 -1
- package/dataflow/graph/unknown-replacement.d.ts +6 -0
- package/dataflow/graph/unknown-replacement.js +6 -0
- package/dataflow/graph/unknown-side-effect.d.ts +8 -0
- package/dataflow/graph/unknown-side-effect.js +8 -0
- package/dataflow/graph/vertex.d.ts +9 -9
- package/dataflow/graph/vertex.js +9 -1
- package/dataflow/info.d.ts +9 -10
- package/dataflow/info.js +6 -1
- package/dataflow/internal/linker.d.ts +25 -9
- package/dataflow/internal/linker.js +23 -7
- package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
- package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -0
- package/dataflow/internal/process/functions/call/argument/unpack-argument.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-access.js +3 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-apply.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-apply.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-assignment.d.ts +2 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-eval.d.ts +6 -3
- package/dataflow/internal/process/functions/call/built-in/built-in-eval.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.d.ts +10 -4
- package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +6 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-get.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +4 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-library.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-library.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-list.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-pipe.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-quote.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-quote.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-replacement.d.ts +6 -3
- package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +3 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-rm.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-rm.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +23 -6
- package/dataflow/internal/process/functions/call/built-in/built-in-source.js +20 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-vector.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +3 -0
- package/dataflow/internal/process/functions/call/common.d.ts +11 -5
- package/dataflow/internal/process/functions/call/common.js +6 -0
- package/dataflow/internal/process/functions/call/default-call-handling.d.ts +3 -0
- package/dataflow/internal/process/functions/call/default-call-handling.js +3 -0
- package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
- package/dataflow/internal/process/functions/call/known-call-handling.js +7 -0
- package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
- package/dataflow/internal/process/functions/call/named-call-handling.js +6 -0
- package/dataflow/internal/process/functions/call/unnamed-call-handling.d.ts +4 -1
- package/dataflow/internal/process/functions/call/unnamed-call-handling.js +3 -0
- package/dataflow/internal/process/functions/process-argument.d.ts +8 -2
- package/dataflow/internal/process/functions/process-argument.js +6 -0
- package/dataflow/internal/process/functions/process-parameter.d.ts +5 -2
- package/dataflow/internal/process/functions/process-parameter.js +3 -0
- package/dataflow/internal/process/process-symbol.d.ts +3 -0
- package/dataflow/internal/process/process-symbol.js +3 -0
- package/dataflow/internal/process/process-uninteresting-leaf.d.ts +3 -0
- package/dataflow/internal/process/process-uninteresting-leaf.js +3 -0
- package/dataflow/internal/process/process-value.d.ts +3 -0
- package/dataflow/internal/process/process-value.js +3 -0
- package/dataflow/origin/dfg-get-origin.d.ts +0 -2
- package/dataflow/origin/dfg-get-symbol-refs.d.ts +5 -7
- package/dataflow/origin/dfg-get-symbol-refs.js +6 -8
- package/dataflow/processor.d.ts +0 -1
- package/dataflow/processor.js +0 -1
- package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -0
- package/documentation/data/dfg/doc-data-dfg-util.js +6 -0
- package/documentation/data/faq/faqs.d.ts +5 -0
- package/documentation/data/faq/faqs.js +78 -0
- package/documentation/data/faq/wiki-faq-store.d.ts +18 -0
- package/documentation/data/faq/wiki-faq-store.js +75 -0
- package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
- package/documentation/data/server/doc-data-server-messages.js +4 -63
- package/documentation/doc-util/doc-auto-gen.d.ts +6 -0
- package/documentation/doc-util/doc-auto-gen.js +6 -0
- package/documentation/doc-util/doc-benchmarks.d.ts +12 -0
- package/documentation/doc-util/doc-benchmarks.js +12 -0
- package/documentation/doc-util/doc-cfg.d.ts +7 -1
- package/documentation/doc-util/doc-cfg.js +9 -0
- package/documentation/doc-util/doc-cli-option.d.ts +9 -0
- package/documentation/doc-util/doc-cli-option.js +9 -0
- package/documentation/doc-util/doc-code.d.ts +24 -0
- package/documentation/doc-util/doc-code.js +24 -0
- package/documentation/doc-util/doc-dfg.d.ts +7 -1
- package/documentation/doc-util/doc-dfg.js +9 -0
- package/documentation/doc-util/doc-env.d.ts +3 -0
- package/documentation/doc-util/doc-env.js +3 -0
- package/documentation/doc-util/doc-escape.d.ts +0 -1
- package/documentation/doc-util/doc-escape.js +0 -1
- package/documentation/doc-util/doc-files.d.ts +11 -0
- package/documentation/doc-util/doc-files.js +15 -4
- package/documentation/doc-util/doc-general.d.ts +6 -0
- package/documentation/doc-util/doc-general.js +6 -0
- package/documentation/doc-util/doc-normalized-ast.d.ts +7 -1
- package/documentation/doc-util/doc-normalized-ast.js +6 -0
- package/documentation/doc-util/doc-query.d.ts +15 -0
- package/documentation/doc-util/doc-query.js +17 -2
- package/documentation/doc-util/doc-repl.d.ts +6 -0
- package/documentation/doc-util/doc-repl.js +11 -2
- package/documentation/doc-util/doc-search.d.ts +15 -0
- package/documentation/doc-util/doc-search.js +17 -2
- package/documentation/doc-util/doc-server-message.d.ts +13 -1
- package/documentation/doc-util/doc-server-message.js +13 -1
- package/documentation/doc-util/doc-structure.d.ts +9 -0
- package/documentation/doc-util/doc-structure.js +10 -1
- package/documentation/doc-util/doc-types.d.ts +42 -0
- package/documentation/doc-util/doc-types.js +42 -0
- package/documentation/print-analyzer-wiki.js +4 -0
- package/documentation/print-core-wiki.d.ts +3 -0
- package/documentation/print-core-wiki.js +5 -2
- package/documentation/print-dataflow-graph-wiki.js +7 -7
- package/documentation/print-faq-wiki.js +3 -75
- package/documentation/print-interface-wiki.js +1 -1
- package/documentation/print-onboarding-wiki.js +1 -1
- package/documentation/print-query-wiki.js +24 -34
- package/documentation/print-readme.js +106 -1
- package/engines.d.ts +1 -1
- package/linter/linter-executor.d.ts +6 -3
- package/linter/linter-executor.js +3 -0
- package/linter/linter-format.d.ts +8 -0
- package/linter/linter-format.js +8 -0
- package/linter/rules/absolute-path.d.ts +3 -4
- package/linter/rules/dataframe-access-validation.d.ts +3 -4
- package/linter/rules/dataframe-access-validation.js +9 -11
- package/linter/rules/dead-code.d.ts +1 -1
- package/linter/rules/deprecated-functions.d.ts +1 -1
- package/linter/rules/file-path-validity.d.ts +1 -2
- package/linter/rules/function-finder-util.d.ts +1 -2
- package/linter/rules/naming-convention.d.ts +13 -2
- package/linter/rules/naming-convention.js +13 -1
- package/linter/rules/network-functions.d.ts +1 -1
- package/linter/rules/seeded-randomness.d.ts +1 -2
- package/linter/rules/unused-definition.d.ts +2 -3
- package/linter/rules/useless-loop.d.ts +1 -2
- package/package.json +2 -2
- package/project/cache/flowr-analyzer-cache.d.ts +8 -14
- package/project/cache/flowr-analyzer-cache.js +21 -19
- package/project/cfg-kind.d.ts +17 -0
- package/project/cfg-kind.js +22 -0
- package/project/context/abstract-flowr-analyzer-context.d.ts +4 -0
- package/project/context/flowr-analyzer-context.d.ts +9 -6
- package/project/context/flowr-analyzer-context.js +11 -0
- package/project/context/flowr-analyzer-dependencies-context.d.ts +1 -1
- package/project/context/flowr-analyzer-dependencies-context.js +4 -0
- package/project/context/flowr-analyzer-files-context.d.ts +3 -4
- package/project/context/flowr-analyzer-files-context.js +4 -0
- package/project/context/flowr-analyzer-loading-order-context.d.ts +1 -0
- package/project/context/flowr-analyzer-loading-order-context.js +6 -0
- package/project/context/flowr-file.d.ts +0 -1
- package/project/flowr-analyzer-builder.d.ts +1 -3
- package/project/flowr-analyzer-builder.js +5 -6
- package/project/flowr-analyzer.d.ts +42 -32
- package/project/flowr-analyzer.js +14 -8
- package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +1 -1
- package/project/plugins/file-plugins/flowr-description-file.d.ts +1 -3
- package/project/plugins/file-plugins/flowr-description-file.js +0 -1
- package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.d.ts +1 -1
- package/queries/base-query-format.d.ts +2 -2
- package/queries/catalog/call-context-query/call-context-query-executor.d.ts +3 -0
- package/queries/catalog/call-context-query/call-context-query-executor.js +5 -1
- package/queries/catalog/call-context-query/call-context-query-format.d.ts +3 -3
- package/queries/catalog/call-context-query/identify-link-to-last-call-relation.d.ts +11 -2
- package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +9 -0
- package/queries/catalog/cluster-query/cluster-query-executor.d.ts +3 -0
- package/queries/catalog/cluster-query/cluster-query-executor.js +3 -0
- package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
- package/queries/catalog/config-query/config-query-executor.d.ts +3 -0
- package/queries/catalog/config-query/config-query-executor.js +3 -0
- package/queries/catalog/config-query/config-query-format.d.ts +6 -3
- package/queries/catalog/config-query/config-query-format.js +13 -16
- package/queries/catalog/control-flow-query/control-flow-query-executor.d.ts +3 -0
- package/queries/catalog/control-flow-query/control-flow-query-executor.js +5 -1
- package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +3 -3
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.d.ts +3 -0
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.js +3 -0
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
- package/queries/catalog/dataflow-query/dataflow-query-executor.d.ts +3 -0
- package/queries/catalog/dataflow-query/dataflow-query-executor.js +3 -0
- package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
- package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +4 -1
- package/queries/catalog/dependencies-query/dependencies-query-executor.js +7 -4
- package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +4 -1
- package/queries/catalog/dependencies-query/dependencies-query-format.js +4 -1
- package/queries/catalog/df-shape-query/df-shape-query-executor.d.ts +4 -1
- package/queries/catalog/df-shape-query/df-shape-query-executor.js +8 -4
- package/queries/catalog/df-shape-query/df-shape-query-format.d.ts +10 -3
- package/queries/catalog/df-shape-query/df-shape-query-format.js +24 -5
- package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +3 -0
- package/queries/catalog/happens-before-query/happens-before-query-executor.js +3 -0
- package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
- package/queries/catalog/id-map-query/id-map-query-executor.d.ts +3 -0
- package/queries/catalog/id-map-query/id-map-query-executor.js +3 -0
- package/queries/catalog/id-map-query/id-map-query-format.d.ts +1 -1
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.d.ts +6 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +48 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +22 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.js +32 -0
- package/queries/catalog/linter-query/linter-query-executor.d.ts +4 -0
- package/queries/catalog/linter-query/linter-query-executor.js +4 -0
- package/queries/catalog/linter-query/linter-query-format.d.ts +12 -3
- package/queries/catalog/linter-query/linter-query-format.js +67 -0
- package/queries/catalog/location-map-query/location-map-query-executor.d.ts +4 -0
- package/queries/catalog/location-map-query/location-map-query-executor.js +5 -1
- package/queries/catalog/location-map-query/location-map-query-format.d.ts +7 -1
- package/queries/catalog/location-map-query/location-map-query-format.js +12 -0
- package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.d.ts +3 -0
- package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.js +3 -0
- package/queries/catalog/normalized-ast-query/normalized-ast-query-format.d.ts +1 -1
- package/queries/catalog/origin-query/origin-query-executor.d.ts +7 -1
- package/queries/catalog/origin-query/origin-query-executor.js +6 -0
- package/queries/catalog/origin-query/origin-query-format.d.ts +7 -1
- package/queries/catalog/origin-query/origin-query-format.js +17 -1
- package/queries/catalog/project-query/project-query-executor.d.ts +3 -0
- package/queries/catalog/project-query/project-query-executor.js +3 -0
- package/queries/catalog/project-query/project-query-format.d.ts +1 -1
- package/queries/catalog/resolve-value-query/resolve-value-query-executor.d.ts +6 -0
- package/queries/catalog/resolve-value-query/resolve-value-query-executor.js +6 -0
- package/queries/catalog/resolve-value-query/resolve-value-query-format.d.ts +7 -1
- package/queries/catalog/resolve-value-query/resolve-value-query-format.js +19 -1
- package/queries/catalog/search-query/search-query-executor.d.ts +3 -0
- package/queries/catalog/search-query/search-query-executor.js +3 -0
- package/queries/catalog/search-query/search-query-format.d.ts +1 -1
- package/queries/catalog/static-slice-query/static-slice-query-executor.d.ts +9 -0
- package/queries/catalog/static-slice-query/static-slice-query-executor.js +9 -0
- package/queries/catalog/static-slice-query/static-slice-query-format.d.ts +7 -1
- package/queries/catalog/static-slice-query/static-slice-query-format.js +17 -0
- package/queries/query-print.d.ts +20 -4
- package/queries/query-print.js +18 -2
- package/queries/query.d.ts +91 -53
- package/queries/query.js +37 -23
- package/queries/virtual-query/virtual-queries.d.ts +1 -2
- package/r-bridge/data/get.d.ts +6 -0
- package/r-bridge/data/get.js +6 -0
- package/r-bridge/lang-4.x/ast/model/collect.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/collect.js +0 -1
- package/r-bridge/lang-4.x/ast/model/model.d.ts +8 -11
- package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/model/nodes/r-number.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-number.js +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-string.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-string.js +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.js +3 -0
- package/r-bridge/lang-4.x/ast/model/operators.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +6 -7
- package/r-bridge/lang-4.x/ast/model/processing/decorate.js +6 -6
- package/r-bridge/lang-4.x/ast/model/processing/fold.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/model/processing/node-id.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/node-id.js +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.d.ts +1 -2
- package/r-bridge/lang-4.x/ast/model/processing/visitor.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/visitor.js +0 -1
- package/r-bridge/lang-4.x/ast/model/type.d.ts +4 -5
- package/r-bridge/lang-4.x/ast/model/type.js +4 -5
- package/r-bridge/lang-4.x/ast/model/versions.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/versions.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +4 -5
- package/r-bridge/lang-4.x/ast/parser/json/parser.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/control/normalize-if-then.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.d.ts +1 -3
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.d.ts +4 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.d.ts +4 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-binary.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.d.ts +9 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.js +9 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.d.ts +1 -3
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.d.ts +1 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.d.ts +14 -5
- package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.js +13 -6
- package/r-bridge/lang-4.x/convert-values.d.ts +12 -1
- package/r-bridge/lang-4.x/convert-values.js +12 -1
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.d.ts +7 -2
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.js +17 -0
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +13 -1
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +48 -19
- package/r-bridge/parser.d.ts +30 -2
- package/r-bridge/retriever.d.ts +16 -1
- package/r-bridge/retriever.js +15 -0
- package/r-bridge/shell-executor.d.ts +3 -3
- package/r-bridge/shell-executor.js +6 -1
- package/r-bridge/shell.d.ts +24 -23
- package/r-bridge/shell.js +37 -31
- package/reconstruct/auto-select/auto-select-defaults.d.ts +0 -1
- package/reconstruct/auto-select/magic-comments.d.ts +1 -2
- package/reconstruct/auto-select/magic-comments.js +1 -2
- package/reconstruct/reconstruct.d.ts +1 -3
- package/reconstruct/reconstruct.js +0 -2
- package/search/flowr-search-builder.d.ts +12 -5
- package/search/flowr-search-builder.js +7 -2
- package/search/flowr-search-executor.d.ts +3 -3
- package/search/flowr-search-filters.d.ts +14 -1
- package/search/flowr-search-filters.js +13 -0
- package/search/flowr-search-printer.d.ts +6 -0
- package/search/flowr-search-printer.js +6 -0
- package/search/flowr-search-traverse.d.ts +1 -1
- package/search/flowr-search.d.ts +3 -3
- package/search/search-executor/search-enrichers.d.ts +9 -6
- package/search/search-executor/search-enrichers.js +5 -1
- package/search/search-executor/search-generators.d.ts +19 -10
- package/search/search-executor/search-generators.js +49 -2
- package/search/search-executor/search-mappers.d.ts +8 -5
- package/search/search-executor/search-mappers.js +3 -0
- package/search/search-executor/search-transformer.d.ts +19 -16
- package/search/search-executor/search-transformer.js +3 -0
- package/slicing/criterion/collect-all.d.ts +10 -10
- package/slicing/criterion/parse.d.ts +4 -2
- package/slicing/criterion/parse.js +4 -2
- package/slicing/static/fingerprint.d.ts +9 -1
- package/slicing/static/fingerprint.js +8 -0
- package/slicing/static/slice-call.d.ts +2 -2
- package/slicing/static/static-slicer.d.ts +8 -4
- package/slicing/static/static-slicer.js +5 -1
- package/slicing/static/visiting-queue.d.ts +1 -1
- package/statistics/features/common-syntax-probability.d.ts +10 -1
- package/statistics/features/common-syntax-probability.js +9 -0
- package/statistics/features/feature.d.ts +0 -4
- package/statistics/features/feature.js +0 -1
- package/statistics/features/post-processing.d.ts +6 -0
- package/statistics/features/post-processing.js +6 -0
- package/statistics/features/supported/assignments/post-process.d.ts +3 -0
- package/statistics/features/supported/assignments/post-process.js +3 -0
- package/statistics/features/supported/comments/post-process.d.ts +3 -0
- package/statistics/features/supported/comments/post-process.js +3 -0
- package/statistics/features/supported/control-flow/post-process.d.ts +3 -0
- package/statistics/features/supported/control-flow/post-process.js +3 -0
- package/statistics/features/supported/data-access/data-access.d.ts +1 -1
- package/statistics/features/supported/data-access/post-process.d.ts +3 -0
- package/statistics/features/supported/data-access/post-process.js +3 -0
- package/statistics/features/supported/defined-functions/defined-functions.d.ts +1 -1
- package/statistics/features/supported/expression-list/post-process.d.ts +3 -0
- package/statistics/features/supported/expression-list/post-process.js +3 -0
- package/statistics/features/supported/loops/post-process.d.ts +3 -0
- package/statistics/features/supported/loops/post-process.js +3 -0
- package/statistics/features/supported/used-functions/used-functions.d.ts +1 -1
- package/statistics/features/supported/used-packages/post-process.d.ts +3 -0
- package/statistics/features/supported/used-packages/post-process.js +3 -0
- package/statistics/features/supported/values/post-process.d.ts +3 -0
- package/statistics/features/supported/values/post-process.js +3 -0
- package/statistics/features/supported/variables/post-process.d.ts +7 -1
- package/statistics/features/supported/variables/post-process.js +6 -0
- package/statistics/meta-statistics.d.ts +8 -9
- package/statistics/output/file-provider.d.ts +5 -6
- package/statistics/output/file-provider.js +5 -6
- package/statistics/output/print-stats.d.ts +13 -1
- package/statistics/output/print-stats.js +12 -0
- package/statistics/output/statistics-file.d.ts +1 -2
- package/statistics/output/statistics-file.js +0 -1
- package/statistics/statistics.d.ts +3 -4
- package/statistics/statistics.js +1 -2
- package/statistics/summarizer/auto-detect.d.ts +3 -0
- package/statistics/summarizer/auto-detect.js +3 -0
- package/statistics/summarizer/post-process/clusterer.d.ts +3 -4
- package/statistics/summarizer/post-process/clusterer.js +0 -2
- package/statistics/summarizer/post-process/file-based-count.d.ts +0 -1
- package/statistics/summarizer/post-process/file-based-count.js +0 -1
- package/statistics/summarizer/post-process/histogram.d.ts +0 -2
- package/statistics/summarizer/post-process/histogram.js +0 -2
- package/statistics/summarizer/post-process/post-process-output.d.ts +2 -4
- package/statistics/summarizer/post-process/post-process-output.js +0 -3
- package/statistics/summarizer/second-phase/process.d.ts +5 -3
- package/statistics/summarizer/second-phase/process.js +3 -1
- package/statistics/summarizer/summarizer.d.ts +1 -2
- package/util/assert.d.ts +52 -2
- package/util/assert.js +52 -2
- package/util/collections/arrays.d.ts +10 -5
- package/util/collections/arrays.js +10 -5
- package/util/collections/defaultmap.d.ts +11 -11
- package/util/collections/defaultmap.js +11 -11
- package/util/containers.d.ts +2 -7
- package/util/containers.js +0 -5
- package/util/diff-graph.d.ts +0 -1
- package/util/diff-graph.js +0 -1
- package/util/diff.d.ts +3 -1
- package/util/diff.js +3 -1
- package/util/files.d.ts +11 -11
- package/util/files.js +10 -10
- package/util/formats/adapter.d.ts +9 -0
- package/util/formats/adapter.js +9 -0
- package/util/formats/adapters/rmd-adapter.d.ts +10 -1
- package/util/formats/adapters/rmd-adapter.js +10 -1
- package/util/html-hover-over.d.ts +5 -0
- package/util/html-hover-over.js +5 -0
- package/util/json.d.ts +13 -0
- package/util/json.js +13 -0
- package/util/log.d.ts +2 -2
- package/util/log.js +2 -2
- package/util/mermaid/ast.d.ts +3 -0
- package/util/mermaid/ast.js +3 -0
- package/util/mermaid/cfg.d.ts +1 -1
- package/util/mermaid/dfg.d.ts +12 -4
- package/util/mermaid/dfg.js +9 -1
- package/util/mermaid/mermaid.d.ts +6 -1
- package/util/mermaid/mermaid.js +6 -1
- package/util/numbers.d.ts +7 -0
- package/util/numbers.js +7 -0
- package/util/objects.d.ts +0 -2
- package/util/os.d.ts +3 -0
- package/util/os.js +3 -0
- package/util/parallel.d.ts +4 -4
- package/util/parallel.js +4 -4
- package/util/prefix.d.ts +0 -1
- package/util/prefix.js +0 -1
- package/util/quads.d.ts +14 -17
- package/util/quads.js +3 -5
- package/util/r-value.d.ts +11 -2
- package/util/r-value.js +23 -0
- package/util/random.d.ts +3 -0
- package/util/random.js +3 -0
- package/util/range.d.ts +9 -3
- package/util/range.js +15 -2
- package/util/schema.d.ts +14 -1
- package/util/schema.js +15 -2
- package/util/simple-df/dfg-view.d.ts +4 -1
- package/util/simple-df/dfg-view.js +4 -1
- package/util/summarizer.d.ts +9 -1
- package/util/summarizer.js +9 -0
- package/util/text/ansi.d.ts +3 -0
- package/util/text/ansi.js +3 -0
- package/util/text/args.d.ts +2 -4
- package/util/text/args.js +7 -5
- package/util/text/text.d.ts +4 -0
- package/util/text/text.js +4 -0
- package/util/text/time.d.ts +0 -1
- package/util/text/time.js +0 -1
- package/util/version.d.ts +26 -0
- package/util/version.js +37 -1
- package/abstract-interpretation/data-frame/domain.d.ts +0 -107
- package/abstract-interpretation/data-frame/domain.js +0 -315
- package/abstract-interpretation/domains/set-bounded-set-domain.d.ts +0 -43
- package/abstract-interpretation/domains/set-bounded-set-domain.js +0 -164
- package/cli/repl/commands/repl-lineage.d.ts +0 -15
- package/cli/repl/commands/repl-lineage.js +0 -67
- package/cli/repl/server/messages/message-lineage.d.ts +0 -17
- package/cli/repl/server/messages/message-lineage.js +0 -25
- package/queries/catalog/lineage-query/lineage-query-executor.d.ts +0 -3
- package/queries/catalog/lineage-query/lineage-query-executor.js +0 -22
- package/queries/catalog/lineage-query/lineage-query-format.d.ts +0 -22
- package/queries/catalog/lineage-query/lineage-query-format.js +0 -31
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* 2. transforming the AST into a doubly linked tree using the ids (so it stays serializable)
|
|
6
6
|
*
|
|
7
7
|
* The main entry point is {@link decorateAst}.
|
|
8
|
-
*
|
|
9
8
|
* @module
|
|
10
9
|
*/
|
|
11
10
|
import type { NoInfo, RNode } from '../model';
|
|
@@ -18,7 +17,6 @@ import type { RDelimiter } from '../nodes/info/r-delimiter';
|
|
|
18
17
|
/**
|
|
19
18
|
* A function that given an RNode returns a (guaranteed) unique id for it
|
|
20
19
|
* @param data - the node to generate an id for
|
|
21
|
-
*
|
|
22
20
|
* @returns a unique id for the given node
|
|
23
21
|
*/
|
|
24
22
|
export type IdGenerator<OtherInfo> = (data: RNode<OtherInfo>) => NodeId;
|
|
@@ -26,18 +24,22 @@ export type IdGenerator<OtherInfo> = (data: RNode<OtherInfo>) => NodeId;
|
|
|
26
24
|
* The simplest id generator which just increments a number on each call.
|
|
27
25
|
*/
|
|
28
26
|
export declare function deterministicCountingIdGenerator(id?: number): () => NodeId;
|
|
27
|
+
/**
|
|
28
|
+
* Generates ids with a fixed prefix and an incrementing counter.
|
|
29
|
+
*/
|
|
29
30
|
export declare function deterministicPrefixIdGenerator(prefix: string, id?: number): () => NodeId;
|
|
31
|
+
/**
|
|
32
|
+
* Generates ids with a fixed source path and location information as prefix and an incrementing counter.
|
|
33
|
+
*/
|
|
30
34
|
export declare function sourcedDeterministicCountingIdGenerator(path: string, location: SourceRange, start?: number): () => NodeId;
|
|
31
35
|
/**
|
|
32
36
|
* Generates the location id, used by {@link deterministicLocationIdGenerator}.
|
|
33
|
-
*
|
|
34
37
|
* @param data - the node to generate an id for, must have location information
|
|
35
38
|
*/
|
|
36
39
|
export declare function nodeToLocationId<OtherInfo>(data: RNode<OtherInfo> | RDelimiter): NodeId;
|
|
37
40
|
/**
|
|
38
41
|
* Generates unique ids based on the locations of the node (see {@link nodeToLocationId}).
|
|
39
42
|
* If a node has no location information, it will be assigned a unique counter-value.
|
|
40
|
-
*
|
|
41
43
|
* @param start - the start value for the counter, in case nodes do not have location information
|
|
42
44
|
*/
|
|
43
45
|
export declare function deterministicLocationIdGenerator<OtherInfo>(start?: number): IdGenerator<OtherInfo>;
|
|
@@ -85,13 +87,10 @@ export interface NormalizedAstDecorationConfiguration<OtherInfo> {
|
|
|
85
87
|
}
|
|
86
88
|
/**
|
|
87
89
|
* Covert the given AST into a doubly linked tree while assigning ids (so it stays serializable).
|
|
88
|
-
*
|
|
89
90
|
* @param ast - The root of the AST to convert
|
|
90
91
|
* @param getId - The id generator: must generate a unique id für each passed node
|
|
91
92
|
* @param file - the path to the file this AST was extracted from will be added to the nodes
|
|
92
|
-
*
|
|
93
93
|
* @typeParam OtherInfo - The original decoration of the ast nodes (probably is nothing as the id decoration is most likely the first step to be performed after extraction)
|
|
94
|
-
*
|
|
95
94
|
* @returns A decorated AST based on the input and the id provider.
|
|
96
95
|
*/
|
|
97
96
|
export declare function decorateAst<OtherInfo = NoInfo>(ast: RNode<OtherInfo>, { getId, file }: NormalizedAstDecorationConfiguration<OtherInfo>): NormalizedAst<OtherInfo & ParentInformation>;
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
* 2. transforming the AST into a doubly linked tree using the ids (so it stays serializable)
|
|
7
7
|
*
|
|
8
8
|
* The main entry point is {@link decorateAst}.
|
|
9
|
-
*
|
|
10
9
|
* @module
|
|
11
10
|
*/
|
|
12
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -27,9 +26,15 @@ const r_function_call_1 = require("../nodes/r-function-call");
|
|
|
27
26
|
function deterministicCountingIdGenerator(id = 0) {
|
|
28
27
|
return () => id++;
|
|
29
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Generates ids with a fixed prefix and an incrementing counter.
|
|
31
|
+
*/
|
|
30
32
|
function deterministicPrefixIdGenerator(prefix, id = 0) {
|
|
31
33
|
return () => `${prefix}-${id++}`;
|
|
32
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Generates ids with a fixed source path and location information as prefix and an incrementing counter.
|
|
37
|
+
*/
|
|
33
38
|
function sourcedDeterministicCountingIdGenerator(path, location, start = 0) {
|
|
34
39
|
let id = start;
|
|
35
40
|
return () => `${path}-${loc2Id(location)}-${id++}`;
|
|
@@ -39,7 +44,6 @@ function loc2Id([sl, sc, el, ec]) {
|
|
|
39
44
|
}
|
|
40
45
|
/**
|
|
41
46
|
* Generates the location id, used by {@link deterministicLocationIdGenerator}.
|
|
42
|
-
*
|
|
43
47
|
* @param data - the node to generate an id for, must have location information
|
|
44
48
|
*/
|
|
45
49
|
function nodeToLocationId(data) {
|
|
@@ -50,7 +54,6 @@ function nodeToLocationId(data) {
|
|
|
50
54
|
/**
|
|
51
55
|
* Generates unique ids based on the locations of the node (see {@link nodeToLocationId}).
|
|
52
56
|
* If a node has no location information, it will be assigned a unique counter-value.
|
|
53
|
-
*
|
|
54
57
|
* @param start - the start value for the counter, in case nodes do not have location information
|
|
55
58
|
*/
|
|
56
59
|
function deterministicLocationIdGenerator(start = 0) {
|
|
@@ -66,13 +69,10 @@ const nestForElement = new Set([
|
|
|
66
69
|
]);
|
|
67
70
|
/**
|
|
68
71
|
* Covert the given AST into a doubly linked tree while assigning ids (so it stays serializable).
|
|
69
|
-
*
|
|
70
72
|
* @param ast - The root of the AST to convert
|
|
71
73
|
* @param getId - The id generator: must generate a unique id für each passed node
|
|
72
74
|
* @param file - the path to the file this AST was extracted from will be added to the nodes
|
|
73
|
-
*
|
|
74
75
|
* @typeParam OtherInfo - The original decoration of the ast nodes (probably is nothing as the id decoration is most likely the first step to be performed after extraction)
|
|
75
|
-
*
|
|
76
76
|
* @returns A decorated AST based on the input and the id provider.
|
|
77
77
|
*/
|
|
78
78
|
function decorateAst(ast, { getId = deterministicCountingIdGenerator(0), file }) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DeepReadonly } from 'ts-essentials';
|
|
2
2
|
import type { RNode } from '../model';
|
|
3
|
-
import type
|
|
3
|
+
import { type StatefulFoldFunctions } from './stateful-fold';
|
|
4
4
|
export type FoldFunctions<Info, Out> = Omit<StatefulFoldFunctions<Info, undefined, Out>, 'down'>;
|
|
5
5
|
/**
|
|
6
6
|
* Folds in old functional-fashion over the AST structure.
|
|
@@ -8,7 +8,6 @@ export type NodeId<T extends string | number = string | number> = T & {
|
|
|
8
8
|
export declare function normalizeIdToNumberIfPossible(id: NodeId): NodeId;
|
|
9
9
|
/**
|
|
10
10
|
* Recovers the lexeme of a {@link RNode|node} from its id in the {@link AstIdMap|id map}.
|
|
11
|
-
*
|
|
12
11
|
* @see {@link recoverContent} - to recover the content of a node
|
|
13
12
|
*/
|
|
14
13
|
export declare function recoverName(id: NodeId, idMap?: AstIdMap): string | undefined;
|
|
@@ -16,7 +16,6 @@ function normalizeIdToNumberIfPossible(id) {
|
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Recovers the lexeme of a {@link RNode|node} from its id in the {@link AstIdMap|id map}.
|
|
19
|
-
*
|
|
20
19
|
* @see {@link recoverContent} - to recover the content of a node
|
|
21
20
|
*/
|
|
22
21
|
function recoverName(id, idMap) {
|
|
@@ -2,7 +2,6 @@ import type { AstIdMap, RNodeWithParent } from './decorate';
|
|
|
2
2
|
/**
|
|
3
3
|
* Describes the role of the node in its parent. For example,
|
|
4
4
|
* if we have `if(TRUE) { ... }`, the role of the `TRUE` node is `IfCondition`.
|
|
5
|
-
*
|
|
6
5
|
* @see ParentContextInfo
|
|
7
6
|
* @see ParentInformation
|
|
8
7
|
*/
|
|
@@ -8,8 +8,7 @@ import type { RAccess } from '../nodes/r-access';
|
|
|
8
8
|
import type { RBinaryOp } from '../nodes/r-binary-op';
|
|
9
9
|
import type { RPipe } from '../nodes/r-pipe';
|
|
10
10
|
import type { RUnaryOp } from '../nodes/r-unary-op';
|
|
11
|
-
import type
|
|
12
|
-
import { EmptyArgument } from '../nodes/r-function-call';
|
|
11
|
+
import { type RFunctionCall, EmptyArgument } from '../nodes/r-function-call';
|
|
13
12
|
import type { RForLoop } from '../nodes/r-for-loop';
|
|
14
13
|
import type { RWhileLoop } from '../nodes/r-while-loop';
|
|
15
14
|
import type { RRepeatLoop } from '../nodes/r-repeat-loop';
|
|
@@ -5,7 +5,6 @@ export type OnEnter<OtherInfo> = (node: RNode<OtherInfo>) => (boolean | void);
|
|
|
5
5
|
export type OnExit<OtherInfo> = (node: RNode<OtherInfo>) => void;
|
|
6
6
|
/**
|
|
7
7
|
* Visits all node ids within a tree given by a respective root node using a depth-first search with prefix order.
|
|
8
|
-
*
|
|
9
8
|
* @param nodes - The root id nodes to start collecting from
|
|
10
9
|
* @param onVisit - Called before visiting the subtree of each node. Can be used to stop visiting the subtree starting with this node (return `true` stop)
|
|
11
10
|
* @param onExit - Called after the subtree of a node has been visited, called for leafs too (even though their subtree is empty)
|
|
@@ -101,7 +101,6 @@ class NodeVisitor {
|
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
103
|
* Visits all node ids within a tree given by a respective root node using a depth-first search with prefix order.
|
|
104
|
-
*
|
|
105
104
|
* @param nodes - The root id nodes to start collecting from
|
|
106
105
|
* @param onVisit - Called before visiting the subtree of each node. Can be used to stop visiting the subtree starting with this node (return `true` stop)
|
|
107
106
|
* @param onExit - Called after the subtree of a node has been visited, called for leafs too (even though their subtree is empty)
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Token types as they are produced by the R parser.
|
|
3
3
|
* Not all of them are directly handled by the normalize step.
|
|
4
4
|
* Some of them are also listed as part of the {@link OperatorDatabase}.
|
|
5
|
-
*
|
|
6
5
|
* @see RType
|
|
7
6
|
*/
|
|
8
7
|
export declare enum RawRType {
|
|
@@ -132,7 +131,8 @@ export declare enum RawRType {
|
|
|
132
131
|
BraceRight = "}",
|
|
133
132
|
/** T63 */
|
|
134
133
|
Expression = "expr",
|
|
135
|
-
/**
|
|
134
|
+
/**
|
|
135
|
+
* T64
|
|
136
136
|
*
|
|
137
137
|
* https://github.com/REditorSupport/languageserver/issues/327
|
|
138
138
|
* https://github.com/REditorSupport/languageserver/pull/328
|
|
@@ -152,7 +152,6 @@ export declare enum RawRType {
|
|
|
152
152
|
* See {@link RNode} for a union type of all normalized AST nodes in-use.
|
|
153
153
|
* For each enum member, the respective normalized AST node should be referenced
|
|
154
154
|
* in the corresponding comment.
|
|
155
|
-
*
|
|
156
155
|
* @see RawRType
|
|
157
156
|
*/
|
|
158
157
|
export declare enum RType {
|
|
@@ -198,7 +197,8 @@ export declare enum RType {
|
|
|
198
197
|
String = "RString",
|
|
199
198
|
/** {@link RSymbol} */
|
|
200
199
|
Symbol = "RSymbol",
|
|
201
|
-
/**
|
|
200
|
+
/**
|
|
201
|
+
* {@link RDelimiter}.
|
|
202
202
|
* Is not part of the normalized AST but can be found in
|
|
203
203
|
* {@link Source#additionalTokens}.
|
|
204
204
|
*/
|
|
@@ -210,7 +210,6 @@ export declare const ValidRTypesReverse: {
|
|
|
210
210
|
};
|
|
211
211
|
/**
|
|
212
212
|
* Validates, whether the given type can be used as a symbol in R
|
|
213
|
-
*
|
|
214
213
|
* @see RawRType
|
|
215
214
|
*/
|
|
216
215
|
export declare function isSymbol(type: string): boolean;
|
|
@@ -6,7 +6,6 @@ exports.isSymbol = isSymbol;
|
|
|
6
6
|
* Token types as they are produced by the R parser.
|
|
7
7
|
* Not all of them are directly handled by the normalize step.
|
|
8
8
|
* Some of them are also listed as part of the {@link OperatorDatabase}.
|
|
9
|
-
*
|
|
10
9
|
* @see RType
|
|
11
10
|
*/
|
|
12
11
|
var RawRType;
|
|
@@ -137,7 +136,8 @@ var RawRType;
|
|
|
137
136
|
RawRType["BraceRight"] = "}";
|
|
138
137
|
/** T63 */
|
|
139
138
|
RawRType["Expression"] = "expr";
|
|
140
|
-
/**
|
|
139
|
+
/**
|
|
140
|
+
* T64
|
|
141
141
|
*
|
|
142
142
|
* https://github.com/REditorSupport/languageserver/issues/327
|
|
143
143
|
* https://github.com/REditorSupport/languageserver/pull/328
|
|
@@ -157,7 +157,6 @@ var RawRType;
|
|
|
157
157
|
* See {@link RNode} for a union type of all normalized AST nodes in-use.
|
|
158
158
|
* For each enum member, the respective normalized AST node should be referenced
|
|
159
159
|
* in the corresponding comment.
|
|
160
|
-
*
|
|
161
160
|
* @see RawRType
|
|
162
161
|
*/
|
|
163
162
|
var RType;
|
|
@@ -205,7 +204,8 @@ var RType;
|
|
|
205
204
|
/** {@link RSymbol} */
|
|
206
205
|
RType["Symbol"] = "RSymbol";
|
|
207
206
|
/* ------ special types ------ */
|
|
208
|
-
/**
|
|
207
|
+
/**
|
|
208
|
+
* {@link RDelimiter}.
|
|
209
209
|
* Is not part of the normalized AST but can be found in
|
|
210
210
|
* {@link Source#additionalTokens}.
|
|
211
211
|
*/
|
|
@@ -227,7 +227,6 @@ const validSymbolTypes = new Set([
|
|
|
227
227
|
]);
|
|
228
228
|
/**
|
|
229
229
|
* Validates, whether the given type can be used as a symbol in R
|
|
230
|
-
*
|
|
231
230
|
* @see RawRType
|
|
232
231
|
*/
|
|
233
232
|
function isSymbol(type) {
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type IdGenerator, type NormalizedAst } from '../../model/processing/decorate';
|
|
2
2
|
import type { NoInfo, RNode } from '../../model/model';
|
|
3
|
-
import type { ParseStepOutputTS } from '../../../../../core/steps/all/core/01-parse-tree-sitter';
|
|
4
3
|
import type { ParseStepOutput } from '../../../../parser';
|
|
5
|
-
import type
|
|
4
|
+
import { type FlowrConfigOptions } from '../../../../../config';
|
|
5
|
+
import type { Tree } from 'web-tree-sitter';
|
|
6
6
|
export declare const parseLog: import("tslog").Logger<import("tslog").ILogObj>;
|
|
7
7
|
/**
|
|
8
8
|
* Take the output as produced by the parse step and normalize the AST from the R parser.
|
|
9
|
-
*
|
|
10
9
|
* @see {@link normalizeButNotDecorated} for a version that does not decorate the AST
|
|
11
10
|
* @see {@link normalizeTreeSitter} for a version that normalizes the AST from the TreeSitter parser
|
|
12
11
|
*/
|
|
@@ -19,4 +18,4 @@ export declare function normalizeButNotDecorated({ parsed }: ParseStepOutput<str
|
|
|
19
18
|
/**
|
|
20
19
|
* Tree-Sitter pendant to {@link normalize}.
|
|
21
20
|
*/
|
|
22
|
-
export declare function normalizeTreeSitter({ parsed }:
|
|
21
|
+
export declare function normalizeTreeSitter({ parsed }: ParseStepOutput<Tree>, getId: IdGenerator<NoInfo> | undefined, config: FlowrConfigOptions, file?: string): NormalizedAst;
|
|
@@ -13,7 +13,6 @@ const config_1 = require("../../../../../config");
|
|
|
13
13
|
exports.parseLog = log_1.log.getSubLogger({ name: 'ast-parser' });
|
|
14
14
|
/**
|
|
15
15
|
* Take the output as produced by the parse step and normalize the AST from the R parser.
|
|
16
|
-
*
|
|
17
16
|
* @see {@link normalizeButNotDecorated} for a version that does not decorate the AST
|
|
18
17
|
* @see {@link normalizeTreeSitter} for a version that normalizes the AST from the TreeSitter parser
|
|
19
18
|
*/
|
|
@@ -3,7 +3,6 @@ import type { RNode } from '../../../../model/model';
|
|
|
3
3
|
import type { JsonEntry } from '../../../json/format';
|
|
4
4
|
/**
|
|
5
5
|
* Returns an expression list if there are multiple children, otherwise returns the single child directly with no expr wrapper
|
|
6
|
-
*
|
|
7
6
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
8
7
|
* @param entry - The JSON object to extract the meta-information from
|
|
9
8
|
*/
|
|
@@ -11,7 +11,6 @@ const type_1 = require("../../../../model/type");
|
|
|
11
11
|
const normalize_comment_1 = require("../other/normalize-comment");
|
|
12
12
|
/**
|
|
13
13
|
* Returns an expression list if there are multiple children, otherwise returns the single child directly with no expr wrapper
|
|
14
|
-
*
|
|
15
14
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
16
15
|
* @param entry - The JSON object to extract the meta-information from
|
|
17
16
|
*/
|
|
@@ -4,10 +4,8 @@ import type { NamedJsonEntry } from '../../../json/format';
|
|
|
4
4
|
/**
|
|
5
5
|
* Either parses `[expr]` or `[SYMBOL_SUB, EQ_SUB, expr]` as an argument of a function call in R.
|
|
6
6
|
* Probably directly called by the function call parser as otherwise, we do not expect to find arguments.
|
|
7
|
-
*
|
|
8
7
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
9
8
|
* @param objs - Either `[expr]` or `[SYMBOL_FORMALS, EQ_FORMALS, expr]`
|
|
10
|
-
*
|
|
11
9
|
* @returns The parsed argument or `undefined` if the given object is not an argument.
|
|
12
10
|
*/
|
|
13
11
|
export declare function tryToNormalizeArgument(data: NormalizerData, objs: readonly NamedJsonEntry[]): RArgument | undefined;
|
|
@@ -10,10 +10,8 @@ const strings_1 = require("../../../../../../../util/text/strings");
|
|
|
10
10
|
/**
|
|
11
11
|
* Either parses `[expr]` or `[SYMBOL_SUB, EQ_SUB, expr]` as an argument of a function call in R.
|
|
12
12
|
* Probably directly called by the function call parser as otherwise, we do not expect to find arguments.
|
|
13
|
-
*
|
|
14
13
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
15
14
|
* @param objs - Either `[expr]` or `[SYMBOL_FORMALS, EQ_FORMALS, expr]`
|
|
16
|
-
*
|
|
17
15
|
* @returns The parsed argument or `undefined` if the given object is not an argument.
|
|
18
16
|
*/
|
|
19
17
|
function tryToNormalizeArgument(data, objs) {
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import type { NormalizerData } from '../../normalizer-data';
|
|
2
|
-
import type
|
|
2
|
+
import { type RFunctionCall } from '../../../../model/nodes/r-function-call';
|
|
3
3
|
import type { RNext } from '../../../../model/nodes/r-next';
|
|
4
4
|
import type { RBreak } from '../../../../model/nodes/r-break';
|
|
5
5
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
6
6
|
/**
|
|
7
7
|
* Tries to parse the given data as a function call.
|
|
8
|
-
*
|
|
9
8
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
10
9
|
* @param mappedWithName - The JSON object to extract the meta-information from
|
|
11
|
-
*
|
|
12
10
|
* @returns The parsed {@link RFunctionCall} (either named or unnamed) or `undefined` if the given construct is not a function call
|
|
13
11
|
* May return a {@link RNext} or {@link RBreak} as `next()` and `break()` work as such.
|
|
14
12
|
*/
|
|
@@ -13,10 +13,8 @@ const normalize_string_1 = require("../values/normalize-string");
|
|
|
13
13
|
const normalize_symbol_1 = require("../values/normalize-symbol");
|
|
14
14
|
/**
|
|
15
15
|
* Tries to parse the given data as a function call.
|
|
16
|
-
*
|
|
17
16
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
18
17
|
* @param mappedWithName - The JSON object to extract the meta-information from
|
|
19
|
-
*
|
|
20
18
|
* @returns The parsed {@link RFunctionCall} (either named or unnamed) or `undefined` if the given construct is not a function call
|
|
21
19
|
* May return a {@link RNext} or {@link RBreak} as `next()` and `break()` work as such.
|
|
22
20
|
*/
|
|
@@ -3,10 +3,8 @@ import type { RFunctionDefinition } from '../../../../model/nodes/r-function-def
|
|
|
3
3
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
4
4
|
/**
|
|
5
5
|
* Tries to parse the given data as a function definition.
|
|
6
|
-
*
|
|
7
6
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
8
7
|
* @param mappedWithName - The JSON object to extract the meta-information from
|
|
9
|
-
*
|
|
10
8
|
* @returns The parsed {@link RFunctionDefinition} or `undefined` if the given construct is not a function definition
|
|
11
9
|
*/
|
|
12
10
|
export declare function tryNormalizeFunctionDefinition(data: NormalizerData, mappedWithName: readonly NamedJsonEntry[]): RFunctionDefinition | undefined;
|
|
@@ -10,10 +10,8 @@ const type_1 = require("../../../../model/type");
|
|
|
10
10
|
const normalize_expressions_1 = require("../structure/normalize-expressions");
|
|
11
11
|
/**
|
|
12
12
|
* Tries to parse the given data as a function definition.
|
|
13
|
-
*
|
|
14
13
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
15
14
|
* @param mappedWithName - The JSON object to extract the meta-information from
|
|
16
|
-
*
|
|
17
15
|
* @returns The parsed {@link RFunctionDefinition} or `undefined` if the given construct is not a function definition
|
|
18
16
|
*/
|
|
19
17
|
function tryNormalizeFunctionDefinition(data, mappedWithName) {
|
|
@@ -4,10 +4,8 @@ import type { NamedJsonEntry } from '../../../json/format';
|
|
|
4
4
|
/**
|
|
5
5
|
* Either parses `[SYMBOL_FORMALS]` or `[SYMBOL_FORMALS, EQ_FORMALS, expr]` as a parameter of a function definition in R.
|
|
6
6
|
* Probably directly called by the function definition parser as otherwise, we do not expect to find parameters.
|
|
7
|
-
*
|
|
8
7
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
9
8
|
* @param objs - Either `[SYMBOL_FORMALS]` or `[SYMBOL_FORMALS, EQ_FORMALS, expr]`
|
|
10
|
-
*
|
|
11
9
|
* @returns The parsed parameter or `undefined` if the given object is not a parameter.
|
|
12
10
|
*/
|
|
13
11
|
export declare function tryNormalizeParameter(data: NormalizerData, objs: readonly NamedJsonEntry[]): RParameter | undefined;
|
|
@@ -9,10 +9,8 @@ const normalize_single_node_1 = require("../structure/normalize-single-node");
|
|
|
9
9
|
/**
|
|
10
10
|
* Either parses `[SYMBOL_FORMALS]` or `[SYMBOL_FORMALS, EQ_FORMALS, expr]` as a parameter of a function definition in R.
|
|
11
11
|
* Probably directly called by the function definition parser as otherwise, we do not expect to find parameters.
|
|
12
|
-
*
|
|
13
12
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
14
13
|
* @param objs - Either `[SYMBOL_FORMALS]` or `[SYMBOL_FORMALS, EQ_FORMALS, expr]`
|
|
15
|
-
*
|
|
16
14
|
* @returns The parsed parameter or `undefined` if the given object is not a parameter.
|
|
17
15
|
*/
|
|
18
16
|
function tryNormalizeParameter(data, objs) {
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { NormalizerData } from '../../normalizer-data';
|
|
2
2
|
import type { RBreak } from '../../../../model/nodes/r-break';
|
|
3
3
|
import type { JsonEntry } from '../../../json/format';
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
4
7
|
export declare function normalizeBreak(data: NormalizerData, obj: JsonEntry): RBreak;
|
|
@@ -5,6 +5,9 @@ const parser_1 = require("../../../json/parser");
|
|
|
5
5
|
const log_1 = require("../../../../../../../util/log");
|
|
6
6
|
const normalize_meta_1 = require("../../normalize-meta");
|
|
7
7
|
const type_1 = require("../../../../model/type");
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
8
11
|
function normalizeBreak(data, obj) {
|
|
9
12
|
(0, log_1.expensiveTrace)(parser_1.parseLog, () => `[break] ${JSON.stringify(obj)}`);
|
|
10
13
|
const { location, content } = (0, normalize_meta_1.retrieveMetaStructure)(obj);
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type NormalizerData } from '../../normalizer-data';
|
|
2
2
|
import type { RForLoop } from '../../../../model/nodes/r-for-loop';
|
|
3
3
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
4
7
|
export declare function tryNormalizeFor(data: NormalizerData, [forToken, head, body]: [NamedJsonEntry, NamedJsonEntry, NamedJsonEntry]): RForLoop | undefined;
|
|
@@ -10,6 +10,9 @@ const normalize_single_node_1 = require("../structure/normalize-single-node");
|
|
|
10
10
|
const normalize_expressions_1 = require("../structure/normalize-expressions");
|
|
11
11
|
const normalize_symbol_1 = require("../values/normalize-symbol");
|
|
12
12
|
const normalize_comment_1 = require("../other/normalize-comment");
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
13
16
|
function tryNormalizeFor(data, [forToken, head, body]) {
|
|
14
17
|
// funny, for does not use top-level parenthesis
|
|
15
18
|
if (forToken.name !== type_1.RawRType.For) {
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { NormalizerData } from '../../normalizer-data';
|
|
2
2
|
import type { RNext } from '../../../../model/nodes/r-next';
|
|
3
3
|
import type { JsonEntry } from '../../../json/format';
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
4
7
|
export declare function normalizeNext(data: NormalizerData, obj: JsonEntry): RNext;
|
|
@@ -5,6 +5,9 @@ const log_1 = require("../../../../../../../util/log");
|
|
|
5
5
|
const parser_1 = require("../../../json/parser");
|
|
6
6
|
const normalize_meta_1 = require("../../normalize-meta");
|
|
7
7
|
const type_1 = require("../../../../model/type");
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
8
11
|
function normalizeNext(data, obj) {
|
|
9
12
|
(0, log_1.expensiveTrace)(parser_1.parseLog, () => `[next] ${JSON.stringify(obj)}`);
|
|
10
13
|
const { location, content } = (0, normalize_meta_1.retrieveMetaStructure)(obj);
|
|
@@ -3,11 +3,9 @@ import type { RRepeatLoop } from '../../../../model/nodes/r-repeat-loop';
|
|
|
3
3
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
4
4
|
/**
|
|
5
5
|
* Try to parse the construct as a {@link RRepeatLoop}.
|
|
6
|
-
*
|
|
7
6
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
8
7
|
* @param repeatToken - Token which represents the `repeat` keyword
|
|
9
8
|
* @param bodyToken - The `body` of the repeat-loop
|
|
10
|
-
*
|
|
11
9
|
* @returns The parsed {@link RRepeatLoop} or `undefined` if the given construct is not a repeat-loop
|
|
12
10
|
*/
|
|
13
11
|
export declare function tryNormalizeRepeat(data: NormalizerData, [repeatToken, bodyToken]: [NamedJsonEntry, NamedJsonEntry]): RRepeatLoop | undefined;
|
|
@@ -8,11 +8,9 @@ const type_1 = require("../../../../model/type");
|
|
|
8
8
|
const normalize_single_node_1 = require("../structure/normalize-single-node");
|
|
9
9
|
/**
|
|
10
10
|
* Try to parse the construct as a {@link RRepeatLoop}.
|
|
11
|
-
*
|
|
12
11
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
13
12
|
* @param repeatToken - Token which represents the `repeat` keyword
|
|
14
13
|
* @param bodyToken - The `body` of the repeat-loop
|
|
15
|
-
*
|
|
16
14
|
* @returns The parsed {@link RRepeatLoop} or `undefined` if the given construct is not a repeat-loop
|
|
17
15
|
*/
|
|
18
16
|
function tryNormalizeRepeat(data, [repeatToken, bodyToken]) {
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type NormalizerData } from '../../normalizer-data';
|
|
2
2
|
import type { RWhileLoop } from '../../../../model/nodes/r-while-loop';
|
|
3
3
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
4
|
+
/**
|
|
5
|
+
* Tries to normalize a while-loop structure from the given tokens.
|
|
6
|
+
*/
|
|
4
7
|
export declare function tryNormalizeWhile(data: NormalizerData, [whileToken, leftParen, condition, rightParen, body]: [NamedJsonEntry, NamedJsonEntry, NamedJsonEntry, NamedJsonEntry, NamedJsonEntry]): RWhileLoop | undefined;
|
|
@@ -6,6 +6,9 @@ const parser_1 = require("../../../json/parser");
|
|
|
6
6
|
const normalize_meta_1 = require("../../normalize-meta");
|
|
7
7
|
const type_1 = require("../../../../model/type");
|
|
8
8
|
const normalize_single_node_1 = require("../structure/normalize-single-node");
|
|
9
|
+
/**
|
|
10
|
+
* Tries to normalize a while-loop structure from the given tokens.
|
|
11
|
+
*/
|
|
9
12
|
function tryNormalizeWhile(data, [whileToken, leftParen, condition, rightParen, body]) {
|
|
10
13
|
if (whileToken.name !== type_1.RawRType.While) {
|
|
11
14
|
parser_1.parseLog.debug('encountered non-while token for supposed while-loop structure');
|
|
@@ -3,10 +3,8 @@ import type { RAccess } from '../../../model/nodes/r-access';
|
|
|
3
3
|
import type { NamedJsonEntry } from '../../json/format';
|
|
4
4
|
/**
|
|
5
5
|
* Tries to normalize the given data as access (e.g., indexing).
|
|
6
|
-
*
|
|
7
6
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
8
7
|
* @param mappedWithName - The JSON object to extract the meta-information from
|
|
9
|
-
*
|
|
10
8
|
* @returns The parsed {@link RAccess} or `undefined` if the given construct is not accessing a value
|
|
11
9
|
*/
|
|
12
10
|
export declare function tryNormalizeAccess(data: NormalizerData, mappedWithName: NamedJsonEntry[]): RAccess | undefined;
|
|
@@ -38,10 +38,8 @@ function normalizeAbstractArgument(x, data, operator) {
|
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* Tries to normalize the given data as access (e.g., indexing).
|
|
41
|
-
*
|
|
42
41
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
43
42
|
* @param mappedWithName - The JSON object to extract the meta-information from
|
|
44
|
-
*
|
|
45
43
|
* @returns The parsed {@link RAccess} or `undefined` if the given construct is not accessing a value
|
|
46
44
|
*/
|
|
47
45
|
function tryNormalizeAccess(data, mappedWithName) {
|
|
@@ -3,11 +3,9 @@ import type { RNode } from '../../../../model/model';
|
|
|
3
3
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
4
4
|
/**
|
|
5
5
|
* Parses the construct as a {@link RUnaryOp}.
|
|
6
|
-
*
|
|
7
6
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
8
7
|
* @param operator - The operator token
|
|
9
8
|
* @param operand - The operand of the unary operator
|
|
10
|
-
*
|
|
11
9
|
* @returns The parsed {@link RUnaryOp} or `undefined` if the given construct is not a unary operator
|
|
12
10
|
*/
|
|
13
11
|
export declare function tryNormalizeUnary(data: NormalizerData, [operator, operand]: [NamedJsonEntry, NamedJsonEntry]): RNode | undefined;
|
|
@@ -10,11 +10,9 @@ const normalize_single_node_1 = require("../structure/normalize-single-node");
|
|
|
10
10
|
const type_1 = require("../../../../model/type");
|
|
11
11
|
/**
|
|
12
12
|
* Parses the construct as a {@link RUnaryOp}.
|
|
13
|
-
*
|
|
14
13
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
15
14
|
* @param operator - The operator token
|
|
16
15
|
* @param operand - The operand of the unary operator
|
|
17
|
-
*
|
|
18
16
|
* @returns The parsed {@link RUnaryOp} or `undefined` if the given construct is not a unary operator
|
|
19
17
|
*/
|
|
20
18
|
function tryNormalizeUnary(data, [operator, operand]) {
|
|
@@ -4,7 +4,6 @@ import type { JsonEntry } from '../../../json/format';
|
|
|
4
4
|
/**
|
|
5
5
|
* Normalize the given object as an R comment.
|
|
6
6
|
* This requires you to check the corresponding name beforehand.
|
|
7
|
-
*
|
|
8
7
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
9
8
|
* @param obj - The JSON object to extract the meta-information from
|
|
10
9
|
*/
|
|
@@ -7,7 +7,6 @@ const type_1 = require("../../../../model/type");
|
|
|
7
7
|
/**
|
|
8
8
|
* Normalize the given object as an R comment.
|
|
9
9
|
* This requires you to check the corresponding name beforehand.
|
|
10
|
-
*
|
|
11
10
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
12
11
|
* @param obj - The JSON object to extract the meta-information from
|
|
13
12
|
*/
|