luaur_analysis/methods/
non_strict_context_remove.rs1use crate::records::non_strict_context::NonStrictContext;
2use crate::type_aliases::def_id_def::DefId;
3
4use crate::functions::collect_operands::collect_operands;
5
6impl NonStrictContext {
7 pub fn remove(&mut self, def: &DefId) -> bool {
8 let mut defs: Vec<DefId> = Vec::new();
9 collect_operands(*def, &mut defs);
10 let mut result = true;
11 for def in defs {
12 let erased = self
13 .context
14 .remove(&(def as *const crate::records::def::Def));
15 result = result && erased.is_some();
16 }
17 result
18 }
19}