package org.python.core; public class PyEnumerate extends PyIterator { private long en_index; /* current index of enumeration */ private PyObject en_sit; /* secondary iterator of enumeration */ private PyTuple en_result; /* result tuple */ protected static PyObject __methods__; //~ BEGIN GENERATED REGION -- DO NOT EDIT SEE gexpose.py /* type info */ public static final String exposed_name="enumerate"; public static final Class exposed_base=PyObject.class; public static void typeSetup(PyObject dict,PyType.Newstyle marker) { class exposed_next extends PyBuiltinMethodNarrow { exposed_next(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_next(self,info); } public PyObject __call__() { return((PyEnumerate)self).enumerate_next(); } } dict.__setitem__("next",new PyMethodDescr("next",PyEnumerate.class,0,0,new exposed_next(null,null))); class exposed___iter__ extends PyBuiltinMethodNarrow { exposed___iter__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___iter__(self,info); } public PyObject __call__() { return((PyEnumerate)self).enumerate___iter__(); } } dict.__setitem__("__iter__",new PyMethodDescr("__iter__",PyEnumerate.class,0,0,new exposed___iter__(null,null))); dict.__setitem__("__new__",new PyNewWrapper(PyEnumerate.class,"__new__",-1,-1) { public PyObject new_impl(boolean init,PyType subtype,PyObject[]args,String[]keywords) { return enumerate_new(this,init,subtype,args,keywords); } }); } //~ END GENERATED REGION -- DO NOT EDIT SEE gexpose.py public PyObject enumerate_next() { return next(); } public PyObject enumerate___iter__() { return __iter__(); } public static PyEnumerate enumerate_new(PyObject new_, boolean init, PyType subtype, PyObject[] args, String[] keywords) { if (args.length != 1) { throw PyBuiltinFunction.DefaultInfo.unexpectedCall(args.length,false,exposed_name,0,1); } return new PyEnumerate(args[0]); } public PyEnumerate(PyObject seq) { en_index = 0; en_sit = seq.__iter__(); } public PyObject __iternext__() { PyObject next_item; PyObject next_index; next_item = en_sit.__iternext__(); if(next_item == null){ if(en_sit instanceof PyIterator && ((PyIterator)en_sit).stopException != null){ stopException = ((PyIterator)en_sit).stopException; } return null; } next_index = new PyInteger((int)en_index); en_index++; en_result = new PyTuple(new PyObject[] {next_index, next_item}); return en_result; } }