def does_match_exist(self, inst):
answer = True<EOL>if self._decl_type is not None:<EOL><INDENT>answer &= isinstance(inst, self._decl_type)<EOL><DEDENT>if self.name is not None:<EOL><INDENT>answer &= inst.name == self.name<EOL><DEDENT>if self.parent is not None:<EOL><INDENT>answer &= self.parent is inst.parent<EOL><DEDENT>if self.fullname is not None:<EOL><INDENT>if inst.name:<EOL><INDENT>answer &= self.fullname == declaration_utils.full_name(inst)<EOL><DEDENT>else:<EOL><INDENT>answer = False<EOL><DEDENT><DEDENT>return answer<EOL>
Returns True if inst does match one of specified criteria.

:param inst: declaration instance
:type inst: :class:`declaration_t`

:rtype: bool