def METHOD_NAME(self, inst):
    # Sets the name of @inst by delegating to methods _user_name,
    # _debug_name, _definition_name. Note that because the 'or' is
    # short-circuited, we call as many of these as needed until one returns
    # True. We expect exactly one to return True, and assert that.
    assert (self._user_name(inst)
            or self._debug_name(inst)
            or self._definition_name(inst))
    self._instance_name_map[inst.name] = inst