(self, cfg_node=None, addr=None, size=None, thumb=False, jumpkind=None, base_state=None)
Convert a CFGNode instance to a CodeNode object.

        :param angr.analyses.CFGNode cfg_node: The CFGNode instance.
        :param int addr: Address of the node. Only used when `cfg_node` is None.
        :param bool thumb: Whether this is in THUMB mode or not. Only used for ARM code and when `cfg_node` is None.
        :param str or None jumpkind: Jumpkind of this node.
        :param SimState or None base_state: The state where BlockNode should be created from.
        :return: A converted CodeNode instance.
        :rtype: CodeNode
Convert a CFGNode instance to a CodeNode object.
Convert a CFGNode instance to a CodeNode object .
def _to_snippet(self, cfg_node=None, addr=None, size=None, thumb=False, jumpkind=None, base_state=None):
        """
        Convert a CFGNode instance to a CodeNode object.

        :param angr.analyses.CFGNode cfg_node: The CFGNode instance.
        :param int addr: Address of the node. Only used when `cfg_node` is None.
        :param bool thumb: Whether this is in THUMB mode or not. Only used for ARM code and when `cfg_node` is None.
        :param str or None jumpkind: Jumpkind of this node.
        :param SimState or None base_state: The state where BlockNode should be created from.
        :return: A converted CodeNode instance.
        :rtype: CodeNode
        """

        if cfg_node is not None:
            addr = cfg_node.addr
            size = cfg_node.size
            thumb = cfg_node.thumb

        if addr is None:
            raise ValueError('_to_snippet(): Either cfg_node or addr must be provided.')

        if self.project.is_hooked(addr) and jumpkind != 'Ijk_NoHook':
            hooker = self.project._sim_procedures[addr]
            size = hooker.kwargs.get('length', 0)
            return HookNode(addr, size, type(hooker))

        if cfg_node is not None:
            return BlockNode(addr, size, thumb=thumb, bytestr=cfg_node.byte_string)  # pylint: disable=no-member
        else:
            return self.project.factory.snippet(addr, size=size, jumpkind=jumpkind, thumb=thumb,
                                                backup_state=base_state)
def _to_snippet ( self , cfg_node = None , addr = None , size = None , thumb = False , jumpkind = None , base_state = None ) : if cfg_node is not None : addr = cfg_node . addr size = cfg_node . size thumb = cfg_node . thumb if addr is None : raise ValueError ( '_to_snippet(): Either cfg_node or addr must be provided.' ) if self . project . is_hooked ( addr ) and jumpkind != 'Ijk_NoHook' : hooker = self . project . _sim_procedures [ addr ] size = hooker . kwargs . get ( 'length' , 0 ) return HookNode ( addr , size , type ( hooker ) ) if cfg_node is not None : return BlockNode ( addr , size , thumb = thumb , bytestr = cfg_node . byte_string ) # pylint: disable=no-member else : return self . project . factory . snippet ( addr , size = size , jumpkind = jumpkind , thumb = thumb , backup_state = base_state )