UNPKG

@informalsystems/quint

Version:

Core tool for the Quint specification language

40 lines (39 loc) 1.75 kB
import { LookupTable } from '../names/base'; import { AnalysisOutput } from '../quintAnalyzer'; import { QuintDef, QuintModule } from '../ir/quintIr'; import { QuintType } from '../ir/quintTypes'; /** * Inlines all type aliases in a set of QuintModules, LookupTable and AnalysisOutput. * * @param modules - The array of QuintModules to transform. * @param table - The LookupTable containing the type aliases to be resolved. * @param analysisOutput - The AnalysisOutput to transform. * * @returns An object containing the transformed QuintModules, LookupTable and AnalysisOutput. */ export declare function inlineTypeAliases(modules: QuintModule[], table: LookupTable, analysisOutput: AnalysisOutput): { modules: QuintModule[]; table: LookupTable; analysisOutput: AnalysisOutput; }; /** * Inlines all type aliases in the AnalysisOutput using the provided LookupTable. * * @param analysisOutput - The AnalysisOutput to transform. * @param table - The LookupTable containing the type aliases to be resolved. * * @returns The transformed AnalysisOutput with all type aliases replaced with their resolved types. */ export declare function inlineAnalysisOutput(analysisOutput: AnalysisOutput, table: LookupTable): AnalysisOutput; /** * Inlines type aliases in a QuintDef using the provided LookupTable. * * @param lookupTable - The LookupTable containing the type aliases to be * resolved. * @param def - The QuintDef to transform. * * @returns The transformed QuintDef with all type aliases replaced with * their resolved types. */ export declare function inlineAliasesInDef(def: QuintDef, lookupTable: LookupTable): QuintDef; export declare function resolveAlias(lookupTable: LookupTable, type: QuintType): QuintType;