(self, block: BlockNode, irsb: IRSBType)
Add lifter IR for this block
Add lifter IR for this block
Add lifter IR for this block
def _add_block_ir_to_results(self, block: BlockNode, irsb: IRSBType) -> None:
        """
        Add lifter IR for this block
        """
        addr_to_ops_map = self.raw_result_map['ir']
        addr = block.addr
        ops = addr_to_ops_map[addr]

        if irsb.statements is not None:
            if (pcode is not None and
                isinstance(self.project.factory.default_engine, pcode.HeavyPcodeMixin)):
                for ins in irsb._instructions:
                    addr = ins.address.offset
                    addr_to_ops_map[addr].extend([
                        IROp(addr, op.seq.uniq, op, irsb) for op in ins.ops])
            else:
                for seq, stmt in enumerate(irsb.statements):
                    if isinstance(stmt, pyvex.stmt.IMark):
                        addr = stmt.addr
                        ops = addr_to_ops_map[addr]
                    else:
                        ops.append(IROp(addr, seq, stmt, irsb))
def _add_block_ir_to_results ( self , block : BlockNode , irsb : IRSBType ) -> None : addr_to_ops_map = self . raw_result_map [ 'ir' ] addr = block . addr ops = addr_to_ops_map [ addr ] if irsb . statements is not None : if ( pcode is not None and isinstance ( self . project . factory . default_engine , pcode . HeavyPcodeMixin ) ) : for ins in irsb . _instructions : addr = ins . address . offset addr_to_ops_map [ addr ] . extend ( [ IROp ( addr , op . seq . uniq , op , irsb ) for op in ins . ops ] ) else : for seq , stmt in enumerate ( irsb . statements ) : if isinstance ( stmt , pyvex . stmt . IMark ) : addr = stmt . addr ops = addr_to_ops_map [ addr ] else : ops . append ( IROp ( addr , seq , stmt , irsb ) )