TODO: Wtf are these lifetimes??
(
&'a self,
label: &'b mut LowLevelILLabel,
)
| 1137 | |
| 1138 | // TODO: Wtf are these lifetimes?? |
| 1139 | pub fn goto<'a: 'b, 'b>( |
| 1140 | &'a self, |
| 1141 | label: &'b mut LowLevelILLabel, |
| 1142 | ) -> LowLevelILExpression<'a, A, Mutable, NonSSA<LiftedNonSSA>, VoidExpr> { |
| 1143 | use binaryninjacore_sys::BNLowLevelILGoto; |
| 1144 | |
| 1145 | let mut raw_label = BNLowLevelILLabel::from(*label); |
| 1146 | let expr_idx = unsafe { BNLowLevelILGoto(self.handle, &mut raw_label) }; |
| 1147 | |
| 1148 | // Update the labels after they have been resolved. |
| 1149 | let mut new_label = LowLevelILLabel::from(raw_label); |
| 1150 | if let Some(location) = label.location { |
| 1151 | new_label.location = Some(location); |
| 1152 | self.update_label_map_for_label(&new_label); |
| 1153 | } |
| 1154 | *label = new_label; |
| 1155 | |
| 1156 | LowLevelILExpression::new(self, LowLevelExpressionIndex(expr_idx)) |
| 1157 | } |
| 1158 | |
| 1159 | pub fn reg<R: Into<LowLevelILRegister<A::Register>>>( |
| 1160 | &self, |
no test coverage detected