template<typename T> class JArray : public java::lang::Object {
public:
- int length;
+ Py_ssize_t length;
explicit JArray<T>(jobject obj) : java::lang::Object(obj) {
length = this$ ? env->getArrayLength((jobjectArray) this$) : 0;
PyObject *list = PyList_New(length);
- for (int i = 0; i < length; i++)
+ for (Py_ssize_t i = 0; i < length; i++)
PyList_SET_ITEM(list, i, (*wrapfn)((*this)[i]));
return list;
}
- PyObject *get(int n, PyObject *(*wrapfn)(const T&))
+ PyObject *get(Py_ssize_t n, PyObject *(*wrapfn)(const T&))
{
if (this$ != NULL)
{
}
#endif
- T operator[](int n) {
+ T operator[](Py_ssize_t n) {
return T(env->getObjectArrayElement((jobjectArray) this$, n));
}
};
template<> class JArray<jobject> : public java::lang::Object {
public:
- int length;
+ Py_ssize_t length;
- JArray<jobject>(jclass cls, int n) : java::lang::Object(env->get_vm_env()->NewObjectArray(n, cls, NULL)) {
+ JArray<jobject>(jclass cls, Py_ssize_t n) : java::lang::Object(env->get_vm_env()->NewObjectArray(n, cls, NULL)) {
length = env->getArrayLength((jobjectArray) this$);
}
return toSequence(0, length, wrapfn);
}
- PyObject *toSequence(int lo, int hi, PyObject *(*wrapfn)(const jobject&))
+ PyObject *toSequence(Py_ssize_t lo, Py_ssize_t hi,
+ PyObject *(*wrapfn)(const jobject&))
{
if (this$ == NULL)
Py_RETURN_NONE;
if (!wrapfn)
wrapfn = java::lang::t_Object::wrap_jobject;
- for (int i = lo; i < hi; i++) {
+ for (Py_ssize_t i = lo; i < hi; i++) {
jobject jobj = env->getObjectArrayElement((jobjectArray) this$, i);
PyObject *obj = (*wrapfn)(jobj);
return list;
}
- PyObject *get(int n, PyObject *(*wrapfn)(const jobject&))
+ PyObject *get(Py_ssize_t n, PyObject *(*wrapfn)(const jobject&))
{
if (this$ != NULL)
{
return NULL;
}
- int set(int n, PyObject *obj)
+ int set(Py_ssize_t n, PyObject *obj)
{
if (this$ != NULL)
{
PyObject *wrap(PyObject *(*wrapfn)(const jobject&));
#endif
- jobject operator[](int n) {
+ jobject operator[](Py_ssize_t n) {
return (jobject) env->getObjectArrayElement((jobjectArray) this$, n);
}
};
template<> class JArray<jstring> : public java::lang::Object {
public:
- int length;
+ Py_ssize_t length;
JArray<jstring>(jobject obj) : java::lang::Object(obj) {
length = this$ ? env->getArrayLength((jobjectArray) this$) : 0;
length = obj.length;
}
- JArray<jstring>(int n) : java::lang::Object(env->get_vm_env()->NewObjectArray(n, env->findClass("java/lang/String"), NULL)) {
+ JArray<jstring>(Py_ssize_t n) : java::lang::Object(env->get_vm_env()->NewObjectArray(n, env->findClass("java/lang/String"), NULL)) {
length = env->getArrayLength((jobjectArray) this$);
}
JArray<jstring>(PyObject *sequence) : java::lang::Object(env->get_vm_env()->NewObjectArray(PySequence_Length(sequence), env->findClass("java/lang/String"), NULL)) {
length = env->getArrayLength((jobjectArray) this$);
- for (int i = 0; i < length; i++) {
+ for (Py_ssize_t i = 0; i < length; i++) {
PyObject *obj = PySequence_GetItem(sequence, i);
if (obj == NULL)
return toSequence(0, length);
}
- PyObject *toSequence(int lo, int hi)
+ PyObject *toSequence(Py_ssize_t lo, Py_ssize_t hi)
{
if (this$ == NULL)
Py_RETURN_NONE;
PyObject *list = PyList_New(hi - lo);
- for (int i = lo; i < hi; i++) {
+ for (Py_ssize_t i = lo; i < hi; i++) {
jstring str = (jstring)
env->getObjectArrayElement((jobjectArray) this$, i);
PyObject *obj = env->fromJString(str, 1);
return list;
}
- PyObject *get(int n)
+ PyObject *get(Py_ssize_t n)
{
if (this$ != NULL)
{
return NULL;
}
- int set(int n, PyObject *obj)
+ int set(Py_ssize_t n, PyObject *obj)
{
if (this$ != NULL)
{
PyObject *wrap() const;
#endif
- jstring operator[](int n) {
+ jstring operator[](Py_ssize_t n) {
return (jstring) env->getObjectArrayElement((jobjectArray) this$, n);
}
};
template<> class JArray<jboolean> : public java::lang::Object {
public:
- int length;
+ Py_ssize_t length;
class arrayElements {
private:
length = obj.length;
}
- JArray<jboolean>(int n) : java::lang::Object(env->get_vm_env()->NewBooleanArray(n)) {
+ JArray<jboolean>(Py_ssize_t n) : java::lang::Object(env->get_vm_env()->NewBooleanArray(n)) {
length = env->getArrayLength((jarray) this$);
}
arrayElements elts = elements();
jboolean *buf = (jboolean *) elts;
- for (int i = 0; i < length; i++) {
+ for (Py_ssize_t i = 0; i < length; i++) {
PyObject *obj = PySequence_GetItem(sequence, i);
if (!obj)
return toSequence(0, length);
}
- PyObject *toSequence(int lo, int hi)
+ PyObject *toSequence(Py_ssize_t lo, Py_ssize_t hi)
{
if (this$ == NULL)
Py_RETURN_NONE;
arrayElements elts = elements();
jboolean *buf = (jboolean *) elts;
- for (int i = lo; i < hi; i++) {
+ for (Py_ssize_t i = lo; i < hi; i++) {
jboolean value = buf[i];
PyObject *obj = value ? Py_True : Py_False;
return list;
}
- PyObject *get(int n)
+ PyObject *get(Py_ssize_t n)
{
if (this$ != NULL)
{
return NULL;
}
- int set(int n, PyObject *obj)
+ int set(Py_ssize_t n, PyObject *obj)
{
if (this$ != NULL)
{
PyObject *wrap() const;
#endif
- jboolean operator[](int n) {
+ jboolean operator[](Py_ssize_t n) {
JNIEnv *vm_env = env->get_vm_env();
jboolean isCopy = 0;
jboolean *elts = (jboolean *)
template<> class JArray<jbyte> : public java::lang::Object {
public:
- int length;
+ Py_ssize_t length;
class arrayElements {
private:
length = obj.length;
}
- JArray<jbyte>(int n) : java::lang::Object(env->get_vm_env()->NewByteArray(n)) {
+ JArray<jbyte>(Py_ssize_t n) : java::lang::Object(env->get_vm_env()->NewByteArray(n)) {
length = env->getArrayLength((jarray) this$);
}
if (PyString_Check(sequence))
memcpy(buf, PyString_AS_STRING(sequence), length);
else
- for (int i = 0; i < length; i++) {
+ for (Py_ssize_t i = 0; i < length; i++) {
PyObject *obj = PySequence_GetItem(sequence, i);
if (!obj)
return toSequence(0, length);
}
- PyObject *toSequence(int lo, int hi)
+ PyObject *toSequence(Py_ssize_t lo, Py_ssize_t hi)
{
if (this$ == NULL)
Py_RETURN_NONE;
jbyte *buf = (jbyte *) elts;
PyObject *tuple = PyTuple_New(hi - lo);
- for (int i = 0; i < hi - lo; i++)
+ for (Py_ssize_t i = 0; i < hi - lo; i++)
PyTuple_SET_ITEM(tuple, i, PyInt_FromLong(buf[lo + i]));
return tuple;
return PyString_FromStringAndSize((char *) buf, length);
}
- PyObject *get(int n)
+ PyObject *get(Py_ssize_t n)
{
if (this$ != NULL)
{
return NULL;
}
- int set(int n, PyObject *obj)
+ int set(Py_ssize_t n, PyObject *obj)
{
if (this$ != NULL)
{
PyObject *wrap() const;
#endif
- jbyte operator[](int n) {
+ jbyte operator[](Py_ssize_t n) {
JNIEnv *vm_env = env->get_vm_env();
jboolean isCopy = 0;
jbyte *elts = (jbyte *)
template<> class JArray<jchar> : public java::lang::Object {
public:
- int length;
+ Py_ssize_t length;
class arrayElements {
private:
length = obj.length;
}
- JArray<jchar>(int n) : java::lang::Object(env->get_vm_env()->NewCharArray(n)) {
+ JArray<jchar>(Py_ssize_t n) : java::lang::Object(env->get_vm_env()->NewCharArray(n)) {
length = env->getArrayLength((jarray) this$);
}
else
{
Py_UNICODE *pchars = PyUnicode_AS_UNICODE(sequence);
- for (int i = 0; i < length; i++)
+ for (Py_ssize_t i = 0; i < length; i++)
buf[i] = (jchar) pchars[i];
}
}
else
- for (int i = 0; i < length; i++) {
+ for (Py_ssize_t i = 0; i < length; i++) {
PyObject *obj = PySequence_GetItem(sequence, i);
if (!obj)
return toSequence(0, length);
}
- PyObject *toSequence(int lo, int hi)
+ PyObject *toSequence(Py_ssize_t lo, Py_ssize_t hi)
{
if (this$ == NULL)
Py_RETURN_NONE;
PyObject *string = PyUnicode_FromUnicode(NULL, hi - lo);
Py_UNICODE *pchars = PyUnicode_AS_UNICODE(string);
- for (int i = lo; i < hi; i++)
+ for (Py_ssize_t i = lo; i < hi; i++)
pchars[i - lo] = (Py_UNICODE) buf[i];
return string;
}
}
- PyObject *get(int n)
+ PyObject *get(Py_ssize_t n)
{
if (this$ != NULL)
{
return NULL;
}
- int set(int n, PyObject *obj)
+ int set(Py_ssize_t n, PyObject *obj)
{
if (this$ != NULL)
{
PyObject *wrap() const;
#endif
- jchar operator[](int n) {
+ jchar operator[](Py_ssize_t n) {
JNIEnv *vm_env = env->get_vm_env();
jboolean isCopy = 0;
jchar *elts = (jchar *)
template<> class JArray<jdouble> : public java::lang::Object {
public:
- int length;
+ Py_ssize_t length;
class arrayElements {
private:
length = obj.length;
}
- JArray<jdouble>(int n) : java::lang::Object(env->get_vm_env()->NewDoubleArray(n)) {
+ JArray<jdouble>(Py_ssize_t n) : java::lang::Object(env->get_vm_env()->NewDoubleArray(n)) {
length = env->getArrayLength((jarray) this$);
}
arrayElements elts = elements();
jdouble *buf = (jdouble *) elts;
- for (int i = 0; i < length; i++) {
+ for (Py_ssize_t i = 0; i < length; i++) {
PyObject *obj = PySequence_GetItem(sequence, i);
if (!obj)
return toSequence(0, length);
}
- PyObject *toSequence(int lo, int hi)
+ PyObject *toSequence(Py_ssize_t lo, Py_ssize_t hi)
{
if (this$ == NULL)
Py_RETURN_NONE;
arrayElements elts = elements();
jdouble *buf = (jdouble *) elts;
- for (int i = lo; i < hi; i++)
+ for (Py_ssize_t i = lo; i < hi; i++)
PyList_SET_ITEM(list, i - lo, PyFloat_FromDouble((double) buf[i]));
return list;
}
- PyObject *get(int n)
+ PyObject *get(Py_ssize_t n)
{
if (this$ != NULL)
{
return NULL;
}
- int set(int n, PyObject *obj)
+ int set(Py_ssize_t n, PyObject *obj)
{
if (this$ != NULL)
{
PyObject *wrap() const;
#endif
- jdouble operator[](int n) {
+ jdouble operator[](Py_ssize_t n) {
JNIEnv *vm_env = env->get_vm_env();
jboolean isCopy = 0;
jdouble *elts = (jdouble *)
template<> class JArray<jfloat> : public java::lang::Object {
public:
- int length;
+ Py_ssize_t length;
class arrayElements {
private:
length = obj.length;
}
- JArray<jfloat>(int n) : java::lang::Object(env->get_vm_env()->NewFloatArray(n)) {
+ JArray<jfloat>(Py_ssize_t n) : java::lang::Object(env->get_vm_env()->NewFloatArray(n)) {
length = env->getArrayLength((jarray) this$);
}
arrayElements elts = elements();
jfloat *buf = (jfloat *) elts;
- for (int i = 0; i < length; i++) {
+ for (Py_ssize_t i = 0; i < length; i++) {
PyObject *obj = PySequence_GetItem(sequence, i);
if (!obj)
return toSequence(0, length);
}
- PyObject *toSequence(int lo, int hi)
+ PyObject *toSequence(Py_ssize_t lo, Py_ssize_t hi)
{
if (this$ == NULL)
Py_RETURN_NONE;
arrayElements elts = elements();
jfloat *buf = (jfloat *) elts;
- for (int i = lo; i < hi; i++)
+ for (Py_ssize_t i = lo; i < hi; i++)
PyList_SET_ITEM(list, i - lo, PyFloat_FromDouble((double) buf[i]));
return list;
}
- PyObject *get(int n)
+ PyObject *get(Py_ssize_t n)
{
if (this$ != NULL)
{
return NULL;
}
- int set(int n, PyObject *obj)
+ int set(Py_ssize_t n, PyObject *obj)
{
if (this$ != NULL)
{
PyObject *wrap() const;
#endif
- jfloat operator[](int n) {
+ jfloat operator[](Py_ssize_t n) {
JNIEnv *vm_env = env->get_vm_env();
jboolean isCopy = 0;
jfloat *elts = (jfloat *)
template<> class JArray<jint> : public java::lang::Object {
public:
- int length;
+ Py_ssize_t length;
class arrayElements {
private:
length = obj.length;
}
- JArray<jint>(int n) : java::lang::Object(env->get_vm_env()->NewIntArray(n)) {
+ JArray<jint>(Py_ssize_t n) : java::lang::Object(env->get_vm_env()->NewIntArray(n)) {
length = env->getArrayLength((jarray) this$);
}
arrayElements elts = elements();
jint *buf = (jint *) elts;
- for (int i = 0; i < length; i++) {
+ for (Py_ssize_t i = 0; i < length; i++) {
PyObject *obj = PySequence_GetItem(sequence, i);
if (!obj)
return toSequence(0, length);
}
- PyObject *toSequence(int lo, int hi)
+ PyObject *toSequence(Py_ssize_t lo, Py_ssize_t hi)
{
if (this$ == NULL)
Py_RETURN_NONE;
arrayElements elts = elements();
jint *buf = (jint *) elts;
- for (int i = lo; i < hi; i++)
+ for (Py_ssize_t i = lo; i < hi; i++)
PyList_SET_ITEM(list, i - lo, PyInt_FromLong(buf[i]));
return list;
}
- PyObject *get(int n)
+ PyObject *get(Py_ssize_t n)
{
if (this$ != NULL)
{
return NULL;
}
- int set(int n, PyObject *obj)
+ int set(Py_ssize_t n, PyObject *obj)
{
if (this$ != NULL)
{
PyObject *wrap() const;
#endif
- jint operator[](int n) {
+ jint operator[](Py_ssize_t n) {
JNIEnv *vm_env = env->get_vm_env();
jboolean isCopy = 0;
jint *elts = (jint *)
template<> class JArray<jlong> : public java::lang::Object {
public:
- int length;
+ Py_ssize_t length;
class arrayElements {
private:
length = obj.length;
}
- JArray<jlong>(int n) : java::lang::Object(env->get_vm_env()->NewLongArray(n)) {
+ JArray<jlong>(Py_ssize_t n) : java::lang::Object(env->get_vm_env()->NewLongArray(n)) {
length = env->getArrayLength((jarray) this$);
}
arrayElements elts = elements();
jlong *buf = (jlong *) elts;
- for (int i = 0; i < length; i++) {
+ for (Py_ssize_t i = 0; i < length; i++) {
PyObject *obj = PySequence_GetItem(sequence, i);
if (!obj)
return toSequence(0, length);
}
- PyObject *toSequence(int lo, int hi)
+ PyObject *toSequence(Py_ssize_t lo, Py_ssize_t hi)
{
if (this$ == NULL)
Py_RETURN_NONE;
arrayElements elts = elements();
jlong *buf = (jlong *) elts;
- for (int i = lo; i < hi; i++)
+ for (Py_ssize_t i = lo; i < hi; i++)
PyList_SET_ITEM(list, i - lo, PyLong_FromLongLong((long long) buf[i]));
return list;
}
- PyObject *get(int n)
+ PyObject *get(Py_ssize_t n)
{
if (this$ != NULL)
{
return NULL;
}
- int set(int n, PyObject *obj)
+ int set(Py_ssize_t n, PyObject *obj)
{
if (this$ != NULL)
{
template<> class JArray<jshort> : public java::lang::Object {
public:
- int length;
+ Py_ssize_t length;
class arrayElements {
private:
length = obj.length;
}
- JArray<jshort>(int n) : java::lang::Object(env->get_vm_env()->NewShortArray(n)) {
+ JArray<jshort>(Py_ssize_t n) : java::lang::Object(env->get_vm_env()->NewShortArray(n)) {
length = env->getArrayLength((jarray) this$);
}
arrayElements elts = elements();
jshort *buf = (jshort *) elts;
- for (int i = 0; i < length; i++) {
+ for (Py_ssize_t i = 0; i < length; i++) {
PyObject *obj = PySequence_GetItem(sequence, i);
if (!obj)
return toSequence(0, length);
}
- PyObject *toSequence(int lo, int hi)
+ PyObject *toSequence(Py_ssize_t lo, Py_ssize_t hi)
{
if (this$ == NULL)
Py_RETURN_NONE;
arrayElements elts = elements();
jshort *buf = (jshort *) elts;
- for (int i = lo; i < hi; i++)
+ for (Py_ssize_t i = lo; i < hi; i++)
PyList_SET_ITEM(list, i - lo, PyInt_FromLong(buf[i]));
return list;
}
- PyObject *get(int n)
+ PyObject *get(Py_ssize_t n)
{
if (this$ != NULL)
{
return NULL;
}
- int set(int n, PyObject *obj)
+ int set(Py_ssize_t n, PyObject *obj)
{
if (this$ != NULL)
{
PyObject *wrap() const;
#endif
- jshort operator[](int n) {
+ jshort operator[](Py_ssize_t n) {
JNIEnv *vm_env = env->get_vm_env();
jboolean isCopy = 0;
jshort *elts = (jshort *)