MCPcopy Index your code
hub / github.com/RustPython/RustPython / import

Method import

crates/vm/src/frame.rs:6151–6164  ·  view source on GitHub ↗
(&mut self, vm: &VirtualMachine, module_name: Option<&Py<PyStr>>)

Source from the content-addressed store, hash-verified

6149
6150 #[cfg_attr(feature = "flame-it", flame("Frame"))]
6151 fn import(&mut self, vm: &VirtualMachine, module_name: Option<&Py<PyStr>>) -> PyResult<()> {
6152 let module_name = module_name.unwrap_or(vm.ctx.empty_str);
6153 let top = self.pop_value();
6154 let from_list = match <Option<PyTupleRef>>::try_from_object(vm, top)? {
6155 Some(from_list) => from_list.try_into_typed::<PyStr>(vm)?,
6156 None => vm.ctx.empty_tuple_typed().to_owned(),
6157 };
6158 let level = usize::try_from_object(vm, self.pop_value())?;
6159
6160 let module = vm.import_from(module_name, &from_list, level)?;
6161
6162 self.push_value(module);
6163 Ok(())
6164 }
6165
6166 #[cfg_attr(feature = "flame-it", flame("Frame"))]
6167 fn import_from(&mut self, vm: &VirtualMachine, idx: bytecode::NameIdx) -> PyResult {

Callers 1

execute_instructionMethod · 0.45

Calls 5

pop_valueMethod · 0.80
empty_tuple_typedMethod · 0.80
push_valueMethod · 0.80
to_ownedMethod · 0.45
import_fromMethod · 0.45

Tested by

no test coverage detected