Implement has_java_method(...) for JavaClassWrapper and JNISingleton

This commit is contained in:
Fredia Huya-Kouadio 2025-05-29 12:40:18 -07:00
parent d7382aa058
commit 0622cee189
8 changed files with 134 additions and 30 deletions

View file

@ -200,6 +200,7 @@ public:
String get_java_class_name() const;
TypedArray<Dictionary> get_java_method_list() const;
Ref<JavaClass> get_java_parent_class() const;
bool has_java_method(const StringName &p_method) const;
#ifdef ANDROID_ENABLED
virtual String to_string() override;
@ -226,6 +227,7 @@ public:
virtual Variant callp(const StringName &p_method, const Variant **p_args, int p_argcount, Callable::CallError &r_error) override;
Ref<JavaClass> get_java_class() const;
bool has_java_method(const StringName &p_method) const;
#ifdef ANDROID_ENABLED
virtual String to_string() override;
@ -244,7 +246,7 @@ class JavaClassWrapper : public Object {
#ifdef ANDROID_ENABLED
RBMap<String, Ref<JavaClass>> class_cache;
friend class JavaClass;
jmethodID Class_getDeclaredConstructors;
jmethodID Class_getConstructors;
jmethodID Class_getDeclaredMethods;
jmethodID Class_getFields;
jmethodID Class_getName;
@ -272,7 +274,7 @@ class JavaClassWrapper : public Object {
Ref<JavaObject> exception;
Ref<JavaClass> _wrap(const String &p_class, bool p_allow_private_methods_access);
Ref<JavaClass> _wrap(const String &p_class, bool p_allow_non_public_methods_access);
static JavaClassWrapper *singleton;