(self)
return None
Get the closest arg spec, starting from self and moving to parent,
        that is complete. So if self.isComplete() is True, then returns self,
        otherwise returns parent (if parent.isComplete()), etc.
Get the closest arg spec, starting from self and moving to parent,
        that is complete. So if self.isComplete() is True, then returns self,
        otherwise returns parent (if parent.isComplete()), etc.
Get the closest arg spec starting from self and moving to parent that is complete . So if self . isComplete () is True then returns self otherwise returns parent ( if parent . isComplete () ) etc .
def getCompleteAI(self) -> ArgsInfo:
        """
        Get the closest arg spec, starting from self and moving to parent,
        that is complete. So if self.isComplete() is True, then returns self,
        otherwise returns parent (if parent.isComplete()), etc.
        """
        AI = self
        while AI is not None:
            if AI.isComplete():
                return AI
            AI = AI.parentAI()  # dereference weakref
        return None
def getCompleteAI ( self ) -> ArgsInfo : AI = self while AI is not None : if AI . isComplete ( ) : return AI AI = AI . parentAI ( ) # dereference weakref return None