@eagleoutice/flowr - v2.15.8
    Preparing search index...

    Interface ReadonlyFlowrAnalysisProvider<Parser>

    Exposes the central analyses and information provided by the FlowrAnalyzer to the linter, search, and query APIs. This allows us to exchange the underlying implementation of the analyzer without affecting the APIs. You can also use parseStandalone to parse standalone R code snippets.

    interface ReadonlyFlowrAnalysisProvider<
        Parser extends KnownParser = KnownParser,
    > {
        callGraph(force?: boolean): Promise<CallGraph>;
        controlflow(
            simplifications?: readonly (
                | "unique-cf-sets"
                | "analyze-dead-code"
                | "remove-dead-code"
                | "to-basic-blocks"
            )[],
            force?: boolean,
        ): Promise<ControlFlowInformation<CfgVertex>>;
        dataflow(
            force?: boolean,
        ): Promise<DataflowInformation & PipelinePerStepMetaInformation>;
        flowrConfig: FlowrConfig;
        functionInfo(
            name: string | Identifier,
            version?: string,
        ): FnInfo | undefined;
        inspectContext(): ReadOnlyFlowrAnalyzerContext;
        normalize(
            force?: boolean,
        ): Promise<
            NormalizedAst<ParentInformation, RProject<ParentInformation>> & PipelinePerStepMetaInformation,
        >;
        normalizeStandalone(data: string | RParseRequest): NormalizedAst;
        parse(
            force?: boolean,
        ): Promise<NonNullable<AnalyzerCacheType<Parser>["parse"]>>;
        parserInformation(): KnownParserInformation;
        parseStandalone(data: string | RParseRequest): Tree;
        peekCallGraph(): CallGraph | undefined;
        peekControlflow(
            simplifications?: readonly (
                | "unique-cf-sets"
                | "analyze-dead-code"
                | "remove-dead-code"
                | "to-basic-blocks"
            )[],
        ): ControlFlowInformation<CfgVertex>
        | undefined;
        peekDataflow(): | DataflowInformation & PipelinePerStepMetaInformation
        | undefined;
        peekNormalize(): | NormalizedAst<
            ParentInformation,
            RProject<ParentInformation>,
        > & PipelinePerStepMetaInformation
        | undefined;
        peekParse(): NonNullable<AnalyzerCacheType<Parser>["parse"]> | undefined;
        query<
            Types extends
                | "search"
                | "project"
                | "linter"
                | "config"
                | "dependencies"
                | "dataflow"
                | "files"
                | "call-context"
                | "does-call"
                | "call-graph"
                | "control-flow"
                | "dataflow-lens"
                | "absint"
                | "normalized-ast"
                | "id-map"
                | "dataflow-cluster"
                | "static-slice"
                | "location-map"
                | "happens-before"
                | "inspect-exception"
                | "inspect-higher-order"
                | "inspect-recursion"
                | "inspect-fn-props"
                | "resolve-value"
                | "signature"
                | "origin"
                | "provenance"
                | "input-sources"
                | "dice"
                | "guess-dep-versions" = | "search"
            | "project"
            | "linter"
            | "config"
            | "dependencies"
            | "dataflow"
            | "files"
            | "call-context"
            | "does-call"
            | "call-graph"
            | "control-flow"
            | "dataflow-lens"
            | "absint"
            | "normalized-ast"
            | "id-map"
            | "dataflow-cluster"
            | "static-slice"
            | "location-map"
            | "happens-before"
            | "inspect-exception"
            | "inspect-higher-order"
            | "inspect-recursion"
            | "inspect-fn-props"
            | "resolve-value"
            | "signature"
            | "origin"
            | "provenance"
            | "input-sources"
            | "dice"
            | "guess-dep-versions",
        >(
            query: Queries<Types>,
            options?: FlowrAnalysisOptions,
        ): Promise<QueryResults<Types>>;
        resetConfig(): void;
        runFull(force?: boolean, options?: FlowrAnalysisOptions): Promise<void>;
        runSearch<Search extends FlowrSearchLike>(
            search: Search,
            options?: FlowrAnalysisOptions,
        ): Promise<GetSearchElements<SearchOutput<Search>>>;
        updateConfig(
            update: {
                abstractInterpretation?: {
                    dataFrame?: { maxColNames?: ...; readLoadedData?: ... };
                    followCalls?: boolean;
                    wideningThreshold?: number;
                };
                defaultEngine?: "r-shell"
                | "tree-sitter";
                defaultPlugins?: (string | [(...)?, (...)?] | undefined)[];
                engines?: (
                    | {
                        lax?: ...;
                        treeSitterWasmPath?: ...;
                        type?: ...;
                        wasmPath?: ...;
                        [key: ...]: ...;
                    }
                    | { rPath?: ...; type?: ...; [key: ...]: ... }
                    | undefined
                )[];
                gas?: {
                    countedCheckEvery?: number;
                    features?: { [key: ...]: ... };
                    heapProvider?: () => ...;
                    thresholds?: {
                        memory?: ...;
                        steps?: ...;
                        timeMs?: ...;
                        vertices?: ...;
                        [key: ...]: ...;
                    };
                    [key: string]: unknown;
                };
                ignoreLoadCalls?: boolean;
                ignoreSourceCalls?: boolean;
                incremental?: {
                    alwaysIncremental?: boolean;
                    parsing?: { activated?: ...; heuristics?: ... };
                };
                inputSources?: {
                    cmdline?: (...)[];
                    const?: (...)[];
                    dconst?: (...)[];
                    ffi?: (...)[];
                    file?: (...)[];
                    glob?: (...)[];
                    lang?: (...)[];
                    linkedEntryPoints?: (...)[];
                    linkedObjects?: (...)[];
                    narrowing?: (...)[];
                    net?: (...)[];
                    options?: (...)[];
                    param?: (...)[];
                    pure?: (...)[];
                    rand?: (...)[];
                    scope?: (...)[];
                    system?: (...)[];
                    tempfile?: (...)[];
                    unknown?: (...)[];
                    user?: (...)[];
                };
                linter?: { disabledRules?: (...)[] };
                logLevel?:
                    | "debug"
                    | "silly"
                    | "trace"
                    | "info"
                    | "warn"
                    | "error"
                    | "fatal";
                project?: {
                    assumeImplicitEcho?: boolean;
                    basePackages?: (...)[];
                    classification?: {
                        notebookExtensions?: ...;
                        shinyDescriptionTypes?: ...;
                        shinyEntryFiles?: ...;
                        shinyUsagePattern?: ...;
                    };
                    discovery?: { full?: ...; ignore?: ...; perKind?: ... };
                    failOnInaccessiblePath?: boolean;
                    implicitSources?: (...)[];
                    resolveUnknownPathsOnDisk?: boolean;
                    useProjectType?: ProjectKind;
                };
                repl?: {
                    autoUseFileProtocol?: boolean;
                    dfProcessorHeat?: boolean;
                    hints?: boolean;
                    plugins?: (...)[];
                    queryStats?: boolean;
                    quickStats?: boolean;
                    showPlugins?: boolean;
                };
                semantics?: { environment?: { overwriteBuiltIns?: ... } };
                solver?: {
                    assumeAttachedPackages?: (...)[];
                    evalStrings?: boolean;
                    instrument?: { dataflowExtractors?: ... };
                    resolveSource?: {
                        applyReplacements?: ...;
                        assumeFilesExist?: ...;
                        dropPaths?: ...;
                        ignoreCapitalization?: ...;
                        inferWorkingDirectory?: ...;
                        repeatedSourceLimit?: ...;
                        searchPath?: ...;
                        [key: ...]: ...;
                    };
                    sigdb?: {
                        additionalPaths?: ...;
                        assumedRVersion?: ...;
                        autoSync?: ...;
                        blobCacheBudgetMb?: ...;
                        downloadRepo?: ...;
                        eagerlyLoad?: ...;
                        eagerlyLoadExports?: ...;
                        enabled?: ...;
                        installedLibrary?: ...;
                        linkBaseR?: ...;
                        linkBaseRCalls?: ...;
                        linkDescriptionDependencies?: ...;
                        linkPackageCalls?: ...;
                        loadProjectDependencies?: ...;
                        versionOverrides?: ...;
                        versionSelection?: ...;
                        warmInBackground?: ...;
                    };
                    slicer?: { autoExtend?: ...; threshold?: ... };
                    trackEnvironments?: boolean;
                    transitiveSideEffectRounds?: number;
                    variables?: VariableResolve;
                    versionManagement?: { linkedVersionGroups?: ... };
                };
                specializeConfig?: {
                    notebook?: {
                        abstractInterpretation?: ...;
                        defaultEngine?: ...;
                        defaultPlugins?: ...;
                        engines?: ...;
                        gas?: ...;
                        ignoreLoadCalls?: ...;
                        ignoreSourceCalls?: ...;
                        incremental?: ...;
                        inherit?: ...;
                        inputSources?: ...;
                        linter?: ...;
                        logLevel?: ...;
                        project?: ...;
                        repl?: ...;
                        semantics?: ...;
                        solver?: ...;
                        specializeConfig?: ...;
                    };
                    package?: {
                        abstractInterpretation?: ...;
                        defaultEngine?: ...;
                        defaultPlugins?: ...;
                        engines?: ...;
                        gas?: ...;
                        ignoreLoadCalls?: ...;
                        ignoreSourceCalls?: ...;
                        incremental?: ...;
                        inherit?: ...;
                        inputSources?: ...;
                        linter?: ...;
                        logLevel?: ...;
                        project?: ...;
                        repl?: ...;
                        semantics?: ...;
                        solver?: ...;
                        specializeConfig?: ...;
                    };
                    project?: {
                        abstractInterpretation?: ...;
                        defaultEngine?: ...;
                        defaultPlugins?: ...;
                        engines?: ...;
                        gas?: ...;
                        ignoreLoadCalls?: ...;
                        ignoreSourceCalls?: ...;
                        incremental?: ...;
                        inherit?: ...;
                        inputSources?: ...;
                        linter?: ...;
                        logLevel?: ...;
                        project?: ...;
                        repl?: ...;
                        semantics?: ...;
                        solver?: ...;
                        specializeConfig?: ...;
                    };
                    script?: {
                        abstractInterpretation?: ...;
                        defaultEngine?: ...;
                        defaultPlugins?: ...;
                        engines?: ...;
                        gas?: ...;
                        ignoreLoadCalls?: ...;
                        ignoreSourceCalls?: ...;
                        incremental?: ...;
                        inherit?: ...;
                        inputSources?: ...;
                        linter?: ...;
                        logLevel?: ...;
                        project?: ...;
                        repl?: ...;
                        semantics?: ...;
                        solver?: ...;
                        specializeConfig?: ...;
                    };
                    "shiny-app"?: {
                        abstractInterpretation?: ...;
                        defaultEngine?: ...;
                        defaultPlugins?: ...;
                        engines?: ...;
                        gas?: ...;
                        ignoreLoadCalls?: ...;
                        ignoreSourceCalls?: ...;
                        incremental?: ...;
                        inherit?: ...;
                        inputSources?: ...;
                        linter?: ...;
                        logLevel?: ...;
                        project?: ...;
                        repl?: ...;
                        semantics?: ...;
                        solver?: ...;
                        specializeConfig?: ...;
                    };
                    unknown?: {
                        abstractInterpretation?: ...;
                        defaultEngine?: ...;
                        defaultPlugins?: ...;
                        engines?: ...;
                        gas?: ...;
                        ignoreLoadCalls?: ...;
                        ignoreSourceCalls?: ...;
                        incremental?: ...;
                        inherit?: ...;
                        inputSources?: ...;
                        linter?: ...;
                        logLevel?: ...;
                        project?: ...;
                        repl?: ...;
                        semantics?: ...;
                        solver?: ...;
                        specializeConfig?: ...;
                    };
                };
            },
        ): void;
    }

    Type Parameters

    Hierarchy (View Summary)

    Implemented by

    Index
    flowrConfig: FlowrConfig

    This is the config used for the analyzer

    • Get the control flow graph (CFG) for the request.

      Parameters

      • Optionalsimplifications: readonly (
            | "unique-cf-sets"
            | "analyze-dead-code"
            | "remove-dead-code"
            | "to-basic-blocks"
        )[]

        Simplification passes to be applied to the CFG.

      • Optionalforce: boolean

        Do not use the cache, instead force new analyses.

      Returns Promise<ControlFlowInformation<CfgVertex>>

      ReadonlyFlowrAnalysisProvider#peekControlflow - to get the CFG if already available without triggering a new computation.

    • What flowR knows about the function name, whether that is one of its own built-ins, a package function the signature database carries, or both; see fnInfo.

      A string is read the way R source spells a name, so 'dplyr::lead' and 'dplyr:::internal' name the package function rather than a symbol with a :: in it (pass an Identifier for that one).

      Parameters

      • name: string | Identifier

        The function to ask about, 'dplyr::lead' or Identifier.make('lead', 'dplyr') to pin the package down.

      • Optionalversion: string

        The package version to answer for, the one the analysis assumes if omitted.

      Returns FnInfo | undefined

    • Peek at the control flow graph (CFG) for the request, if it was already computed.

      Parameters

      • Optionalsimplifications: readonly (
            | "unique-cf-sets"
            | "analyze-dead-code"
            | "remove-dead-code"
            | "to-basic-blocks"
        )[]

      Returns ControlFlowInformation<CfgVertex> | undefined

    • Access the query API for the request.

      Type Parameters

      • Types extends
            | "search"
            | "project"
            | "linter"
            | "config"
            | "dependencies"
            | "dataflow"
            | "files"
            | "call-context"
            | "does-call"
            | "call-graph"
            | "control-flow"
            | "dataflow-lens"
            | "absint"
            | "normalized-ast"
            | "id-map"
            | "dataflow-cluster"
            | "static-slice"
            | "location-map"
            | "happens-before"
            | "inspect-exception"
            | "inspect-higher-order"
            | "inspect-recursion"
            | "inspect-fn-props"
            | "resolve-value"
            | "signature"
            | "origin"
            | "provenance"
            | "input-sources"
            | "dice"
            | "guess-dep-versions" =
            | "search"
            | "project"
            | "linter"
            | "config"
            | "dependencies"
            | "dataflow"
            | "files"
            | "call-context"
            | "does-call"
            | "call-graph"
            | "control-flow"
            | "dataflow-lens"
            | "absint"
            | "normalized-ast"
            | "id-map"
            | "dataflow-cluster"
            | "static-slice"
            | "location-map"
            | "happens-before"
            | "inspect-exception"
            | "inspect-higher-order"
            | "inspect-recursion"
            | "inspect-fn-props"
            | "resolve-value"
            | "signature"
            | "origin"
            | "provenance"
            | "input-sources"
            | "dice"
            | "guess-dep-versions"

      Parameters

      Returns Promise<QueryResults<Types>>

    • Merge a runtime update into the base config and invalidate the derived config and cached analysis, so it takes effect.

      Parameters

      • update: {
            abstractInterpretation?: {
                dataFrame?: { maxColNames?: ...; readLoadedData?: ... };
                followCalls?: boolean;
                wideningThreshold?: number;
            };
            defaultEngine?: "r-shell"
            | "tree-sitter";
            defaultPlugins?: (string | [(...)?, (...)?] | undefined)[];
            engines?: (
                | {
                    lax?: ...;
                    treeSitterWasmPath?: ...;
                    type?: ...;
                    wasmPath?: ...;
                    [key: ...]: ...;
                }
                | { rPath?: ...; type?: ...; [key: ...]: ... }
                | undefined
            )[];
            gas?: {
                countedCheckEvery?: number;
                features?: { [key: ...]: ... };
                heapProvider?: () => ...;
                thresholds?: {
                    memory?: ...;
                    steps?: ...;
                    timeMs?: ...;
                    vertices?: ...;
                    [key: ...]: ...;
                };
                [key: string]: unknown;
            };
            ignoreLoadCalls?: boolean;
            ignoreSourceCalls?: boolean;
            incremental?: {
                alwaysIncremental?: boolean;
                parsing?: { activated?: ...; heuristics?: ... };
            };
            inputSources?: {
                cmdline?: (...)[];
                const?: (...)[];
                dconst?: (...)[];
                ffi?: (...)[];
                file?: (...)[];
                glob?: (...)[];
                lang?: (...)[];
                linkedEntryPoints?: (...)[];
                linkedObjects?: (...)[];
                narrowing?: (...)[];
                net?: (...)[];
                options?: (...)[];
                param?: (...)[];
                pure?: (...)[];
                rand?: (...)[];
                scope?: (...)[];
                system?: (...)[];
                tempfile?: (...)[];
                unknown?: (...)[];
                user?: (...)[];
            };
            linter?: { disabledRules?: (...)[] };
            logLevel?:
                | "debug"
                | "silly"
                | "trace"
                | "info"
                | "warn"
                | "error"
                | "fatal";
            project?: {
                assumeImplicitEcho?: boolean;
                basePackages?: (...)[];
                classification?: {
                    notebookExtensions?: ...;
                    shinyDescriptionTypes?: ...;
                    shinyEntryFiles?: ...;
                    shinyUsagePattern?: ...;
                };
                discovery?: { full?: ...; ignore?: ...; perKind?: ... };
                failOnInaccessiblePath?: boolean;
                implicitSources?: (...)[];
                resolveUnknownPathsOnDisk?: boolean;
                useProjectType?: ProjectKind;
            };
            repl?: {
                autoUseFileProtocol?: boolean;
                dfProcessorHeat?: boolean;
                hints?: boolean;
                plugins?: (...)[];
                queryStats?: boolean;
                quickStats?: boolean;
                showPlugins?: boolean;
            };
            semantics?: { environment?: { overwriteBuiltIns?: ... } };
            solver?: {
                assumeAttachedPackages?: (...)[];
                evalStrings?: boolean;
                instrument?: { dataflowExtractors?: ... };
                resolveSource?: {
                    applyReplacements?: ...;
                    assumeFilesExist?: ...;
                    dropPaths?: ...;
                    ignoreCapitalization?: ...;
                    inferWorkingDirectory?: ...;
                    repeatedSourceLimit?: ...;
                    searchPath?: ...;
                    [key: ...]: ...;
                };
                sigdb?: {
                    additionalPaths?: ...;
                    assumedRVersion?: ...;
                    autoSync?: ...;
                    blobCacheBudgetMb?: ...;
                    downloadRepo?: ...;
                    eagerlyLoad?: ...;
                    eagerlyLoadExports?: ...;
                    enabled?: ...;
                    installedLibrary?: ...;
                    linkBaseR?: ...;
                    linkBaseRCalls?: ...;
                    linkDescriptionDependencies?: ...;
                    linkPackageCalls?: ...;
                    loadProjectDependencies?: ...;
                    versionOverrides?: ...;
                    versionSelection?: ...;
                    warmInBackground?: ...;
                };
                slicer?: { autoExtend?: ...; threshold?: ... };
                trackEnvironments?: boolean;
                transitiveSideEffectRounds?: number;
                variables?: VariableResolve;
                versionManagement?: { linkedVersionGroups?: ... };
            };
            specializeConfig?: {
                notebook?: {
                    abstractInterpretation?: ...;
                    defaultEngine?: ...;
                    defaultPlugins?: ...;
                    engines?: ...;
                    gas?: ...;
                    ignoreLoadCalls?: ...;
                    ignoreSourceCalls?: ...;
                    incremental?: ...;
                    inherit?: ...;
                    inputSources?: ...;
                    linter?: ...;
                    logLevel?: ...;
                    project?: ...;
                    repl?: ...;
                    semantics?: ...;
                    solver?: ...;
                    specializeConfig?: ...;
                };
                package?: {
                    abstractInterpretation?: ...;
                    defaultEngine?: ...;
                    defaultPlugins?: ...;
                    engines?: ...;
                    gas?: ...;
                    ignoreLoadCalls?: ...;
                    ignoreSourceCalls?: ...;
                    incremental?: ...;
                    inherit?: ...;
                    inputSources?: ...;
                    linter?: ...;
                    logLevel?: ...;
                    project?: ...;
                    repl?: ...;
                    semantics?: ...;
                    solver?: ...;
                    specializeConfig?: ...;
                };
                project?: {
                    abstractInterpretation?: ...;
                    defaultEngine?: ...;
                    defaultPlugins?: ...;
                    engines?: ...;
                    gas?: ...;
                    ignoreLoadCalls?: ...;
                    ignoreSourceCalls?: ...;
                    incremental?: ...;
                    inherit?: ...;
                    inputSources?: ...;
                    linter?: ...;
                    logLevel?: ...;
                    project?: ...;
                    repl?: ...;
                    semantics?: ...;
                    solver?: ...;
                    specializeConfig?: ...;
                };
                script?: {
                    abstractInterpretation?: ...;
                    defaultEngine?: ...;
                    defaultPlugins?: ...;
                    engines?: ...;
                    gas?: ...;
                    ignoreLoadCalls?: ...;
                    ignoreSourceCalls?: ...;
                    incremental?: ...;
                    inherit?: ...;
                    inputSources?: ...;
                    linter?: ...;
                    logLevel?: ...;
                    project?: ...;
                    repl?: ...;
                    semantics?: ...;
                    solver?: ...;
                    specializeConfig?: ...;
                };
                "shiny-app"?: {
                    abstractInterpretation?: ...;
                    defaultEngine?: ...;
                    defaultPlugins?: ...;
                    engines?: ...;
                    gas?: ...;
                    ignoreLoadCalls?: ...;
                    ignoreSourceCalls?: ...;
                    incremental?: ...;
                    inherit?: ...;
                    inputSources?: ...;
                    linter?: ...;
                    logLevel?: ...;
                    project?: ...;
                    repl?: ...;
                    semantics?: ...;
                    solver?: ...;
                    specializeConfig?: ...;
                };
                unknown?: {
                    abstractInterpretation?: ...;
                    defaultEngine?: ...;
                    defaultPlugins?: ...;
                    engines?: ...;
                    gas?: ...;
                    ignoreLoadCalls?: ...;
                    ignoreSourceCalls?: ...;
                    incremental?: ...;
                    inherit?: ...;
                    inputSources?: ...;
                    linter?: ...;
                    logLevel?: ...;
                    project?: ...;
                    repl?: ...;
                    semantics?: ...;
                    solver?: ...;
                    specializeConfig?: ...;
                };
            };
        }
        • Optional ReadonlyabstractInterpretation?: {
              dataFrame?: { maxColNames?: ...; readLoadedData?: ... };
              followCalls?: boolean;
              wideningThreshold?: number;
          }
        • Optional ReadonlydefaultEngine?: "r-shell" | "tree-sitter"

          The default engine to use. If undefined, an arbitrary one from engines is used.

        • Optional ReadonlydefaultPlugins?: (string | [(...)?, (...)?] | undefined)[]
        • Optional Readonlyengines?: (
              | {
                  lax?: ...;
                  treeSitterWasmPath?: ...;
                  type?: ...;
                  wasmPath?: ...;
                  [key: ...]: ...;
              }
              | { rPath?: ...; type?: ...; [key: ...]: ... }
              | undefined
          )[]

          Engines to use for interacting with R code (TreeSitterEngineConfig, RShellEngineConfig); empty means all available engines.

        • Optional Readonlygas?: {
              countedCheckEvery?: number;
              features?: { [key: ...]: ... };
              heapProvider?: () => ...;
              thresholds?: {
                  memory?: ...;
                  steps?: ...;
                  timeMs?: ...;
                  vertices?: ...;
                  [key: ...]: ...;
              };
              [key: string]: unknown;
          }

          Resource-usage guard (gas) configuration; disabled by default (every feature factor 0), enable by setting a feature's factor > 0. See FlowrGasConfig, ReadOnlyFlowrAnalyzerGasContext.

          • Optional ReadonlycountedCheckEvery?: number

            How many calls one accounting of an armed budget covers (default DefaultCountedCheckEvery). Trades how far a run may overshoot a bound against what the guard costs per node: 1 counts exactly, larger counts coarsely.

          • Optional Readonlyfeatures?: { [key: ...]: ... }

            Per-feature sensitivity factors. Missing or 0 disables checking with zero overhead.

          • Optional ReadonlyheapProvider?: () => ...

            Custom heap statistics source (programmatic configs only), overriding the built-in v8/performance.memory detection. Return undefined to skip the memory check.

          • Optional Readonlythresholds?: { memory?: ...; steps?: ...; timeMs?: ...; vertices?: ...; [key: ...]: ... }

            Thresholds scaled by each feature factor before comparison, optionally bounded per feature (see GasThresholdSpec).

            • Optional Readonlymemory?: ...

              Heap-usage fraction thresholds (0-1, before factor scaling).

            • Optional Readonlysteps?: ...

              Processed-AST-node thresholds, counted rather than sampled. Only read by keys that arm a budget (i.e. GasFeatureKey.Dataflow); absent means unbounded.

            • Optional ReadonlytimeMs?: ...

              Elapsed analysis time thresholds in milliseconds (before factor scaling).

            • Optional Readonlyvertices?: ...

              Created-dataflow-vertex thresholds, counted like FlowrGasThresholds.steps.

        • Optional ReadonlyignoreLoadCalls?: boolean
        • Optional ReadonlyignoreSourceCalls?: boolean
        • Optional Readonlyincremental?: { alwaysIncremental?: boolean; parsing?: { activated?: ...; heuristics?: ... } }
        • Optional ReadonlyinputSources?: {
              cmdline?: (...)[];
              const?: (...)[];
              dconst?: (...)[];
              ffi?: (...)[];
              file?: (...)[];
              glob?: (...)[];
              lang?: (...)[];
              linkedEntryPoints?: (...)[];
              linkedObjects?: (...)[];
              narrowing?: (...)[];
              net?: (...)[];
              options?: (...)[];
              param?: (...)[];
              pure?: (...)[];
              rand?: (...)[];
              scope?: (...)[];
              system?: (...)[];
              tempfile?: (...)[];
              unknown?: (...)[];
              user?: (...)[];
          }

          Teaches the InputSourcesQuery|input-sources analysis further frameworks; entries are added to what flowR knows already. Usually set per ProjectKind via specializeConfig. See InputClassifierConfig.

          • Optionalcmdline?: (...)[]
          • Optionalconst?: (...)[]
          • Optionaldconst?: (...)[]
          • Optionalffi?: (...)[]
          • Optionalfile?: (...)[]
          • Optionalglob?: (...)[]
          • Optionallang?: (...)[]
          • OptionallinkedEntryPoints?: (...)[]

            Calls that hand a function to a framework, which then binds linkedObjects to its parameters by position.

          • OptionallinkedObjects?: (...)[]

            Objects provided by a framework rather than by the code itself, like shiny's input.

          • Optionalnarrowing?: (...)[]

            Functions whose result is bounded by one of their arguments (classified by that argument alone).

          • Optionalnet?: (...)[]
          • Optionaloptions?: (...)[]
          • Optionalparam?: (...)[]
          • Optionalpure?: (...)[]

            Functions which are considered to be pure (i.e., deterministic, trusted, safe, idempotent on the lub of the input types)

          • Optionalrand?: (...)[]
          • Optionalscope?: (...)[]
          • Optionalsystem?: (...)[]
          • Optionaltempfile?: (...)[]
          • Optionalunknown?: (...)[]
          • Optionaluser?: (...)[]
        • Optional Readonlylinter?: { disabledRules?: (...)[] }
        • Optional ReadonlylogLevel?: "debug" | "silly" | "trace" | "info" | "warn" | "error" | "fatal"
        • Optional Readonlyproject?: {
              assumeImplicitEcho?: boolean;
              basePackages?: (...)[];
              classification?: {
                  notebookExtensions?: ...;
                  shinyDescriptionTypes?: ...;
                  shinyEntryFiles?: ...;
                  shinyUsagePattern?: ...;
              };
              discovery?: { full?: ...; ignore?: ...; perKind?: ... };
              failOnInaccessiblePath?: boolean;
              implicitSources?: (...)[];
              resolveUnknownPathsOnDisk?: boolean;
              useProjectType?: ProjectKind;
          }
          • OptionalassumeImplicitEcho?: boolean

            Whether the top level's visible results count as an output (the print category); off by default for a ProjectKind.Package, whose top level runs at install time.

          • OptionalbasePackages?: (...)[]

            The packages considered part of R itself; if unset, flowR derives them (for the assumed R version) from the signature database via baseRPackages.

          • Optionalclassification?: {
                notebookExtensions?: ...;
                shinyDescriptionTypes?: ...;
                shinyEntryFiles?: ...;
                shinyUsagePattern?: ...;
            }
            • OptionalnotebookExtensions?: ...

              File extensions marking a notebook (default ipynb, rmd, rmarkdown, qmd, rnw).

            • OptionalshinyDescriptionTypes?: ...

              DESCRIPTION Type: values that mark a shiny app (default shiny, shiny-app, shinyapp).

            • OptionalshinyEntryFiles?: ...

              File names a shiny app is assembled from (default app.R, ui.R, server.R, global.R).

            • OptionalshinyUsagePattern?: ...
          • Optionaldiscovery?: { full?: ...; ignore?: ...; perKind?: ... }
          • OptionalfailOnInaccessiblePath?: boolean
          • OptionalimplicitSources?: (...)[]
          • OptionalresolveUnknownPathsOnDisk?: boolean
          • OptionaluseProjectType?: ProjectKind
        • Optional Readonlyrepl?: {
              autoUseFileProtocol?: boolean;
              dfProcessorHeat?: boolean;
              hints?: boolean;
              plugins?: (...)[];
              queryStats?: boolean;
              quickStats?: boolean;
              showPlugins?: boolean;
          }
          • OptionalautoUseFileProtocol?: boolean

            Automatically use the file protocol for inputs that look like paths (default true)

          • OptionaldfProcessorHeat?: boolean
          • Optionalhints?: boolean

            Whether to show dim inline hints (e.g. :help) on the empty prompt; automatically disabled on non-interactive terminals

          • Optionalplugins?: (...)[]
          • OptionalqueryStats?: boolean

            Whether :query closes with the line stating how long the queries took (default true, :query* never prints it)

          • OptionalquickStats?: boolean
          • OptionalshowPlugins?: boolean

            Whether :version grays out the plugins that did not activate during the last analysis (default false)

        • Optional Readonlysemantics?: { environment?: { overwriteBuiltIns?: ... } }
        • Optional Readonlysolver?: {
              assumeAttachedPackages?: (...)[];
              evalStrings?: boolean;
              instrument?: { dataflowExtractors?: ... };
              resolveSource?: {
                  applyReplacements?: ...;
                  assumeFilesExist?: ...;
                  dropPaths?: ...;
                  ignoreCapitalization?: ...;
                  inferWorkingDirectory?: ...;
                  repeatedSourceLimit?: ...;
                  searchPath?: ...;
                  [key: ...]: ...;
              };
              sigdb?: {
                  additionalPaths?: ...;
                  assumedRVersion?: ...;
                  autoSync?: ...;
                  blobCacheBudgetMb?: ...;
                  downloadRepo?: ...;
                  eagerlyLoad?: ...;
                  eagerlyLoadExports?: ...;
                  enabled?: ...;
                  installedLibrary?: ...;
                  linkBaseR?: ...;
                  linkBaseRCalls?: ...;
                  linkDescriptionDependencies?: ...;
                  linkPackageCalls?: ...;
                  loadProjectDependencies?: ...;
                  versionOverrides?: ...;
                  versionSelection?: ...;
                  warmInBackground?: ...;
              };
              slicer?: { autoExtend?: ...; threshold?: ... };
              trackEnvironments?: boolean;
              transitiveSideEffectRounds?: number;
              variables?: VariableResolve;
              versionManagement?: { linkedVersionGroups?: ... };
          }
          • Optional ReadonlyassumeAttachedPackages?: (...)[]
          • Optional ReadonlyevalStrings?: boolean
          • Optional Readonlyinstrument?: { dataflowExtractors?: ... }
            • OptionaldataflowExtractors?: ...

              Modify the dataflow processors used during analysis; keep every processor correctness requires present. May affect precision/performance arbitrarily -- prefer decorating existing processors over replacing them.

          • Optional ReadonlyresolveSource?: {
                applyReplacements?: ...;
                assumeFilesExist?: ...;
                dropPaths?: ...;
                ignoreCapitalization?: ...;
                inferWorkingDirectory?: ...;
                repeatedSourceLimit?: ...;
                searchPath?: ...;
                [key: ...]: ...;
            }
            • Optional ReadonlyapplyReplacements?: ...

              Regex replacements to try against a sourced file's candidate name, tried in order alongside the original name, e.g. { '.*\\.R$': 'main.R' } makes source("foo bar.R") also try main.R.

            • Optional ReadonlyassumeFilesExist?: ...
            • Optional ReadonlydropPaths?: ...
            • Optional ReadonlyignoreCapitalization?: ...
            • Optional ReadonlyinferWorkingDirectory?: ...
            • Optional ReadonlyrepeatedSourceLimit?: ...
            • Optional ReadonlysearchPath?: ...
          • Optional Readonlysigdb?: {
                additionalPaths?: ...;
                assumedRVersion?: ...;
                autoSync?: ...;
                blobCacheBudgetMb?: ...;
                downloadRepo?: ...;
                eagerlyLoad?: ...;
                eagerlyLoadExports?: ...;
                enabled?: ...;
                installedLibrary?: ...;
                linkBaseR?: ...;
                linkBaseRCalls?: ...;
                linkDescriptionDependencies?: ...;
                linkPackageCalls?: ...;
                loadProjectDependencies?: ...;
                versionOverrides?: ...;
                versionSelection?: ...;
                warmInBackground?: ...;
            }
            • Optional ReadonlyadditionalPaths?: ...
            • Optional ReadonlyassumedRVersion?: ...

              R version assumed when resolving versioned (base-R) exports: a pin, or "auto" to detect the installed R (falling back to DefaultAssumedRVersion if none, e.g. tree-sitter). See resolveAssumedRVersion.

            • Optional ReadonlyautoSync?: ...
            • Optional ReadonlyblobCacheBudgetMb?: ...

              How many MiB of decoded package blobs every open bundle may hold together; a bigger budget re-reads and re-parses less, a smaller one keeps less in memory (default 16).

            • Optional ReadonlydownloadRepo?: ...
            • Optional ReadonlyeagerlyLoad?: ...
            • Optional ReadonlyeagerlyLoadExports?: ...
            • Optional Readonlyenabled?: ...
            • Optional ReadonlyinstalledLibrary?: ...

              Recovering a package no signature database knows (e.g. maptools) from its local install: DESCRIPTION states the version, NAMESPACE the exports. Opt-in, since it reads outside the analyzed project.

            • Optional ReadonlylinkBaseR?: ...

              Eagerly attach base-R namespaces (from a signature database) so bare base calls resolve without library() (default false; changes every analysis; needs a base-R signature database).

            • Optional ReadonlylinkBaseRCalls?: ...

              Add a lightweight Reads edge from a bare base-R call to its signature-database function vertex (built-in:pkg:fn); base-R qualification stays edge-free unless this is on (default false; adds edges to every base call).

            • Optional ReadonlylinkDescriptionDependencies?: ...

              Eagerly attach the namespaces of the project's declared DESCRIPTION dependencies (Imports/Depends) so their exports resolve without an explicit library() (default false; changes every analysis; needs a signature database resolving the declared packages).

            • Optional ReadonlylinkPackageCalls?: ...

              Add a lightweight Reads edge from a resolved package call (pkg::fn/attached export) to its signature-database function vertex (default false).

            • Optional ReadonlyloadProjectDependencies?: ...
            • Optional ReadonlyversionOverrides?: ...

              Force an exact version for specific packages (mapping a package name to a version), overriding both the project constraint and the versionSelection policy; a version missing from the database falls back with a warning (default {}).

            • Optional ReadonlyversionSelection?: ...
            • Optional ReadonlywarmInBackground?: ...

              Decompress the hot shards (base + most-downloaded) in a background task on startup, so the first library() lookup is warm (default false; useful for long-running servers/REPLs, not one-shot runs).

          • Optionalslicer?: { autoExtend?: ...; threshold?: ... }
          • Optional ReadonlytrackEnvironments?: boolean
          • Optional ReadonlytransitiveSideEffectRounds?: number
          • Optional Readonlyvariables?: VariableResolve
          • Optional ReadonlyversionManagement?: { linkedVersionGroups?: ... }
        • Optional ReadonlyspecializeConfig?: {
              notebook?: {
                  abstractInterpretation?: ...;
                  defaultEngine?: ...;
                  defaultPlugins?: ...;
                  engines?: ...;
                  gas?: ...;
                  ignoreLoadCalls?: ...;
                  ignoreSourceCalls?: ...;
                  incremental?: ...;
                  inherit?: ...;
                  inputSources?: ...;
                  linter?: ...;
                  logLevel?: ...;
                  project?: ...;
                  repl?: ...;
                  semantics?: ...;
                  solver?: ...;
                  specializeConfig?: ...;
              };
              package?: {
                  abstractInterpretation?: ...;
                  defaultEngine?: ...;
                  defaultPlugins?: ...;
                  engines?: ...;
                  gas?: ...;
                  ignoreLoadCalls?: ...;
                  ignoreSourceCalls?: ...;
                  incremental?: ...;
                  inherit?: ...;
                  inputSources?: ...;
                  linter?: ...;
                  logLevel?: ...;
                  project?: ...;
                  repl?: ...;
                  semantics?: ...;
                  solver?: ...;
                  specializeConfig?: ...;
              };
              project?: {
                  abstractInterpretation?: ...;
                  defaultEngine?: ...;
                  defaultPlugins?: ...;
                  engines?: ...;
                  gas?: ...;
                  ignoreLoadCalls?: ...;
                  ignoreSourceCalls?: ...;
                  incremental?: ...;
                  inherit?: ...;
                  inputSources?: ...;
                  linter?: ...;
                  logLevel?: ...;
                  project?: ...;
                  repl?: ...;
                  semantics?: ...;
                  solver?: ...;
                  specializeConfig?: ...;
              };
              script?: {
                  abstractInterpretation?: ...;
                  defaultEngine?: ...;
                  defaultPlugins?: ...;
                  engines?: ...;
                  gas?: ...;
                  ignoreLoadCalls?: ...;
                  ignoreSourceCalls?: ...;
                  incremental?: ...;
                  inherit?: ...;
                  inputSources?: ...;
                  linter?: ...;
                  logLevel?: ...;
                  project?: ...;
                  repl?: ...;
                  semantics?: ...;
                  solver?: ...;
                  specializeConfig?: ...;
              };
              "shiny-app"?: {
                  abstractInterpretation?: ...;
                  defaultEngine?: ...;
                  defaultPlugins?: ...;
                  engines?: ...;
                  gas?: ...;
                  ignoreLoadCalls?: ...;
                  ignoreSourceCalls?: ...;
                  incremental?: ...;
                  inherit?: ...;
                  inputSources?: ...;
                  linter?: ...;
                  logLevel?: ...;
                  project?: ...;
                  repl?: ...;
                  semantics?: ...;
                  solver?: ...;
                  specializeConfig?: ...;
              };
              unknown?: {
                  abstractInterpretation?: ...;
                  defaultEngine?: ...;
                  defaultPlugins?: ...;
                  engines?: ...;
                  gas?: ...;
                  ignoreLoadCalls?: ...;
                  ignoreSourceCalls?: ...;
                  incremental?: ...;
                  inherit?: ...;
                  inputSources?: ...;
                  linter?: ...;
                  logLevel?: ...;
                  project?: ...;
                  repl?: ...;
                  semantics?: ...;
                  solver?: ...;
                  specializeConfig?: ...;
              };
          }

          Overwrite (parts of) this configuration per ProjectKind; an entry may inherit another kind's overwrite first (own keys win). Resolve with FlowrConfig.forKind.

          • Optionalnotebook?: {
                abstractInterpretation?: ...;
                defaultEngine?: ...;
                defaultPlugins?: ...;
                engines?: ...;
                gas?: ...;
                ignoreLoadCalls?: ...;
                ignoreSourceCalls?: ...;
                incremental?: ...;
                inherit?: ...;
                inputSources?: ...;
                linter?: ...;
                logLevel?: ...;
                project?: ...;
                repl?: ...;
                semantics?: ...;
                solver?: ...;
                specializeConfig?: ...;
            }
            • Optional ReadonlyabstractInterpretation?: ...
            • Optional ReadonlydefaultEngine?: ...

              The default engine to use. If undefined, an arbitrary one from engines is used.

            • Optional ReadonlydefaultPlugins?: ...
            • Optional Readonlyengines?: ...

              Engines to use for interacting with R code (TreeSitterEngineConfig, RShellEngineConfig); empty means all available engines.

            • Optional Readonlygas?: ...

              Resource-usage guard (gas) configuration; disabled by default (every feature factor 0), enable by setting a feature's factor > 0. See FlowrGasConfig, ReadOnlyFlowrAnalyzerGasContext.

            • Optional ReadonlyignoreLoadCalls?: ...
            • Optional ReadonlyignoreSourceCalls?: ...
            • Optional Readonlyincremental?: ...
            • Optional Readonlyinherit?: ...
            • Optional ReadonlyinputSources?: ...

              Teaches the InputSourcesQuery|input-sources analysis further frameworks; entries are added to what flowR knows already. Usually set per ProjectKind via specializeConfig. See InputClassifierConfig.

            • Optional Readonlylinter?: ...
            • Optional ReadonlylogLevel?: ...
            • Optional Readonlyproject?: ...
            • Optional Readonlyrepl?: ...
            • Optional Readonlysemantics?: ...
            • Optional Readonlysolver?: ...
            • Optional ReadonlyspecializeConfig?: ...

              Overwrite (parts of) this configuration per ProjectKind; an entry may inherit another kind's overwrite first (own keys win). Resolve with FlowrConfig.forKind.

          • Optionalpackage?: {
                abstractInterpretation?: ...;
                defaultEngine?: ...;
                defaultPlugins?: ...;
                engines?: ...;
                gas?: ...;
                ignoreLoadCalls?: ...;
                ignoreSourceCalls?: ...;
                incremental?: ...;
                inherit?: ...;
                inputSources?: ...;
                linter?: ...;
                logLevel?: ...;
                project?: ...;
                repl?: ...;
                semantics?: ...;
                solver?: ...;
                specializeConfig?: ...;
            }
            • Optional ReadonlyabstractInterpretation?: ...
            • Optional ReadonlydefaultEngine?: ...

              The default engine to use. If undefined, an arbitrary one from engines is used.

            • Optional ReadonlydefaultPlugins?: ...
            • Optional Readonlyengines?: ...

              Engines to use for interacting with R code (TreeSitterEngineConfig, RShellEngineConfig); empty means all available engines.

            • Optional Readonlygas?: ...

              Resource-usage guard (gas) configuration; disabled by default (every feature factor 0), enable by setting a feature's factor > 0. See FlowrGasConfig, ReadOnlyFlowrAnalyzerGasContext.

            • Optional ReadonlyignoreLoadCalls?: ...
            • Optional ReadonlyignoreSourceCalls?: ...
            • Optional Readonlyincremental?: ...
            • Optional Readonlyinherit?: ...
            • Optional ReadonlyinputSources?: ...

              Teaches the InputSourcesQuery|input-sources analysis further frameworks; entries are added to what flowR knows already. Usually set per ProjectKind via specializeConfig. See InputClassifierConfig.

            • Optional Readonlylinter?: ...
            • Optional ReadonlylogLevel?: ...
            • Optional Readonlyproject?: ...
            • Optional Readonlyrepl?: ...
            • Optional Readonlysemantics?: ...
            • Optional Readonlysolver?: ...
            • Optional ReadonlyspecializeConfig?: ...

              Overwrite (parts of) this configuration per ProjectKind; an entry may inherit another kind's overwrite first (own keys win). Resolve with FlowrConfig.forKind.

          • Optionalproject?: {
                abstractInterpretation?: ...;
                defaultEngine?: ...;
                defaultPlugins?: ...;
                engines?: ...;
                gas?: ...;
                ignoreLoadCalls?: ...;
                ignoreSourceCalls?: ...;
                incremental?: ...;
                inherit?: ...;
                inputSources?: ...;
                linter?: ...;
                logLevel?: ...;
                project?: ...;
                repl?: ...;
                semantics?: ...;
                solver?: ...;
                specializeConfig?: ...;
            }
            • Optional ReadonlyabstractInterpretation?: ...
            • Optional ReadonlydefaultEngine?: ...

              The default engine to use. If undefined, an arbitrary one from engines is used.

            • Optional ReadonlydefaultPlugins?: ...
            • Optional Readonlyengines?: ...

              Engines to use for interacting with R code (TreeSitterEngineConfig, RShellEngineConfig); empty means all available engines.

            • Optional Readonlygas?: ...

              Resource-usage guard (gas) configuration; disabled by default (every feature factor 0), enable by setting a feature's factor > 0. See FlowrGasConfig, ReadOnlyFlowrAnalyzerGasContext.

            • Optional ReadonlyignoreLoadCalls?: ...
            • Optional ReadonlyignoreSourceCalls?: ...
            • Optional Readonlyincremental?: ...
            • Optional Readonlyinherit?: ...
            • Optional ReadonlyinputSources?: ...

              Teaches the InputSourcesQuery|input-sources analysis further frameworks; entries are added to what flowR knows already. Usually set per ProjectKind via specializeConfig. See InputClassifierConfig.

            • Optional Readonlylinter?: ...
            • Optional ReadonlylogLevel?: ...
            • Optional Readonlyproject?: ...
            • Optional Readonlyrepl?: ...
            • Optional Readonlysemantics?: ...
            • Optional Readonlysolver?: ...
            • Optional ReadonlyspecializeConfig?: ...

              Overwrite (parts of) this configuration per ProjectKind; an entry may inherit another kind's overwrite first (own keys win). Resolve with FlowrConfig.forKind.

          • Optionalscript?: {
                abstractInterpretation?: ...;
                defaultEngine?: ...;
                defaultPlugins?: ...;
                engines?: ...;
                gas?: ...;
                ignoreLoadCalls?: ...;
                ignoreSourceCalls?: ...;
                incremental?: ...;
                inherit?: ...;
                inputSources?: ...;
                linter?: ...;
                logLevel?: ...;
                project?: ...;
                repl?: ...;
                semantics?: ...;
                solver?: ...;
                specializeConfig?: ...;
            }
            • Optional ReadonlyabstractInterpretation?: ...
            • Optional ReadonlydefaultEngine?: ...

              The default engine to use. If undefined, an arbitrary one from engines is used.

            • Optional ReadonlydefaultPlugins?: ...
            • Optional Readonlyengines?: ...

              Engines to use for interacting with R code (TreeSitterEngineConfig, RShellEngineConfig); empty means all available engines.

            • Optional Readonlygas?: ...

              Resource-usage guard (gas) configuration; disabled by default (every feature factor 0), enable by setting a feature's factor > 0. See FlowrGasConfig, ReadOnlyFlowrAnalyzerGasContext.

            • Optional ReadonlyignoreLoadCalls?: ...
            • Optional ReadonlyignoreSourceCalls?: ...
            • Optional Readonlyincremental?: ...
            • Optional Readonlyinherit?: ...
            • Optional ReadonlyinputSources?: ...

              Teaches the InputSourcesQuery|input-sources analysis further frameworks; entries are added to what flowR knows already. Usually set per ProjectKind via specializeConfig. See InputClassifierConfig.

            • Optional Readonlylinter?: ...
            • Optional ReadonlylogLevel?: ...
            • Optional Readonlyproject?: ...
            • Optional Readonlyrepl?: ...
            • Optional Readonlysemantics?: ...
            • Optional Readonlysolver?: ...
            • Optional ReadonlyspecializeConfig?: ...

              Overwrite (parts of) this configuration per ProjectKind; an entry may inherit another kind's overwrite first (own keys win). Resolve with FlowrConfig.forKind.

          • Optionalshiny-app?: {
                abstractInterpretation?: ...;
                defaultEngine?: ...;
                defaultPlugins?: ...;
                engines?: ...;
                gas?: ...;
                ignoreLoadCalls?: ...;
                ignoreSourceCalls?: ...;
                incremental?: ...;
                inherit?: ...;
                inputSources?: ...;
                linter?: ...;
                logLevel?: ...;
                project?: ...;
                repl?: ...;
                semantics?: ...;
                solver?: ...;
                specializeConfig?: ...;
            }
            • Optional ReadonlyabstractInterpretation?: ...
            • Optional ReadonlydefaultEngine?: ...

              The default engine to use. If undefined, an arbitrary one from engines is used.

            • Optional ReadonlydefaultPlugins?: ...
            • Optional Readonlyengines?: ...

              Engines to use for interacting with R code (TreeSitterEngineConfig, RShellEngineConfig); empty means all available engines.

            • Optional Readonlygas?: ...

              Resource-usage guard (gas) configuration; disabled by default (every feature factor 0), enable by setting a feature's factor > 0. See FlowrGasConfig, ReadOnlyFlowrAnalyzerGasContext.

            • Optional ReadonlyignoreLoadCalls?: ...
            • Optional ReadonlyignoreSourceCalls?: ...
            • Optional Readonlyincremental?: ...
            • Optional Readonlyinherit?: ...
            • Optional ReadonlyinputSources?: ...

              Teaches the InputSourcesQuery|input-sources analysis further frameworks; entries are added to what flowR knows already. Usually set per ProjectKind via specializeConfig. See InputClassifierConfig.

            • Optional Readonlylinter?: ...
            • Optional ReadonlylogLevel?: ...
            • Optional Readonlyproject?: ...
            • Optional Readonlyrepl?: ...
            • Optional Readonlysemantics?: ...
            • Optional Readonlysolver?: ...
            • Optional ReadonlyspecializeConfig?: ...

              Overwrite (parts of) this configuration per ProjectKind; an entry may inherit another kind's overwrite first (own keys win). Resolve with FlowrConfig.forKind.

          • Optionalunknown?: {
                abstractInterpretation?: ...;
                defaultEngine?: ...;
                defaultPlugins?: ...;
                engines?: ...;
                gas?: ...;
                ignoreLoadCalls?: ...;
                ignoreSourceCalls?: ...;
                incremental?: ...;
                inherit?: ...;
                inputSources?: ...;
                linter?: ...;
                logLevel?: ...;
                project?: ...;
                repl?: ...;
                semantics?: ...;
                solver?: ...;
                specializeConfig?: ...;
            }
            • Optional ReadonlyabstractInterpretation?: ...
            • Optional ReadonlydefaultEngine?: ...

              The default engine to use. If undefined, an arbitrary one from engines is used.

            • Optional ReadonlydefaultPlugins?: ...
            • Optional Readonlyengines?: ...

              Engines to use for interacting with R code (TreeSitterEngineConfig, RShellEngineConfig); empty means all available engines.

            • Optional Readonlygas?: ...

              Resource-usage guard (gas) configuration; disabled by default (every feature factor 0), enable by setting a feature's factor > 0. See FlowrGasConfig, ReadOnlyFlowrAnalyzerGasContext.

            • Optional ReadonlyignoreLoadCalls?: ...
            • Optional ReadonlyignoreSourceCalls?: ...
            • Optional Readonlyincremental?: ...
            • Optional Readonlyinherit?: ...
            • Optional ReadonlyinputSources?: ...

              Teaches the InputSourcesQuery|input-sources analysis further frameworks; entries are added to what flowR knows already. Usually set per ProjectKind via specializeConfig. See InputClassifierConfig.

            • Optional Readonlylinter?: ...
            • Optional ReadonlylogLevel?: ...
            • Optional Readonlyproject?: ...
            • Optional Readonlyrepl?: ...
            • Optional Readonlysemantics?: ...
            • Optional Readonlysolver?: ...
            • Optional ReadonlyspecializeConfig?: ...

              Overwrite (parts of) this configuration per ProjectKind; an entry may inherit another kind's overwrite first (own keys win). Resolve with FlowrConfig.forKind.

      Returns void