You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Use C++ iterators for Lists in many situations
This commit is contained in:
@@ -41,13 +41,13 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
||||
ERR_FAIL_COND_V(env == nullptr, false);
|
||||
|
||||
MethodInfo *method = nullptr;
|
||||
for (List<MethodInfo>::Element *E = M->get().front(); E; E = E->next()) {
|
||||
if (!p_instance && !E->get()._static) {
|
||||
for (MethodInfo &E : M->get()) {
|
||||
if (!p_instance && !E._static) {
|
||||
r_error.error = Callable::CallError::CALL_ERROR_INSTANCE_IS_NULL;
|
||||
continue;
|
||||
}
|
||||
|
||||
int pc = E->get().param_types.size();
|
||||
int pc = E.param_types.size();
|
||||
if (pc > p_argcount) {
|
||||
r_error.error = Callable::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
|
||||
r_error.argument = pc;
|
||||
@@ -58,7 +58,7 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
||||
r_error.argument = pc;
|
||||
continue;
|
||||
}
|
||||
uint32_t *ptypes = E->get().param_types.ptrw();
|
||||
uint32_t *ptypes = E.param_types.ptrw();
|
||||
bool valid = true;
|
||||
|
||||
for (int i = 0; i < pc; i++) {
|
||||
@@ -107,7 +107,7 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
||||
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());
|
||||
jclass c = env->FindClass(E.param_sigs[i].operator String().utf8().get_data());
|
||||
if (!c || !env->IsInstanceOf(jo->instance, c)) {
|
||||
arg_expected = Variant::OBJECT;
|
||||
} else {
|
||||
@@ -138,7 +138,7 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
||||
if (!valid)
|
||||
continue;
|
||||
|
||||
method = &E->get();
|
||||
method = &E;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -474,8 +474,8 @@ bool JavaClass::_call_method(JavaObject *p_instance, const StringName &p_method,
|
||||
} break;
|
||||
}
|
||||
|
||||
for (List<jobject>::Element *E = to_free.front(); E; E = E->next()) {
|
||||
env->DeleteLocalRef(E->get());
|
||||
for (jobject &E : to_free) {
|
||||
env->DeleteLocalRef(E);
|
||||
}
|
||||
|
||||
return success;
|
||||
|
||||
Reference in New Issue
Block a user