Skip to content

Commit 96ee9ff

Browse files
committed
change: as_mdnode prototype
1 parent 49a7e9b commit 96ee9ff

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/llvm/di.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,10 @@ impl DISanitizer {
7373
}
7474

7575
fn visit_mdnode_item(&mut self, item: Item) {
76-
// guardrail preventing to visit non mdnode items
77-
if !item.is_mdnode() {
76+
let Some(mdnode) = item.as_mdnode() else {
7877
return;
79-
}
78+
};
8079

81-
let mdnode = item.as_mdnode();
8280
match mdnode.try_into().expect("MDNode is not Metadata") {
8381
Metadata::DICompositeType(mut di_composite_type) => {
8482
#[allow(clippy::single_match)]
@@ -479,8 +477,13 @@ impl Item {
479477
unsafe { !LLVMIsAMDNode(self.value_ref()).is_null() }
480478
}
481479

482-
fn as_mdnode(&self) -> MDNode<'_> {
483-
unsafe { MDNode::from_value_ref(self.value_ref()) }
480+
/// Returns the [Item] as [MDNode] only if [Item::is_mdnode] is `true` else `None`
481+
fn as_mdnode(&self) -> Option<MDNode<'_>> {
482+
if self.is_mdnode() {
483+
Some(unsafe { MDNode::from_value_ref(self.value_ref()) })
484+
} else {
485+
None
486+
}
484487
}
485488

486489
fn value_ref(&self) -> LLVMValueRef {

0 commit comments

Comments
 (0)