Project Name: ayharano+pppipam
Language: Python
Statement Type: API

Source Code:
def __remove_ip_object(self, ip_object):

        if ip_object not in self.__description:
            raise IPObjectNotInSpaceError(
                "cannot remove undescribed IP object"
            )

        if isinstance(ip_object, IPAddressTuple):

            supernet = self.__parent_supernet[ip_object]
            self.__children_ip_object[supernet].remove(ip_object)
            del self.__parent_supernet[ip_object]
            del self.__description[ip_object]

        elif isinstance(ip_object, IPNetworkTuple):

            supernet = self.__parent_supernet[ip_object]
            children_of_supernet = (
                self.__children_ip_object.setdefault(supernet, set())
            )

            for child in self.__children_ip_object[ip_object]:
                self.__parent_supernet[child] = supernet
                children_of_supernet.add(child)

            del self.__children_ip_object[ip_object]
            del self.__parent_supernet[ip_object]
            del self.__description[ip_object]

        else:

            raise TypeError("ip_parameter must be a valid IP object")

        return True

__remove_ip_object(self=AddressSpace(_AddressSpace__strict=False, _AddressSpace__description={IPv4Address('203.0.113.128'): 'an IPv4 test net address'}, _AddressSpace__networks={}, _AddressSpace__addresses={4: {IPv4Address('203.0.113.128')}}, _AddressSpace__parent_supernet={IPv4Address('203.0.113.128'): None}, _AddressSpace__children_ip_object={None: {IPv4Address('203.0.113.128')}}), ip_object=IPv4Address('203.0.113.128'), self._AddressSpace__addresses={4: {IPv4Address('203.0.113.128')}}, self._AddressSpace__children_ip_object={None: {IPv4Address('203.0.113.128')}}, self._AddressSpace__description={IPv4Address('203.0.113.128'): 'an IPv4 test net address'}, self._AddressSpace__networks={}, self._AddressSpace__parent_supernet={IPv4Address('203.0.113.128'): None}, self._AddressSpace__strict=False)

Selected Statement: self.__children_ip_object[supernet].remove(ip_object)

Function Input:
self: AddressSpace(_AddressSpace__strict=False, _AddressSpace__description={IPv4Address('203.0.113.128'): 'an IPv4 test net address'}, _AddressSpace__networks={}, _AddressSpace__addresses={4: {IPv4Address('203.0.113.128')}}, _AddressSpace__parent_supernet={IPv4Address('203.0.113.128'): None}, _AddressSpace__children_ip_object={None: {IPv4Address('203.0.113.128')}})
ip_object: IPv4Address('203.0.113.128')
self._AddressSpace__addresses: {4: {IPv4Address('203.0.113.128')}}
self._AddressSpace__children_ip_object: {None: {IPv4Address('203.0.113.128')}}
self._AddressSpace__description: {IPv4Address('203.0.113.128'): 'an IPv4 test net address'}
self._AddressSpace__parent_supernet: {IPv4Address('203.0.113.128'): None}
self._AddressSpace__strict: False

Variable Values Before Statement:
ip_object: IPv4Address('203.0.113.128')

Value After Statement Execution: AddressSpace(_AddressSpace__strict

Variable States During Runtime (line, value):
self: 1
AddressSpace(_AddressSpace__strict=False, _AddressSpace__description={IPv4Address('203.0.113.128'): 'an IPv4 test net address'}, _AddressSpace__networks={}, _AddressSpace__addresses={4: {IPv4Address('203.0.113.128')}}, _AddressSpace__parent_supernet={IPv4Address('203.0.113.128'): None}, _AddressSpace__children_ip_object={None: {IPv4Address('203.0.113.128')}})
11
AddressSpace(_AddressSpace__strict=False, _AddressSpace__description={IPv4Address('203.0.113.128'): 'an IPv4 test net address'}, _AddressSpace__networks={}, _AddressSpace__addresses={4: {IPv4Address('203.0.113.128')}}, _AddressSpace__parent_supernet={IPv4Address('203.0.113.128'): None}, _AddressSpace__children_ip_object={None: set()})
12
AddressSpace(_AddressSpace__strict=False, _AddressSpace__description={IPv4Address('203.0.113.128'): 'an IPv4 test net address'}, _AddressSpace__networks={}, _AddressSpace__addresses={4: {IPv4Address('203.0.113.128')}}, _AddressSpace__parent_supernet={}, _AddressSpace__children_ip_object={None: set()})
13
AddressSpace(_AddressSpace__strict=False, _AddressSpace__description={}, _AddressSpace__networks={}, _AddressSpace__addresses={4: {IPv4Address('203.0.113.128')}}, _AddressSpace__parent_supernet={}, _AddressSpace__children_ip_object={None: set()})
ip_object: 1
IPv4Address('203.0.113.128')
self._AddressSpace__addresses: 1
{4: {IPv4Address('203.0.113.128')}}
self._AddressSpace__children_ip_object: 1
{None: {IPv4Address('203.0.113.128')}}
11
{None: set()}
self._AddressSpace__description: 1
{IPv4Address('203.0.113.128'): 'an IPv4 test net address'}
13
self._AddressSpace__networks: 1
self._AddressSpace__parent_supernet: 1
{IPv4Address('203.0.113.128'): None}
12
self._AddressSpace__strict: 1
False
supernet: 10
None