parameters: (self, parent_message)
docstring: Args:
        parent_message: The message whose _Modified() method we should call when
          we receive Modified() messages.
docstring_summary: Args:
        parent_message: The message whose _Modified() method we should call when
          we receive Modified() messages.
docstring_tokens: Args : parent_message : The message whose _Modified () method we should call when we receive Modified () messages .
function: def __init__(self, parent_message):
      """Args:
        parent_message: The message whose _Modified() method we should call when
          we receive Modified() messages.
      """
      # This listener establishes a back reference from a child (contained) object
      # to its parent (containing) object.  We make this a weak reference to avoid
      # creating cyclic garbage when the client finishes with the 'parent' object
      # in the tree.
      if isinstance(parent_message, weakref.ProxyType):
        self._parent_message_weakref = parent_message
      else:
        self._parent_message_weakref = weakref.proxy(parent_message)
  
      # As an optimization, we also indicate directly on the listener whether
      # or not the parent message is dirty.  This way we can avoid traversing
      # up the tree in the common case.
      self.dirty = False
function_tokens: def __init__ ( self , parent_message ) : # This listener establishes a back reference from a child (contained) object # to its parent (containing) object.  We make this a weak reference to avoid # creating cyclic garbage when the client finishes with the 'parent' object # in the tree. if isinstance ( parent_message , weakref . ProxyType ) : self . _parent_message_weakref = parent_message else : self . _parent_message_weakref = weakref . proxy ( parent_message ) # As an optimization, we also indicate directly on the listener whether # or not the parent message is dirty.  This way we can avoid traversing # up the tree in the common case. self . dirty = False