docs: def does_match_exist(self, inst):
          """
          Returns True if inst does match one of specified criteria.
  
          :param inst: declaration instance
          :type inst: :class:`declaration_t`
  
          :rtype: bool
  
          """
  
          answer = True
          if self._decl_type is not None:
              answer &= isinstance(inst, self._decl_type)
          if self.name is not None:
              answer &= inst.name == self.name
          if self.parent is not None:
              answer &= self.parent is inst.parent
          if self.fullname is not None:
              if inst.name:
                  answer &= self.fullname == declaration_utils.full_name(inst)
              else:
                  answer = False
          return answer