File tree Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -73,12 +73,10 @@ impl DISanitizer {
73
73
}
74
74
75
75
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 {
78
77
return ;
79
- }
78
+ } ;
80
79
81
- let mdnode = item. as_mdnode ( ) ;
82
80
match mdnode. try_into ( ) . expect ( "MDNode is not Metadata" ) {
83
81
Metadata :: DICompositeType ( mut di_composite_type) => {
84
82
#[ allow( clippy:: single_match) ]
@@ -479,8 +477,13 @@ impl Item {
479
477
unsafe { !LLVMIsAMDNode ( self . value_ref ( ) ) . is_null ( ) }
480
478
}
481
479
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
+ }
484
487
}
485
488
486
489
fn value_ref ( & self ) -> LLVMValueRef {
You can’t perform that action at this time.
0 commit comments