예제 #1
0
    def _ail_handle_Reinterpret(self, expr: Expr.Reinterpret):
        arg = self._expr(expr.operand)

        if self.state.is_top(arg):
            arg = expr.operand

        return Expr.Reinterpret(expr.idx, expr.from_bits, expr.from_type,
                                expr.to_bits, expr.to_type, arg, **expr.tags)
예제 #2
0
파일: engine_ail.py 프로젝트: ufo2011/angr
    def _ail_handle_Reinterpret(self, expr: Expr.Reinterpret) -> Optional[PropValue]:
        arg = self._expr(expr.operand)

        if self.state.is_top(arg.value):
            one_expr = arg.one_expr
            if one_expr is not None:
                expr = Expr.Reinterpret(expr.idx, expr.from_bits, expr.from_type, expr.to_bits, expr.to_type, one_expr,
                                        **expr.tags)

        return PropValue.from_value_and_details(
            arg.value,
            expr.size, expr, self._codeloc()
        )