def _has_valid_positional_setitem_indexer(self, indexer):
if isinstance(indexer, dict):<EOL><INDENT>raise IndexError("<STR_LIT>"<EOL>.format(self.name))<EOL><DEDENT>else:<EOL><INDENT>if not isinstance(indexer, tuple):<EOL><INDENT>indexer = self._tuplify(indexer)<EOL><DEDENT>for ax, i in zip(self.obj.axes, indexer):<EOL><INDENT>if isinstance(i, slice):<EOL><INDENT>pass<EOL><DEDENT>elif is_list_like_indexer(i):<EOL><INDENT>pass<EOL><DEDENT>elif is_integer(i):<EOL><INDENT>if i >= len(ax):<EOL><INDENT>raise IndexError("<STR_LIT>"<EOL>"<STR_LIT:object>".format(name=self.name))<EOL><DEDENT><DEDENT>elif isinstance(i, dict):<EOL><INDENT>raise IndexError("<STR_LIT>"<EOL>.format(name=self.name))<EOL><DEDENT><DEDENT><DEDENT>return True<EOL>
validate that an positional indexer cannot enlarge its target
        will raise if needed, does not modify the indexer externally