(self,
                symbol_type: str,
                member: str,
                forward: bool = True,
                sentinel: bool = True,
                layer: Optional[str] = None)
Returns an iterator of the entries in the list.
Returns an iterator of the entries in the list.
Returns an iterator of the entries in the list .
def to_list(self,
                symbol_type: str,
                member: str,
                forward: bool = True,
                sentinel: bool = True,
                layer: Optional[str] = None) -> Iterator[interfaces.objects.ObjectInterface]:
        """Returns an iterator of the entries in the list."""
        layer = layer or self.vol.layer_name

        relative_offset = self._context.symbol_space.get_type(symbol_type).relative_child_offset(member)

        direction = 'prev'
        if forward:
            direction = 'next'
        try:
            link = getattr(self, direction).dereference()
        except exceptions.InvalidAddressException:
            return

        if not sentinel:
            yield self._context.object(symbol_type, layer, offset = self.vol.offset - relative_offset)

        seen = {self.vol.offset}
        while link.vol.offset not in seen:

            obj = self._context.object(symbol_type, layer, offset = link.vol.offset - relative_offset)
            yield obj

            seen.add(link.vol.offset)
            try:
                link = getattr(link, direction).dereference()
            except exceptions.InvalidAddressException:
                break
def to_list ( self , symbol_type : str , member : str , forward : bool = True , sentinel : bool = True , layer : Optional [ str ] = None ) -> Iterator [ interfaces . objects . ObjectInterface ] : layer = layer or self . vol . layer_name relative_offset = self . _context . symbol_space . get_type ( symbol_type ) . relative_child_offset ( member ) direction = 'prev' if forward : direction = 'next' try : link = getattr ( self , direction ) . dereference ( ) except exceptions . InvalidAddressException : return if not sentinel : yield self . _context . object ( symbol_type , layer , offset = self . vol . offset - relative_offset ) seen = { self . vol . offset } while link . vol . offset not in seen : obj = self . _context . object ( symbol_type , layer , offset = link . vol . offset - relative_offset ) yield obj seen . add ( link . vol . offset ) try : link = getattr ( link , direction ) . dereference ( ) except exceptions . InvalidAddressException : break