org.python.core.PyEnumerate Maven / Gradle / Ivy
Go to download
Jython is an implementation of the high-level, dynamic, object-oriented
language Python written in 100% Pure Java, and seamlessly integrated with
the Java platform. It thus allows you to run Python on any Java platform.
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;
}
}