pub fn translate(
        &mut self,
        loc: Loc,
        module_def: EA::ModuleDefinition,
        compiled_module: CompiledModule,
        source_map: SourceMap<MoveIrLoc>,
        function_infos: UniqueMap<FunctionName, FunctionInfo>,
    ) {
        self.decl_ana(&module_def, &compiled_module, &source_map);
        self.def_ana(&module_def, function_infos);
        self.collect_spec_block_infos(&module_def);
        self.populate_env_from_result(loc, compiled_module, source_map);
    }
/// Translates the given module definition from the Move compiler's expansion phase,
/// combined with a compiled module (bytecode) and a source map, and enters it into
/// this global environment. Any type check or others errors encountered will be collected
/// in the environment for later processing. Dependencies of this module are guaranteed to
/// have been analyzed and being already part of the environment.
///
/// Translation happens in three phases:
///
/// 1. In the *declaration analysis*, we collect all information about structs, functions,
///    spec functions, spec vars, and schemas in a module. We do not yet analyze function
///    bodies, conditions, and invariants, which we can only analyze after we know all
///    global declarations (declaration of globals is order independent, and they can have
///    cyclic references).
/// 2. In the *definition analysis*, we visit the definitions we have skipped in step (1),
///    specifically analyzing and type checking expressions and schema inclusions.
/// 3. In the *population phase*, we populate the global environment with the information
///    from this module.
Translates the given module definition from the Move compiler's expansion phase,
combined with a compiled module (bytecode) and a source map, and enters it into
this global environment. Any type check or others errors encountered will be collected
in the environment for later processing. Dependencies of this module are guaranteed to
have been analyzed and being already part of the environment.

Translation happens in three phases.

1. In the *declaration analysis*, we collect all information about structs, functions,
spec functions, spec vars, and schemas in a module. We do not yet analyze function
bodies, conditions, and invariants, which we can only analyze after we know all
global declarations (declaration of globals is order independent, and they can have
cyclic references).
2. In the *definition analysis*, we visit the definitions we have skipped in step (1),
specifically analyzing and type checking expressions and schema inclusions.
3. In the *population phase*, we populate the global environment with the information
from this module.
Translates the given module definition from the Move compiler ' s expansion phase combined with a compiled module ( bytecode ) and a source map and enters it into this global environment . Any type check or others errors encountered will be collected in the environment for later processing . Dependencies of this module are guaranteed to have been analyzed and being already part of the environment . Translation happens in three phases . 1 . In the * declaration analysis * we collect all information about structs functions spec functions spec vars and schemas in a module . We do not yet analyze function bodies conditions and invariants which we can only analyze after we know all global declarations ( declaration of globals is order independent and they can have cyclic references ) . 2 . In the * definition analysis * we visit the definitions we have skipped in step ( 1 ) specifically analyzing and type checking expressions and schema inclusions . 3 . In the * population phase * we populate the global environment with the information from this module .
pub fn translate(
        &mut self,
        loc: Loc,
        module_def: EA::ModuleDefinition,
        compiled_module: CompiledModule,
        source_map: SourceMap<MoveIrLoc>,
        function_infos: UniqueMap<FunctionName, FunctionInfo>,
    ) {
        self.decl_ana(&module_def, &compiled_module, &source_map);
        self.def_ana(&module_def, function_infos);
        self.collect_spec_block_infos(&module_def);
        self.populate_env_from_result(loc, compiled_module, source_map);
    }
pub fn translate ( & mut self , loc : Loc , module_def : EA :: ModuleDefinition , compiled_module : CompiledModule , source_map : SourceMap < MoveIrLoc > , function_infos : UniqueMap < FunctionName , FunctionInfo > , ) { self . decl_ana ( & module_def , & compiled_module , & source_map ) ; self . def_ana ( & module_def , function_infos ) ; self . collect_spec_block_infos ( & module_def ) ; self . populate_env_from_result ( loc , compiled_module , source_map ) ; }
Translates the given module definition from the Move compiler's expansion phase,
combined with a compiled module (bytecode) and a source map, and enters it into
this global environment.
Translates the given module definition from the Move compiler ' s expansion phase combined with a compiled module ( bytecode ) and a source map and enters it into this global environment .
&mut self
loc
Loc
module_def
EA::ModuleDefinition
compiled_module
CompiledModule
source_map
SourceMap<MoveIrLoc>
function_infos
UniqueMap<FunctionName, FunctionInfo>
&mut self
loc
Loc
module_def
EA::ModuleDefinition
compiled_module
CompiledModule
source_map
SourceMap<MoveIrLoc>
function_infos
UniqueMap<FunctionName, FunctionInfo>