@informalsystems/quint
Version:
Core tool for the Quint specification language
14 lines (13 loc) • 587 B
TypeScript
import { LookupTable } from './base';
import { QuintModule } from '../ir/quintIr';
/**
* Replace all names with unique names, to avoid shadowing.
* - Lambda parameters are renamed to `<name>_<lambda-id>`
* - Nested definitions (from let expressions) are renamed to `<name>_<let-id>` only if they shadow another name
*
* @param module The module to unshadow
* @param lookupTable The lookup table with the module's name references
*
* @returns The module with no shadowed names
*/
export declare function unshadowNames(module: QuintModule, lookupTable: LookupTable): QuintModule;