use crate::records::dfg_scope::DfgScope;
use crate::type_aliases::def_id_def::DefId;
use alloc::string::String;
impl DfgScope {
pub fn lookup_def_id_string(&self, def: DefId, key: &String) -> Option<DefId> {
// C++: for (current = this; current; current = current->parent)
// if (auto props = current->props.find(def))
// if (auto it = props->find(key); it != props->end())
// return NotNull{it->second};
let mut current: Option<&DfgScope> = Some(self);
while let Some(scope) = current {
if let Some(props) = scope.props.find(&def) {
if let Some(value) = props.get(key) {
return Some(*value);
}
}
current = unsafe { scope.parent.as_ref() };
}
None
}
}