UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

44 lines (43 loc) 2.4 kB
import { type LintingResult, LintingRuleCertainty } from '../linter-format'; import type { MergeableRecord } from '../../util/objects'; import { SourceLocation } from '../../util/range'; import { LintingRuleTag } from '../linter-tags'; import type { NormalizedAst, ParentInformation } from '../../r-bridge/lang-4.x/ast/model/processing/decorate'; export interface UnusedDefinitionResult extends LintingResult { variableName?: string; loc: SourceLocation; } export interface UnusedDefinitionConfig extends MergeableRecord { /** * Whether to include (potentially anonymous) function definitions in the search (e.g., should we report uncalled anonymous functions?). */ includeFunctionDefinitions: boolean; } export interface UnusedDefinitionMetadata extends MergeableRecord { totalConsidered: number; } export declare const UNUSED_DEFINITION: { readonly createSearch: (config: UnusedDefinitionConfig) => import("../../search/flowr-search-builder").FlowrSearchBuilder<"all", ["filter"], ParentInformation, Promise<import("../../search/flowr-search").FlowrSearchElements<ParentInformation, [] | import("../../search/flowr-search").FlowrSearchElement<ParentInformation>[]>>>; readonly processSearchResult: (elements: import("../../search/flowr-search").FlowrSearchElements<ParentInformation, import("../../search/flowr-search").FlowrSearchElement<ParentInformation>[]>, config: UnusedDefinitionConfig, data: { normalize: NormalizedAst; dataflow: import("../../dataflow/info").DataflowInformation; cfg: import("../../control-flow/control-flow-graph").ControlFlowInformation; analyzer: import("../../project/flowr-analyzer").ReadonlyFlowrAnalysisProvider; }) => { results: UnusedDefinitionResult[]; ".meta": UnusedDefinitionMetadata; }; readonly prettyPrint: { readonly query: (result: UnusedDefinitionResult) => string; readonly full: (result: UnusedDefinitionResult) => string; }; readonly info: { readonly name: "Unused Definitions"; readonly description: "Checks for unused definitions."; readonly tags: readonly [LintingRuleTag.Readability, LintingRuleTag.Smell, LintingRuleTag.QuickFix]; readonly certainty: LintingRuleCertainty.BestEffort; readonly defaultConfig: { readonly includeFunctionDefinitions: true; }; }; };