* src/vmcore/javaobjects.hpp (java_lang_reflect_Field::get_field): New
authorChristian Thalinger <twisti@complang.tuwien.ac.at>
Thu, 7 Aug 2008 21:33:05 +0000 (17:33 -0400)
committerChristian Thalinger <twisti@complang.tuwien.ac.at>
Thu, 7 Aug 2008 21:33:05 +0000 (17:33 -0400)
function.
(java_lang_reflect_Method::invoke): Likewise.
(java_lang_reflect_Method::get_method): Likewise.
(java_lang_reflect_Method::get_override): Likewise.
* src/native/vm/gnuclasspath/java_lang_reflect_VMMethod.cpp (invoke):
Use new invoke function.

--HG--
branch : twisti

src/native/vm/gnuclasspath/java_lang_reflect_VMMethod.cpp
src/vmcore/javaobjects.hpp

index 4eea085f26b1e314fdb0538a940bf00623a05fc0..a368990b58841529df4d2049854f37c397836f21 100644 (file)
@@ -120,13 +120,10 @@ JNIEXPORT jobjectArray JNICALL Java_java_lang_reflect_VMMethod_getExceptionTypes
  */
 JNIEXPORT jobject JNICALL Java_java_lang_reflect_VMMethod_invoke(JNIEnv *env, jobject _this, jobject o, jobjectArray args)
 {
-       java_lang_reflect_VMMethod rvmm(_this);
-       java_lang_reflect_Method rm(rvmm.get_m());
-
-       methodinfo* m = rvmm.get_method();
-       int32_t override = rm.get_flag();
+       java_lang_reflect_VMMethod jlrvmm(_this);
+       java_lang_reflect_Method jlrm(jlrvmm.get_m());
 
-       java_handle_t* result = Reflection::method_invoke(m, (java_handle_t*) o, (java_handle_objectarray_t*) args, override);
+       java_handle_t* result = jlrm.invoke((java_handle_t*) o, (java_handle_objectarray_t*) args);
 
        return (jobject) result;
 }
index 27105b8e1c503222079668d1e035b7bbed208c2b..aaae19b3938c37a1a351f7245275ebc97859b484 100644 (file)
@@ -1342,6 +1342,9 @@ public:
 
        // Setters.
        inline void set_f(java_handle_t* value);
+
+       // Convenience functions.
+       inline fieldinfo* get_field() const;
 };
 
 
@@ -1385,6 +1388,13 @@ inline void java_lang_reflect_Field::set_f(java_handle_t* value)
 }
 
 
+inline fieldinfo* java_lang_reflect_Field::get_field() const
+{
+       java_lang_reflect_VMField jlrvmf(get_f());
+       return jlrvmf.get_field();
+}
+
+
 /**
  * GNU Classpath java/lang/reflect/VMMethod
  *
@@ -1574,12 +1584,18 @@ public:
        java_lang_reflect_Method(jobject h);
        java_lang_reflect_Method(methodinfo* m);
 
+       java_handle_t* invoke(java_handle_t* o, java_handle_objectarray_t* args);
+
        // Getters.
        inline int32_t        get_flag() const;
        inline java_handle_t* get_m() const;
 
        // Setters.
        inline void set_m(java_handle_t* value);
+
+       // Convenience functions.
+       inline methodinfo* get_method  () const;
+       inline int32_t     get_override() const;
 };
 
 
@@ -1623,6 +1639,18 @@ inline void java_lang_reflect_Method::set_m(java_handle_t* value)
 }
 
 
+inline methodinfo* java_lang_reflect_Method::get_method() const
+{
+       java_lang_reflect_VMMethod jlrvmm(get_m());
+       return jlrvmm.get_method();
+}
+
+inline int32_t java_lang_reflect_Method::get_override() const
+{
+       return get_flag();
+}
+
+
 /**
  * GNU Classpath java/nio/Buffer
  *