UNPKG

@informalsystems/quint

Version:

Core tool for the Quint specification language

23 lines (22 loc) 1.12 kB
import { IdGenerator } from '../idGenerator'; import { FlatModule, QuintModule } from '../ir/quintIr'; import { LookupTable } from '../names/base'; import { SourceMap } from '../parsing/quintParserFrontend'; import { AnalysisOutput } from '../quintAnalyzer'; /** * Flatten an array of modules, replacing instances, imports and exports with * their definitions and inlining type aliases. * * @param modules The modules to flatten * @param table The lookup table to for all referred names * @param idGenerator The id generator to use for new definitions; should be the same as used for parsing * @param sourceMap The source map for all modules involved * @param analysisOutput The analysis output for all modules involved * * @returns An object containing the flattened modules, flattened lookup table and flattened analysis output */ export declare function flattenModules(modules: QuintModule[], table: LookupTable, idGenerator: IdGenerator, sourceMap: SourceMap, analysisOutput: AnalysisOutput): { flattenedModules: FlatModule[]; flattenedTable: LookupTable; flattenedAnalysis: AnalysisOutput; };