@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
31 lines (30 loc) • 1.25 kB
TypeScript
import { PosIntervalDomain } from '../domains/positive-interval-domain';
import { ProductDomain } from '../domains/product-domain';
import { SetRangeDomain } from '../domains/set-range-domain';
/** The type of the abstract product representing the shape of data frames */
export type AbstractDataFrameShape = {
colnames: SetRangeDomain<string>;
cols: PosIntervalDomain;
rows: PosIntervalDomain;
};
/**
* The data frame abstract domain as product domain of a column names domain, column count domain, and row count domain.
*/
export declare class DataFrameDomain extends ProductDomain<AbstractDataFrameShape> {
create(value: AbstractDataFrameShape): this;
/**
* The current abstract value of the column names domain.
*/
get colnames(): AbstractDataFrameShape['colnames'];
/**
* The current abstract value of the column count domain.
*/
get cols(): AbstractDataFrameShape['cols'];
/**
* The current abstract value of the row count domain.
*/
get rows(): AbstractDataFrameShape['rows'];
static bottom(maxColNames?: number): DataFrameDomain;
static top(maxColNames?: number): DataFrameDomain;
protected reduce(value: AbstractDataFrameShape): AbstractDataFrameShape;
}