All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.python.core.PyClassMethod Maven / Gradle / Ivy
package org.python.core;
public class PyClassMethod extends PyObject implements PyType.Newstyle {
// xxx __init__
//~ BEGIN GENERATED REGION -- DO NOT EDIT SEE gexpose.py
/* type info */
public static final String exposed_name="classmethod";
public static void typeSetup(PyObject dict,PyType.Newstyle marker) {
class exposed___get__ extends PyBuiltinMethodNarrow {
exposed___get__(PyObject self,PyBuiltinFunction.Info info) {
super(self,info);
}
public PyBuiltinFunction bind(PyObject self) {
return new exposed___get__(self,info);
}
public PyObject __call__(PyObject arg0,PyObject arg1) {
return((PyClassMethod)self).classmethod___get__(arg0,arg1);
}
public PyObject __call__(PyObject arg0) {
return((PyClassMethod)self).classmethod___get__(arg0);
}
}
dict.__setitem__("__get__",new PyMethodDescr("__get__",PyClassMethod.class,1,2,new exposed___get__(null,null)));
dict.__setitem__("__new__",new PyNewWrapper(PyClassMethod.class,"__new__",1,1) {
public PyObject new_impl(boolean init,PyType subtype,PyObject[]args,String[]keywords) {
return classmethod_new(this,init,subtype,args,keywords);
}
});
}
//~ END GENERATED REGION -- DO NOT EDIT SEE gexpose.py
protected PyObject callable;
public PyClassMethod(PyObject callable) {
if (!callable.isCallable()) {
throw Py.TypeError("'" + callable.getType().fastGetName() + "' object is not callable");
}
this.callable = callable;
}
public PyObject __get__(PyObject obj) {
return classmethod___get__(obj, null);
}
public PyObject __get__(PyObject obj, PyObject type) {
return classmethod___get__(obj, type);
}
final PyObject classmethod___get__(PyObject obj) {
return classmethod___get__(obj, null);
}
final PyObject classmethod___get__(PyObject obj, PyObject type) {
if(type == null) {
type = obj.getType();
}
return new PyMethod(type, callable, type.getType());
}
final static PyObject classmethod_new(PyNewWrapper new_, boolean init, PyType subtype,
PyObject[] args, String[] keywords) {
if (keywords.length != 0) {
throw Py.TypeError("classmethod does not accept keyword arguments");
}
if (args.length != 1) {
throw Py.TypeError("classmethod expected 1 argument, got " + args.length);
}
return new PyClassMethod(args[0]);
}
}