package org.python.modules.sets; import java.util.Iterator; import org.python.core.Py; import org.python.core.PyBuiltinFunction; import org.python.core.PyBuiltinMethod; import org.python.core.PyBuiltinMethodNarrow; import org.python.core.PyException; import org.python.core.PyMethodDescr; import org.python.core.PyNewWrapper; import org.python.core.PyObject; import org.python.core.PyString; import org.python.core.PyType; public class PySet extends BaseSet { public PySet() { super(); } public PySet(PyType type) { super(type); } public PySet(PyObject data) { super(data); } //~ BEGIN GENERATED REGION -- DO NOT EDIT SEE gexpose.py /* type info */ public static final String exposed_name="Set"; public static final Class exposed_base=PyObject.class; public static void typeSetup(PyObject dict,PyType.Newstyle marker) { class exposed___ne__ extends PyBuiltinMethodNarrow { exposed___ne__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___ne__(self,info); } public PyObject __call__(PyObject arg0) { PyObject ret=((PySet)self).baseset___ne__(arg0); if (ret==null) return Py.NotImplemented; return ret; } } dict.__setitem__("__ne__",new PyMethodDescr("__ne__",PySet.class,1,1,new exposed___ne__(null,null))); class exposed___eq__ extends PyBuiltinMethodNarrow { exposed___eq__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___eq__(self,info); } public PyObject __call__(PyObject arg0) { PyObject ret=((PySet)self).baseset___eq__(arg0); if (ret==null) return Py.NotImplemented; return ret; } } dict.__setitem__("__eq__",new PyMethodDescr("__eq__",PySet.class,1,1,new exposed___eq__(null,null))); class exposed___or__ extends PyBuiltinMethodNarrow { exposed___or__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___or__(self,info); } public PyObject __call__(PyObject arg0) { PyObject ret=((PySet)self).baseset___or__(arg0); if (ret==null) return Py.NotImplemented; return ret; } } dict.__setitem__("__or__",new PyMethodDescr("__or__",PySet.class,1,1,new exposed___or__(null,null))); class exposed___xor__ extends PyBuiltinMethodNarrow { exposed___xor__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___xor__(self,info); } public PyObject __call__(PyObject arg0) { PyObject ret=((PySet)self).baseset___xor__(arg0); if (ret==null) return Py.NotImplemented; return ret; } } dict.__setitem__("__xor__",new PyMethodDescr("__xor__",PySet.class,1,1,new exposed___xor__(null,null))); class exposed___sub__ extends PyBuiltinMethodNarrow { exposed___sub__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___sub__(self,info); } public PyObject __call__(PyObject arg0) { PyObject ret=((PySet)self).baseset___sub__(arg0); if (ret==null) return Py.NotImplemented; return ret; } } dict.__setitem__("__sub__",new PyMethodDescr("__sub__",PySet.class,1,1,new exposed___sub__(null,null))); class exposed___and__ extends PyBuiltinMethodNarrow { exposed___and__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___and__(self,info); } public PyObject __call__(PyObject arg0) { PyObject ret=((PySet)self).baseset___and__(arg0); if (ret==null) return Py.NotImplemented; return ret; } } dict.__setitem__("__and__",new PyMethodDescr("__and__",PySet.class,1,1,new exposed___and__(null,null))); class exposed___gt__ extends PyBuiltinMethodNarrow { exposed___gt__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___gt__(self,info); } public PyObject __call__(PyObject arg0) { PyObject ret=((PySet)self).baseset___gt__(arg0); if (ret==null) return Py.NotImplemented; return ret; } } dict.__setitem__("__gt__",new PyMethodDescr("__gt__",PySet.class,1,1,new exposed___gt__(null,null))); class exposed___ge__ extends PyBuiltinMethodNarrow { exposed___ge__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___ge__(self,info); } public PyObject __call__(PyObject arg0) { PyObject ret=((PySet)self).baseset___ge__(arg0); if (ret==null) return Py.NotImplemented; return ret; } } dict.__setitem__("__ge__",new PyMethodDescr("__ge__",PySet.class,1,1,new exposed___ge__(null,null))); class exposed___le__ extends PyBuiltinMethodNarrow { exposed___le__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___le__(self,info); } public PyObject __call__(PyObject arg0) { PyObject ret=((PySet)self).baseset___le__(arg0); if (ret==null) return Py.NotImplemented; return ret; } } dict.__setitem__("__le__",new PyMethodDescr("__le__",PySet.class,1,1,new exposed___le__(null,null))); class exposed___lt__ extends PyBuiltinMethodNarrow { exposed___lt__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___lt__(self,info); } public PyObject __call__(PyObject arg0) { PyObject ret=((PySet)self).baseset___lt__(arg0); if (ret==null) return Py.NotImplemented; return ret; } } dict.__setitem__("__lt__",new PyMethodDescr("__lt__",PySet.class,1,1,new exposed___lt__(null,null))); class exposed___contains__ extends PyBuiltinMethodNarrow { exposed___contains__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___contains__(self,info); } public PyObject __call__(PyObject arg0) { return Py.newBoolean(((PySet)self).baseset___contains__(arg0)); } } dict.__setitem__("__contains__",new PyMethodDescr("__contains__",PySet.class,1,1,new exposed___contains__(null,null))); class exposed___deepcopy__ extends PyBuiltinMethodNarrow { exposed___deepcopy__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___deepcopy__(self,info); } public PyObject __call__(PyObject arg0) { return((PySet)self).baseset___deepcopy__(arg0); } } dict.__setitem__("__deepcopy__",new PyMethodDescr("__deepcopy__",PySet.class,1,1,new exposed___deepcopy__(null,null))); class exposed___nonzero__ extends PyBuiltinMethodNarrow { exposed___nonzero__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___nonzero__(self,info); } public PyObject __call__() { return Py.newBoolean(((PySet)self).baseset___nonzero__()); } } dict.__setitem__("__nonzero__",new PyMethodDescr("__nonzero__",PySet.class,0,0,new exposed___nonzero__(null,null))); class exposed_copy extends PyBuiltinMethodNarrow { exposed_copy(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_copy(self,info); } public PyObject __call__() { return((PySet)self).baseset_copy(); } } dict.__setitem__("copy",new PyMethodDescr("copy",PySet.class,0,0,new exposed_copy(null,null))); class exposed_union extends PyBuiltinMethodNarrow { exposed_union(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_union(self,info); } public PyObject __call__(PyObject arg0) { return((PySet)self).baseset_union(arg0); } } dict.__setitem__("union",new PyMethodDescr("union",PySet.class,1,1,new exposed_union(null,null))); class exposed_difference extends PyBuiltinMethodNarrow { exposed_difference(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_difference(self,info); } public PyObject __call__(PyObject arg0) { return((PySet)self).baseset_difference(arg0); } } dict.__setitem__("difference",new PyMethodDescr("difference",PySet.class,1,1,new exposed_difference(null,null))); class exposed_symmetric_difference extends PyBuiltinMethodNarrow { exposed_symmetric_difference(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_symmetric_difference(self,info); } public PyObject __call__(PyObject arg0) { return((PySet)self).baseset_symmetric_difference(arg0); } } dict.__setitem__("symmetric_difference",new PyMethodDescr("symmetric_difference",PySet.class,1,1,new exposed_symmetric_difference(null,null))); class exposed_intersection extends PyBuiltinMethodNarrow { exposed_intersection(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_intersection(self,info); } public PyObject __call__(PyObject arg0) { return((PySet)self).baseset_intersection(arg0); } } dict.__setitem__("intersection",new PyMethodDescr("intersection",PySet.class,1,1,new exposed_intersection(null,null))); class exposed_issubset extends PyBuiltinMethodNarrow { exposed_issubset(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_issubset(self,info); } public PyObject __call__(PyObject arg0) { return((PySet)self).baseset_issubset(arg0); } } dict.__setitem__("issubset",new PyMethodDescr("issubset",PySet.class,1,1,new exposed_issubset(null,null))); class exposed_issuperset extends PyBuiltinMethodNarrow { exposed_issuperset(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_issuperset(self,info); } public PyObject __call__(PyObject arg0) { return((PySet)self).baseset_issuperset(arg0); } } dict.__setitem__("issuperset",new PyMethodDescr("issuperset",PySet.class,1,1,new exposed_issuperset(null,null))); class exposed___len__ extends PyBuiltinMethodNarrow { exposed___len__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___len__(self,info); } public PyObject __call__() { return Py.newInteger(((PySet)self).baseset___len__()); } } dict.__setitem__("__len__",new PyMethodDescr("__len__",PySet.class,0,0,new exposed___len__(null,null))); class exposed___reduce__ extends PyBuiltinMethodNarrow { exposed___reduce__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___reduce__(self,info); } public PyObject __call__() { return((PySet)self).baseset___reduce__(); } } dict.__setitem__("__reduce__",new PyMethodDescr("__reduce__",PySet.class,0,0,new exposed___reduce__(null,null))); class exposed___hash__ extends PyBuiltinMethodNarrow { exposed___hash__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___hash__(self,info); } public PyObject __call__() { return Py.newInteger(((PySet)self).Set_hashCode()); } } dict.__setitem__("__hash__",new PyMethodDescr("__hash__",PySet.class,0,0,new exposed___hash__(null,null))); class exposed___repr__ extends PyBuiltinMethodNarrow { exposed___repr__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___repr__(self,info); } public PyObject __call__() { return new PyString(((PySet)self).baseset_toString()); } } dict.__setitem__("__repr__",new PyMethodDescr("__repr__",PySet.class,0,0,new exposed___repr__(null,null))); class exposed_add extends PyBuiltinMethodNarrow { exposed_add(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_add(self,info); } public PyObject __call__(PyObject arg0) { ((PySet)self).Set_add(arg0); return Py.None; } } dict.__setitem__("add",new PyMethodDescr("add",PySet.class,1,1,new exposed_add(null,null))); class exposed_remove extends PyBuiltinMethodNarrow { exposed_remove(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_remove(self,info); } public PyObject __call__(PyObject arg0) { ((PySet)self).Set_remove(arg0); return Py.None; } } dict.__setitem__("remove",new PyMethodDescr("remove",PySet.class,1,1,new exposed_remove(null,null))); class exposed_discard extends PyBuiltinMethodNarrow { exposed_discard(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_discard(self,info); } public PyObject __call__(PyObject arg0) { ((PySet)self).Set_discard(arg0); return Py.None; } } dict.__setitem__("discard",new PyMethodDescr("discard",PySet.class,1,1,new exposed_discard(null,null))); class exposed_pop extends PyBuiltinMethodNarrow { exposed_pop(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_pop(self,info); } public PyObject __call__() { return((PySet)self).Set_pop(); } } dict.__setitem__("pop",new PyMethodDescr("pop",PySet.class,0,0,new exposed_pop(null,null))); class exposed_clear extends PyBuiltinMethodNarrow { exposed_clear(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_clear(self,info); } public PyObject __call__() { ((PySet)self).Set_clear(); return Py.None; } } dict.__setitem__("clear",new PyMethodDescr("clear",PySet.class,0,0,new exposed_clear(null,null))); class exposed_update extends PyBuiltinMethodNarrow { exposed_update(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_update(self,info); } public PyObject __call__(PyObject arg0) { ((PySet)self).Set_update(arg0); return Py.None; } } dict.__setitem__("update",new PyMethodDescr("update",PySet.class,1,1,new exposed_update(null,null))); class exposed_union_update extends PyBuiltinMethodNarrow { exposed_union_update(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_union_update(self,info); } public PyObject __call__(PyObject arg0) { ((PySet)self).Set_union_update(arg0); return Py.None; } } dict.__setitem__("union_update",new PyMethodDescr("union_update",PySet.class,1,1,new exposed_union_update(null,null))); class exposed_intersection_update extends PyBuiltinMethodNarrow { exposed_intersection_update(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_intersection_update(self,info); } public PyObject __call__(PyObject arg0) { ((PySet)self).Set_intersection_update(arg0); return Py.None; } } dict.__setitem__("intersection_update",new PyMethodDescr("intersection_update",PySet.class,1,1,new exposed_intersection_update(null,null))); class exposed_symmetric_difference_update extends PyBuiltinMethodNarrow { exposed_symmetric_difference_update(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_symmetric_difference_update(self,info); } public PyObject __call__(PyObject arg0) { ((PySet)self).Set_symmetric_difference_update(arg0); return Py.None; } } dict.__setitem__("symmetric_difference_update",new PyMethodDescr("symmetric_difference_update",PySet.class,1,1,new exposed_symmetric_difference_update(null,null))); class exposed_difference_update extends PyBuiltinMethodNarrow { exposed_difference_update(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed_difference_update(self,info); } public PyObject __call__(PyObject arg0) { ((PySet)self).Set_difference_update(arg0); return Py.None; } } dict.__setitem__("difference_update",new PyMethodDescr("difference_update",PySet.class,1,1,new exposed_difference_update(null,null))); class exposed__as_immutable extends PyBuiltinMethodNarrow { exposed__as_immutable(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed__as_immutable(self,info); } public PyObject __call__() { return((PySet)self).Set__as_immutable(); } } dict.__setitem__("_as_immutable",new PyMethodDescr("_as_immutable",PySet.class,0,0,new exposed__as_immutable(null,null))); class exposed___init__ extends PyBuiltinMethod { exposed___init__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___init__(self,info); } public PyObject __call__(PyObject[]args) { return __call__(args,Py.NoKeywords); } public PyObject __call__(PyObject[]args,String[]keywords) { ((PySet)self).Set_init(args,keywords); return Py.None; } } dict.__setitem__("__init__",new PyMethodDescr("__init__",PySet.class,-1,-1,new exposed___init__(null,null))); dict.__setitem__("__new__",new PyNewWrapper(PySet.class,"__new__",-1,-1) { public PyObject new_impl(boolean init,PyType subtype,PyObject[]args,String[]keywords) { PySet newobj; if (for_type==subtype) { newobj=new PySet(); if (init) newobj.Set_init(args,keywords); } else { newobj=new PySetDerived(subtype); } return newobj; } }); } //~ END GENERATED REGION -- DO NOT EDIT SEE gexpose.py final void Set_init(PyObject[] args, String[] kwds) { int nargs = args.length - kwds.length; if (nargs > 1) { throw PyBuiltinFunction.DefaultInfo.unexpectedCall(nargs, false, exposed_name, 0, 1); } if (nargs == 0) { return; } PyObject o = args[0]; _update(o); } public PyObject __ior__(PyObject other) { return Set___ior__(other); } final PyObject Set___ior__(PyObject other) { BaseSet bs = this._binary_sanity_check(other); this._set.addAll(bs._set); return this; } public PyObject __ixor__(PyObject other) { return Set___ixor__(other); } final PyObject Set___ixor__(PyObject other) { this._binary_sanity_check(other); Set_symmetric_difference_update(other); return this; } public PyObject __iand__(PyObject other) { return Set___iand__(other); } final PyObject Set___iand__(PyObject other) { BaseSet bs = this._binary_sanity_check(other); this._set = ((BaseSet) this.__and__(bs))._set; return this; } public PyObject __isub__(PyObject other) { return Set___isub__(other); } final PyObject Set___isub__(PyObject other) { BaseSet bs = this._binary_sanity_check(other); this._set.removeAll(bs._set); return this; } public int hashCode() { return Set_hashCode(); } final int Set_hashCode() { throw Py.TypeError("Can't hash a Set, only an ImmutableSet."); } final void Set_add(PyObject o) { try { this._set.add(o); } catch (PyException e) { PyObject immutable = this.asImmutable(e, o); this._set.add(immutable); } } final void Set_remove(PyObject o) { boolean b = false; try { b = this._set.remove(o); } catch (PyException e) { PyObject immutable = this.asImmutable(e, o); b = this._set.remove(immutable); } if (!b) { throw new PyException(Py.LookupError, o.toString()); } } final void Set_discard(PyObject o) { try { this._set.remove(o); } catch (PyException e) { PyObject immutable = this.asImmutable(e, o); this._set.remove(immutable); } } final PyObject Set_pop() { Iterator iterator = this._set.iterator(); Object first = iterator.next(); this._set.remove(first); return (PyObject) first; } final void Set_clear() { this._set.clear(); } final void Set_update(PyObject data) { this._update(data); } final void Set_union_update(PyObject other) { this._update(other); } final void Set_intersection_update(PyObject other) { if (other instanceof BaseSet) { this.__iand__(other); } else { BaseSet set = (BaseSet) baseset_intersection(other); this._set = set._set; } } final void Set_symmetric_difference_update(PyObject other) { BaseSet bs = (other instanceof BaseSet) ? (BaseSet) other : new PySet(other); for (Iterator iterator = bs._set.iterator(); iterator.hasNext();) { Object o = iterator.next(); if (this._set.contains(o)) { this._set.remove(o); } else { this._set.add(o); } } } final void Set_difference_update(PyObject other) { if (other instanceof BaseSet) { this.__isub__(other); return; } PyObject iter = other.__iter__(); for (PyObject o; (o = iter.__iternext__()) != null;) { if (this.__contains__(o)) { this._set.remove(o); } } } final PyObject Set__as_immutable() { return new PyImmutableSet(this); } }