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

    Interface FlowrConfig

    The configuration file format for flowR.

    interface FlowrConfig {
        abstractInterpretation: {
            dataFrame: {
                maxColNames: number;
                readLoadedData: { maxReadLines: number; readExternalFiles: boolean };
            };
            wideningThreshold: number;
        };
        defaultEngine?: "r-shell"
        | "tree-sitter";
        engines: EngineConfig[];
        ignoreSourceCalls: boolean;
        project: { resolveUnknownPathsOnDisk: boolean };
        repl: { dfProcessorHeat: boolean; quickStats: boolean };
        semantics: {
            environment: {
                overwriteBuiltIns: {
                    definitions: BuiltInDefinition<
                        | Access
                        | Apply
                        | Assignment
                        | AssignmentLike
                        | Default
                        | DefaultReadAllArgs
                        | Eval
                        | ExpressionList
                        | ForLoop
                        | FunctionDefinition
                        | Get
                        | IfThenElse
                        | Library
                        | List
                        | Local
                        | Pipe
                        | Quote
                        | Recall
                        | RegisterHook
                        | RepeatLoop
                        | Replacement
                        | Rm
                        | S3Dispatch
                        | S7NewGeneric
                        | S7Dispatch
                        | Source
                        | SpecialBinOp
                        | StopIfNot
                        | Try
                        | Vector
                        | WhileLoop,
                    >[];
                    loadDefaults?: boolean;
                };
            };
        };
        solver: {
            evalStrings: boolean;
            instrument: {
                dataflowExtractors?: (
                    extractor: DataflowProcessors<ParentInformation>,
                    ctx: FlowrAnalyzerContext,
                ) => DataflowProcessors<ParentInformation>;
            };
            resolveSource?: FlowrLaxSourcingOptions;
            slicer?: { autoExtend?: boolean; threshold?: number };
            variables: VariableResolve;
        };
        [key: string]: unknown;
    }

    Hierarchy (View Summary)

    Indexable

    • [key: string]: unknown

    Hierarchy-Diagram

    UML class diagram of FlowrConfig
    Index

    Properties

    abstractInterpretation: {
        dataFrame: {
            maxColNames: number;
            readLoadedData: { maxReadLines: number; readExternalFiles: boolean };
        };
        wideningThreshold: number;
    }

    Configuration options for abstract interpretation

    Type Declaration

    • ReadonlydataFrame: {
          maxColNames: number;
          readLoadedData: { maxReadLines: number; readExternalFiles: boolean };
      }

      The configuration of the shape inference for data frames

      • ReadonlymaxColNames: number

        The maximum number of columns names to infer for data frames before over-approximating the column names to top

      • ReadonlyreadLoadedData: { maxReadLines: number; readExternalFiles: boolean }

        Configuration options for reading data frame shapes from loaded external data files, such as CSV files

        • ReadonlymaxReadLines: number

          The maximum number of lines to read when extracting data frame shapes from loaded files, such as CSV files

        • ReadonlyreadExternalFiles: boolean

          Whether data frame shapes should be extracted from loaded external data files, such as CSV files

    • ReadonlywideningThreshold: number

      The threshold for the number of visitations of a node at which widening should be performed to ensure the termination of the fixpoint iteration

    defaultEngine?: "r-shell" | "tree-sitter"

    The default engine to use for interacting with R code. If this is undefined, an arbitrary engine from engines will be used.

    engines: EngineConfig[]

    The engines to use for interacting with R code. Currently, supports TreeSitterEngineConfig and RShellEngineConfig. An empty array means all available engines will be used.

    ignoreSourceCalls: boolean

    Whether source calls should be ignored, causing processSourceCall's behavior to be skipped

    project: { resolveUnknownPathsOnDisk: boolean }

    Type Declaration

    • resolveUnknownPathsOnDisk: boolean

      Whether to resolve unknown paths loaded by the r project disk when trying to source/analyze files

    repl: { dfProcessorHeat: boolean; quickStats: boolean }

    Configuration options for the REPL

    Type Declaration

    • dfProcessorHeat: boolean

      This instruments the dataflow processors to count how often each processor is called

    • quickStats: boolean

      Whether to show quick stats in the REPL after each evaluation

    semantics: {
        environment: {
            overwriteBuiltIns: {
                definitions: BuiltInDefinition<
                    | Access
                    | Apply
                    | Assignment
                    | AssignmentLike
                    | Default
                    | DefaultReadAllArgs
                    | Eval
                    | ExpressionList
                    | ForLoop
                    | FunctionDefinition
                    | Get
                    | IfThenElse
                    | Library
                    | List
                    | Local
                    | Pipe
                    | Quote
                    | Recall
                    | RegisterHook
                    | RepeatLoop
                    | Replacement
                    | Rm
                    | S3Dispatch
                    | S7NewGeneric
                    | S7Dispatch
                    | Source
                    | SpecialBinOp
                    | StopIfNot
                    | Try
                    | Vector
                    | WhileLoop,
                >[];
                loadDefaults?: boolean;
            };
        };
    }

    Configure language semantics and how flowR handles them

    Type Declaration

    solver: {
        evalStrings: boolean;
        instrument: {
            dataflowExtractors?: (
                extractor: DataflowProcessors<ParentInformation>,
                ctx: FlowrAnalyzerContext,
            ) => DataflowProcessors<ParentInformation>;
        };
        resolveSource?: FlowrLaxSourcingOptions;
        slicer?: { autoExtend?: boolean; threshold?: number };
        variables: VariableResolve;
    }

    How to resolve constants, constraints, cells, …

    Type Declaration

    • ReadonlyevalStrings: boolean

      Should we include eval(parse(text="...")) calls in the dataflow graph?

    • Readonlyinstrument: {
          dataflowExtractors?: (
              extractor: DataflowProcessors<ParentInformation>,
              ctx: FlowrAnalyzerContext,
          ) => DataflowProcessors<ParentInformation>;
      }

      These keys are only intended for use within code, allowing to instrument the dataflow analyzer!

      • OptionaldataflowExtractors?: (
            extractor: DataflowProcessors<ParentInformation>,
            ctx: FlowrAnalyzerContext,
        ) => DataflowProcessors<ParentInformation>

        Modify the dataflow processors used during dataflow analysis. Make sure that all processors required for correct analysis are still present! This may have arbitrary consequences on the analysis precision and performance, consider focusing on decorating existing processors instead of replacing them.

    • Optional ReadonlyresolveSource?: FlowrLaxSourcingOptions

      If lax source calls are active, flowR searches for sourced files much more freely, based on the configurations you give it. This option is only in effect if ignoreSourceCalls is set to false.

    • Optionalslicer?: { autoExtend?: boolean; threshold?: number }

      The configuration for flowR's slicer

      • Optional ReadonlyautoExtend?: boolean

        If set, the slicer will gain an additional post-pass

      • Optional Readonlythreshold?: number

        The maximum number of iterations to perform on a single function call during slicing

    • Readonlyvariables: VariableResolve

      How to resolve variables and their values