From c272e4d1e84ead303d7a3a93ecae6ea3c1c8af6d Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Thu, 18 Feb 2021 14:15:28 -0700 Subject: [PATCH] use add_dynamically_generated_module in get_or_insert_local_code_index --- src/machine/load_state.rs | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/src/machine/load_state.rs b/src/machine/load_state.rs index 41f39248..0a2fca5a 100644 --- a/src/machine/load_state.rs +++ b/src/machine/load_state.rs @@ -559,25 +559,20 @@ impl<'a> LoadState<'a> { .or_insert_with(|| CodeIndex::new(IndexPtr::Undefined)) .clone(), None => { - let mut module = Module::new( - ModuleDecl { - name: module_name.clone(), - exports: vec![], - }, - ListingSource::DynamicallyGenerated, - ); - - let code_index = module - .code_dir - .entry(key) - .or_insert_with(|| CodeIndex::new(IndexPtr::Undefined)) - .clone(); - - self.retraction_info - .push_record(RetractionRecord::AddedModule(module_name.clone())); + self.add_dynamically_generated_module(&module_name); - self.wam.indices.modules.insert(module_name, module); - code_index + match self.wam.indices.modules.get_mut(&module_name) { + Some(ref mut module) => { + module + .code_dir + .entry(key) + .or_insert_with(|| CodeIndex::new(IndexPtr::Undefined)) + .clone() + } + None => { + unreachable!() + } + } } } } -- 2.54.0