mirror of
https://github.com/godotengine/godot.git
synced 2025-10-25 18:54:43 +00:00
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
This commit is contained in:
parent
64a63e0861
commit
b5e1e05ef2
1439 changed files with 1 additions and 34187 deletions
|
|
@ -33,7 +33,6 @@
|
|||
#include "thread_jandroid.h"
|
||||
|
||||
bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method, const Variant **p_args, int p_argcount, Variant::CallError &r_error, Variant &ret) {
|
||||
|
||||
Map<StringName, List<MethodInfo>>::Element *M = methods.find(p_method);
|
||||
if (!M)
|
||||
return false;
|
||||
|
|
@ -43,7 +42,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
MethodInfo *method = NULL;
|
||||
for (List<MethodInfo>::Element *E = M->get().front(); E; E = E->next()) {
|
||||
|
||||
if (!p_instance && !E->get()._static) {
|
||||
r_error.error = Variant::CallError::CALL_ERROR_INSTANCE_IS_NULL;
|
||||
continue;
|
||||
|
|
@ -51,13 +49,11 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
int pc = E->get().param_types.size();
|
||||
if (pc > p_argcount) {
|
||||
|
||||
r_error.error = Variant::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
|
||||
r_error.argument = pc;
|
||||
continue;
|
||||
}
|
||||
if (pc < p_argcount) {
|
||||
|
||||
r_error.error = Variant::CallError::CALL_ERROR_TOO_MANY_ARGUMENTS;
|
||||
r_error.argument = pc;
|
||||
continue;
|
||||
|
|
@ -66,10 +62,8 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
bool valid = true;
|
||||
|
||||
for (int i = 0; i < pc; i++) {
|
||||
|
||||
Variant::Type arg_expected = Variant::NIL;
|
||||
switch (ptypes[i]) {
|
||||
|
||||
case ARG_TYPE_VOID: {
|
||||
//bug?
|
||||
} break;
|
||||
|
|
@ -87,7 +81,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
case ARG_TYPE_SHORT:
|
||||
case ARG_TYPE_INT:
|
||||
case ARG_TYPE_LONG: {
|
||||
|
||||
if (!p_args[i]->is_num())
|
||||
arg_expected = Variant::INT;
|
||||
|
||||
|
|
@ -96,32 +89,26 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
case ARG_NUMBER_CLASS_BIT | ARG_TYPE_DOUBLE:
|
||||
case ARG_TYPE_FLOAT:
|
||||
case ARG_TYPE_DOUBLE: {
|
||||
|
||||
if (!p_args[i]->is_num())
|
||||
arg_expected = Variant::REAL;
|
||||
|
||||
} break;
|
||||
case ARG_TYPE_STRING: {
|
||||
|
||||
if (p_args[i]->get_type() != Variant::STRING)
|
||||
arg_expected = Variant::STRING;
|
||||
|
||||
} break;
|
||||
case ARG_TYPE_CLASS: {
|
||||
|
||||
if (p_args[i]->get_type() != Variant::OBJECT)
|
||||
arg_expected = Variant::OBJECT;
|
||||
else {
|
||||
|
||||
Ref<Reference> ref = *p_args[i];
|
||||
if (!ref.is_null()) {
|
||||
if (Object::cast_to<JavaObject>(ref.ptr())) {
|
||||
|
||||
Ref<JavaObject> jo = ref;
|
||||
//could be faster
|
||||
jclass c = env->FindClass(E->get().param_sigs[i].operator String().utf8().get_data());
|
||||
if (!c || !env->IsInstanceOf(jo->instance, c)) {
|
||||
|
||||
arg_expected = Variant::OBJECT;
|
||||
} else {
|
||||
//ok
|
||||
|
|
@ -134,7 +121,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
default: {
|
||||
|
||||
if (p_args[i]->get_type() != Variant::ARRAY)
|
||||
arg_expected = Variant::ARRAY;
|
||||
|
||||
|
|
@ -164,13 +150,11 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
jvalue *argv = NULL;
|
||||
|
||||
if (method->param_types.size()) {
|
||||
|
||||
argv = (jvalue *)alloca(sizeof(jvalue) * method->param_types.size());
|
||||
}
|
||||
|
||||
List<jobject> to_free;
|
||||
for (int i = 0; i < method->param_types.size(); i++) {
|
||||
|
||||
switch (method->param_types[i]) {
|
||||
case ARG_TYPE_VOID: {
|
||||
//can't happen
|
||||
|
|
@ -280,10 +264,8 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
to_free.push_back(jStr);
|
||||
} break;
|
||||
case ARG_TYPE_CLASS: {
|
||||
|
||||
Ref<JavaObject> jo = *p_args[i];
|
||||
if (jo.is_valid()) {
|
||||
|
||||
argv[i].l = jo->instance;
|
||||
} else {
|
||||
argv[i].l = NULL; //I hope this works
|
||||
|
|
@ -291,7 +273,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_BOOLEAN: {
|
||||
|
||||
Array arr = *p_args[i];
|
||||
jbooleanArray a = env->NewBooleanArray(arr.size());
|
||||
for (int j = 0; j < arr.size(); j++) {
|
||||
|
|
@ -303,7 +284,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_BYTE: {
|
||||
|
||||
Array arr = *p_args[i];
|
||||
jbyteArray a = env->NewByteArray(arr.size());
|
||||
for (int j = 0; j < arr.size(); j++) {
|
||||
|
|
@ -315,7 +295,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_CHAR: {
|
||||
|
||||
Array arr = *p_args[i];
|
||||
jcharArray a = env->NewCharArray(arr.size());
|
||||
for (int j = 0; j < arr.size(); j++) {
|
||||
|
|
@ -327,7 +306,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_SHORT: {
|
||||
|
||||
Array arr = *p_args[i];
|
||||
jshortArray a = env->NewShortArray(arr.size());
|
||||
for (int j = 0; j < arr.size(); j++) {
|
||||
|
|
@ -339,7 +317,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_INT: {
|
||||
|
||||
Array arr = *p_args[i];
|
||||
jintArray a = env->NewIntArray(arr.size());
|
||||
for (int j = 0; j < arr.size(); j++) {
|
||||
|
|
@ -361,7 +338,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_FLOAT: {
|
||||
|
||||
Array arr = *p_args[i];
|
||||
jfloatArray a = env->NewFloatArray(arr.size());
|
||||
for (int j = 0; j < arr.size(); j++) {
|
||||
|
|
@ -373,7 +349,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_DOUBLE: {
|
||||
|
||||
Array arr = *p_args[i];
|
||||
jdoubleArray a = env->NewDoubleArray(arr.size());
|
||||
for (int j = 0; j < arr.size(); j++) {
|
||||
|
|
@ -385,11 +360,9 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_STRING: {
|
||||
|
||||
Array arr = *p_args[i];
|
||||
jobjectArray a = env->NewObjectArray(arr.size(), env->FindClass("java/lang/String"), NULL);
|
||||
for (int j = 0; j < arr.size(); j++) {
|
||||
|
||||
String s = arr[j];
|
||||
jstring jStr = env->NewStringUTF(s.utf8().get_data());
|
||||
env->SetObjectArrayElement(a, j, jStr);
|
||||
|
|
@ -400,7 +373,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
to_free.push_back(a);
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_CLASS: {
|
||||
|
||||
argv[i].l = NULL;
|
||||
} break;
|
||||
}
|
||||
|
|
@ -410,7 +382,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
bool success = true;
|
||||
|
||||
switch (method->return_type) {
|
||||
|
||||
case ARG_TYPE_VOID: {
|
||||
if (method->_static) {
|
||||
env->CallStaticVoidMethodA(_class, method->method, argv);
|
||||
|
|
@ -435,7 +406,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
}
|
||||
} break;
|
||||
case ARG_TYPE_CHAR: {
|
||||
|
||||
if (method->_static) {
|
||||
ret = env->CallStaticCharMethodA(_class, method->method, argv);
|
||||
} else {
|
||||
|
|
@ -443,7 +413,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
}
|
||||
} break;
|
||||
case ARG_TYPE_SHORT: {
|
||||
|
||||
if (method->_static) {
|
||||
ret = env->CallStaticShortMethodA(_class, method->method, argv);
|
||||
} else {
|
||||
|
|
@ -452,7 +421,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
case ARG_TYPE_INT: {
|
||||
|
||||
if (method->_static) {
|
||||
ret = env->CallStaticIntMethodA(_class, method->method, argv);
|
||||
} else {
|
||||
|
|
@ -461,7 +429,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
case ARG_TYPE_LONG: {
|
||||
|
||||
if (method->_static) {
|
||||
ret = (int64_t)env->CallStaticLongMethodA(_class, method->method, argv);
|
||||
} else {
|
||||
|
|
@ -470,7 +437,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
case ARG_TYPE_FLOAT: {
|
||||
|
||||
if (method->_static) {
|
||||
ret = env->CallStaticFloatMethodA(_class, method->method, argv);
|
||||
} else {
|
||||
|
|
@ -479,7 +445,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
case ARG_TYPE_DOUBLE: {
|
||||
|
||||
if (method->_static) {
|
||||
ret = env->CallStaticDoubleMethodA(_class, method->method, argv);
|
||||
} else {
|
||||
|
|
@ -488,7 +453,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
|
||||
} break;
|
||||
default: {
|
||||
|
||||
jobject obj;
|
||||
if (method->_static) {
|
||||
obj = env->CallStaticObjectMethodA(_class, method->method, argv);
|
||||
|
|
@ -499,7 +463,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
if (!obj) {
|
||||
ret = Variant();
|
||||
} else {
|
||||
|
||||
if (!_convert_object_to_variant(env, obj, ret, method->return_type)) {
|
||||
ret = Variant();
|
||||
r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
|
||||
|
|
@ -519,7 +482,6 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
|||
}
|
||||
|
||||
Variant JavaClass::call(const StringName &p_method, const Variant **p_args, int p_argcount, Variant::CallError &r_error) {
|
||||
|
||||
Variant ret;
|
||||
bool found = _call_method(NULL, p_method, p_args, p_argcount, r_error, ret);
|
||||
if (found) {
|
||||
|
|
@ -535,7 +497,6 @@ JavaClass::JavaClass() {
|
|||
/////////////////////
|
||||
|
||||
Variant JavaObject::call(const StringName &p_method, const Variant **p_args, int p_argcount, Variant::CallError &r_error) {
|
||||
|
||||
return Variant();
|
||||
}
|
||||
|
||||
|
|
@ -548,14 +509,12 @@ JavaObject::~JavaObject() {
|
|||
////////////////////
|
||||
|
||||
bool JavaClassWrapper::_get_type_sig(JNIEnv *env, jobject obj, uint32_t &sig, String &strsig) {
|
||||
|
||||
jstring name2 = (jstring)env->CallObjectMethod(obj, Class_getName);
|
||||
String str_type = jstring_to_string(name2, env);
|
||||
env->DeleteLocalRef(name2);
|
||||
uint32_t t = 0;
|
||||
|
||||
if (str_type.begins_with("[")) {
|
||||
|
||||
t = JavaClass::ARG_ARRAY_BIT;
|
||||
strsig = "[";
|
||||
str_type = str_type.substr(1, str_type.length() - 1);
|
||||
|
|
@ -634,87 +593,71 @@ bool JavaClassWrapper::_get_type_sig(JNIEnv *env, jobject obj, uint32_t &sig, St
|
|||
}
|
||||
|
||||
bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &var, uint32_t p_sig) {
|
||||
|
||||
if (!obj) {
|
||||
var = Variant(); //seems null is just null...
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (p_sig) {
|
||||
|
||||
case ARG_TYPE_VOID: {
|
||||
|
||||
return Variant();
|
||||
} break;
|
||||
case ARG_TYPE_BOOLEAN | ARG_NUMBER_CLASS_BIT: {
|
||||
|
||||
var = env->CallBooleanMethod(obj, JavaClassWrapper::singleton->Boolean_booleanValue);
|
||||
return true;
|
||||
} break;
|
||||
case ARG_TYPE_BYTE | ARG_NUMBER_CLASS_BIT: {
|
||||
|
||||
var = env->CallByteMethod(obj, JavaClassWrapper::singleton->Byte_byteValue);
|
||||
return true;
|
||||
|
||||
} break;
|
||||
case ARG_TYPE_CHAR | ARG_NUMBER_CLASS_BIT: {
|
||||
|
||||
var = env->CallCharMethod(obj, JavaClassWrapper::singleton->Character_characterValue);
|
||||
return true;
|
||||
|
||||
} break;
|
||||
case ARG_TYPE_SHORT | ARG_NUMBER_CLASS_BIT: {
|
||||
|
||||
var = env->CallShortMethod(obj, JavaClassWrapper::singleton->Short_shortValue);
|
||||
return true;
|
||||
|
||||
} break;
|
||||
case ARG_TYPE_INT | ARG_NUMBER_CLASS_BIT: {
|
||||
|
||||
var = env->CallIntMethod(obj, JavaClassWrapper::singleton->Integer_integerValue);
|
||||
return true;
|
||||
|
||||
} break;
|
||||
case ARG_TYPE_LONG | ARG_NUMBER_CLASS_BIT: {
|
||||
|
||||
var = (int64_t)env->CallLongMethod(obj, JavaClassWrapper::singleton->Long_longValue);
|
||||
return true;
|
||||
|
||||
} break;
|
||||
case ARG_TYPE_FLOAT | ARG_NUMBER_CLASS_BIT: {
|
||||
|
||||
var = env->CallFloatMethod(obj, JavaClassWrapper::singleton->Float_floatValue);
|
||||
return true;
|
||||
|
||||
} break;
|
||||
case ARG_TYPE_DOUBLE | ARG_NUMBER_CLASS_BIT: {
|
||||
|
||||
var = env->CallDoubleMethod(obj, JavaClassWrapper::singleton->Double_doubleValue);
|
||||
return true;
|
||||
} break;
|
||||
case ARG_TYPE_STRING: {
|
||||
|
||||
var = jstring_to_string((jstring)obj, env);
|
||||
return true;
|
||||
} break;
|
||||
case ARG_TYPE_CLASS: {
|
||||
|
||||
return false;
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_VOID: {
|
||||
|
||||
var = Array(); // ?
|
||||
return true;
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_BOOLEAN: {
|
||||
|
||||
Array ret;
|
||||
jobjectArray arr = (jobjectArray)obj;
|
||||
|
||||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jboolean val;
|
||||
env->GetBooleanArrayRegion((jbooleanArray)arr, 0, 1, &val);
|
||||
ret.push_back(val);
|
||||
|
|
@ -725,14 +668,12 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_BYTE: {
|
||||
|
||||
Array ret;
|
||||
jobjectArray arr = (jobjectArray)obj;
|
||||
|
||||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jbyte val;
|
||||
env->GetByteArrayRegion((jbyteArray)arr, 0, 1, &val);
|
||||
ret.push_back(val);
|
||||
|
|
@ -748,7 +689,6 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jchar val;
|
||||
env->GetCharArrayRegion((jcharArray)arr, 0, 1, &val);
|
||||
ret.push_back(val);
|
||||
|
|
@ -764,7 +704,6 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jshort val;
|
||||
env->GetShortArrayRegion((jshortArray)arr, 0, 1, &val);
|
||||
ret.push_back(val);
|
||||
|
|
@ -780,7 +719,6 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jint val;
|
||||
env->GetIntArrayRegion((jintArray)arr, 0, 1, &val);
|
||||
ret.push_back(val);
|
||||
|
|
@ -796,7 +734,6 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jlong val;
|
||||
env->GetLongArrayRegion((jlongArray)arr, 0, 1, &val);
|
||||
ret.push_back((int64_t)val);
|
||||
|
|
@ -812,7 +749,6 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jfloat val;
|
||||
env->GetFloatArrayRegion((jfloatArray)arr, 0, 1, &val);
|
||||
ret.push_back(val);
|
||||
|
|
@ -828,7 +764,6 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jdouble val;
|
||||
env->GetDoubleArrayRegion((jdoubleArray)arr, 0, 1, &val);
|
||||
ret.push_back(val);
|
||||
|
|
@ -838,14 +773,12 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
return true;
|
||||
} break;
|
||||
case ARG_NUMBER_CLASS_BIT | ARG_ARRAY_BIT | ARG_TYPE_BOOLEAN: {
|
||||
|
||||
Array ret;
|
||||
jobjectArray arr = (jobjectArray)obj;
|
||||
|
||||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jobject o = env->GetObjectArrayElement(arr, i);
|
||||
if (!o)
|
||||
ret.push_back(Variant());
|
||||
|
|
@ -861,14 +794,12 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
|
||||
} break;
|
||||
case ARG_NUMBER_CLASS_BIT | ARG_ARRAY_BIT | ARG_TYPE_BYTE: {
|
||||
|
||||
Array ret;
|
||||
jobjectArray arr = (jobjectArray)obj;
|
||||
|
||||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jobject o = env->GetObjectArrayElement(arr, i);
|
||||
if (!o)
|
||||
ret.push_back(Variant());
|
||||
|
|
@ -883,14 +814,12 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
return true;
|
||||
} break;
|
||||
case ARG_NUMBER_CLASS_BIT | ARG_ARRAY_BIT | ARG_TYPE_CHAR: {
|
||||
|
||||
Array ret;
|
||||
jobjectArray arr = (jobjectArray)obj;
|
||||
|
||||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jobject o = env->GetObjectArrayElement(arr, i);
|
||||
if (!o)
|
||||
ret.push_back(Variant());
|
||||
|
|
@ -905,14 +834,12 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
return true;
|
||||
} break;
|
||||
case ARG_NUMBER_CLASS_BIT | ARG_ARRAY_BIT | ARG_TYPE_SHORT: {
|
||||
|
||||
Array ret;
|
||||
jobjectArray arr = (jobjectArray)obj;
|
||||
|
||||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jobject o = env->GetObjectArrayElement(arr, i);
|
||||
if (!o)
|
||||
ret.push_back(Variant());
|
||||
|
|
@ -927,14 +854,12 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
return true;
|
||||
} break;
|
||||
case ARG_NUMBER_CLASS_BIT | ARG_ARRAY_BIT | ARG_TYPE_INT: {
|
||||
|
||||
Array ret;
|
||||
jobjectArray arr = (jobjectArray)obj;
|
||||
|
||||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jobject o = env->GetObjectArrayElement(arr, i);
|
||||
if (!o)
|
||||
ret.push_back(Variant());
|
||||
|
|
@ -949,14 +874,12 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
return true;
|
||||
} break;
|
||||
case ARG_NUMBER_CLASS_BIT | ARG_ARRAY_BIT | ARG_TYPE_LONG: {
|
||||
|
||||
Array ret;
|
||||
jobjectArray arr = (jobjectArray)obj;
|
||||
|
||||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jobject o = env->GetObjectArrayElement(arr, i);
|
||||
if (!o)
|
||||
ret.push_back(Variant());
|
||||
|
|
@ -971,14 +894,12 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
return true;
|
||||
} break;
|
||||
case ARG_NUMBER_CLASS_BIT | ARG_ARRAY_BIT | ARG_TYPE_FLOAT: {
|
||||
|
||||
Array ret;
|
||||
jobjectArray arr = (jobjectArray)obj;
|
||||
|
||||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jobject o = env->GetObjectArrayElement(arr, i);
|
||||
if (!o)
|
||||
ret.push_back(Variant());
|
||||
|
|
@ -999,7 +920,6 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jobject o = env->GetObjectArrayElement(arr, i);
|
||||
if (!o)
|
||||
ret.push_back(Variant());
|
||||
|
|
@ -1015,14 +935,12 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
} break;
|
||||
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_STRING: {
|
||||
|
||||
Array ret;
|
||||
jobjectArray arr = (jobjectArray)obj;
|
||||
|
||||
int count = env->GetArrayLength(arr);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jobject o = env->GetObjectArrayElement(arr, i);
|
||||
if (!o)
|
||||
ret.push_back(Variant());
|
||||
|
|
@ -1037,7 +955,6 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
return true;
|
||||
} break;
|
||||
case ARG_ARRAY_BIT | ARG_TYPE_CLASS: {
|
||||
|
||||
} break;
|
||||
}
|
||||
|
||||
|
|
@ -1045,7 +962,6 @@ bool JavaClass::_convert_object_to_variant(JNIEnv *env, jobject obj, Variant &va
|
|||
}
|
||||
|
||||
Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) {
|
||||
|
||||
if (class_cache.has(p_class))
|
||||
return class_cache[p_class];
|
||||
|
||||
|
|
@ -1068,7 +984,6 @@ Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) {
|
|||
int count = env->GetArrayLength(methods);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jobject obj = env->GetObjectArrayElement(methods, i);
|
||||
ERR_CONTINUE(!obj);
|
||||
|
||||
|
|
@ -1098,7 +1013,6 @@ Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) {
|
|||
String signature = "(";
|
||||
|
||||
for (int j = 0; j < count2; j++) {
|
||||
|
||||
jobject obj2 = env->GetObjectArrayElement(param_types, j);
|
||||
String strsig;
|
||||
uint32_t sig = 0;
|
||||
|
|
@ -1140,7 +1054,6 @@ Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) {
|
|||
bool discard = false;
|
||||
|
||||
for (List<JavaClass::MethodInfo>::Element *E = java_class->methods[str_method].front(); E; E = E->next()) {
|
||||
|
||||
float new_likeliness = 0;
|
||||
float existing_likeliness = 0;
|
||||
|
||||
|
|
@ -1148,7 +1061,6 @@ Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) {
|
|||
continue;
|
||||
bool valid = true;
|
||||
for (int j = 0; j < E->get().param_types.size(); j++) {
|
||||
|
||||
Variant::Type _new;
|
||||
float new_l;
|
||||
Variant::Type existing;
|
||||
|
|
@ -1197,7 +1109,6 @@ Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) {
|
|||
count = env->GetArrayLength(fields);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
|
||||
jobject obj = env->GetObjectArrayElement(fields, i);
|
||||
ERR_CONTINUE(!obj);
|
||||
|
||||
|
|
@ -1209,17 +1120,13 @@ Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) {
|
|||
|
||||
jobject objc = env->CallObjectMethod(obj, Field_get, NULL);
|
||||
if (objc) {
|
||||
|
||||
uint32_t sig;
|
||||
String strsig;
|
||||
jclass cl = env->GetObjectClass(objc);
|
||||
if (JavaClassWrapper::_get_type_sig(env, cl, sig, strsig)) {
|
||||
|
||||
if ((sig & JavaClass::ARG_TYPE_MASK) <= JavaClass::ARG_TYPE_STRING) {
|
||||
|
||||
Variant value;
|
||||
if (JavaClass::_convert_object_to_variant(env, objc, value, sig)) {
|
||||
|
||||
java_class->constant_map[str_field] = value;
|
||||
}
|
||||
}
|
||||
|
|
@ -1241,7 +1148,6 @@ Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) {
|
|||
JavaClassWrapper *JavaClassWrapper::singleton = NULL;
|
||||
|
||||
JavaClassWrapper::JavaClassWrapper(jobject p_activity) {
|
||||
|
||||
singleton = this;
|
||||
|
||||
JNIEnv *env = get_jni_env();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue