def igetattr(self, attrname, context=None):
if attrname == "<STR_LIT:start>":<EOL><INDENT>yield self._wrap_attribute(self.lower)<EOL><DEDENT>elif attrname == "<STR_LIT>":<EOL><INDENT>yield self._wrap_attribute(self.upper)<EOL><DEDENT>elif attrname == "<STR_LIT>":<EOL><INDENT>yield self._wrap_attribute(self.step)<EOL><DEDENT>else:<EOL><INDENT>yield from self.getattr(attrname, context=context)<EOL><DEDENT>
Infer the possible values of the given attribute on the slice.

        :param attrname: The name of the attribute to infer.
        :type attrname: str

        :returns: The inferred possible values.
        :rtype: iterable(NodeNG)