UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

44 lines (43 loc) 2.65 kB
import { LintingResultCertainty, type LintingResult, LintingRuleCertainty } from '../linter-format'; import type { SourceRange } from '../../util/range'; import type { MergeableRecord } from '../../util/objects'; import { LintingRuleTag } from '../linter-tags'; import { type CfgSimplificationPassName } from '../../control-flow/cfg-simplification'; export interface DeadCodeResult extends LintingResult { range: SourceRange; } export interface DeadCodeConfig extends MergeableRecord { /** * The simplification passes that should be run on the extracted CFG. * Defaults to the entries of {@link DefaultCfgSimplificationOrder} and `analyze-dead-code`. */ simplificationPasses?: CfgSimplificationPassName[]; } export interface DeadCodeMetadata extends MergeableRecord { consideredNodes: number; } export declare const DEAD_CODE: { readonly createSearch: (config: DeadCodeConfig) => import("../../search/flowr-search-builder").FlowrSearchBuilder<"all", ["with"], import("../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../search/flowr-search").FlowrSearchElements<import("../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../search/flowr-search").FlowrSearchElement<import("../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>[]>>; readonly processSearchResult: (elements: import("../../search/flowr-search").FlowrSearchElements<import("../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation, import("../../search/flowr-search").FlowrSearchElement<import("../../r-bridge/lang-4.x/ast/model/processing/decorate").ParentInformation>[]>, _config: DeadCodeConfig, _data: { normalize: import("../../r-bridge/lang-4.x/ast/model/processing/decorate").NormalizedAst; dataflow: import("../../dataflow/info").DataflowInformation; config: import("../../config").FlowrConfigOptions; }) => { results: { certainty: LintingResultCertainty.Certain; range: SourceRange; }[]; '.meta': DeadCodeMetadata; }; readonly prettyPrint: { readonly query: (result: DeadCodeResult) => string; readonly full: (result: DeadCodeResult) => string; }; readonly info: { readonly name: "Dead Code"; readonly tags: readonly [LintingRuleTag.Smell, LintingRuleTag.Usability, LintingRuleTag.Reproducibility]; readonly certainty: LintingRuleCertainty.BestEffort; readonly description: "Marks areas of code that are never reached during execution."; readonly defaultConfig: {}; }; };