Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: java_lang_reflect_Field.c 8326 2007-08-16 17:45:49Z twisti $
-
*/
#include "native/include/java_lang_reflect_Field.h"
#if defined(ENABLE_ANNOTATIONS)
+#include "native/include/java_util_Map.h"
#include "native/include/sun_reflect_ConstantPool.h"
#include "native/vm/reflect.h"
#endif
if (!resolve_class_from_typedesc(desc, true, false, &ret))
return NULL;
- return (java_lang_Class *) ret;
+ return LLNI_classinfo_wrap(ret);
}
*/
JNIEXPORT struct java_util_Map* JNICALL Java_java_lang_reflect_Field_declaredAnnotations(JNIEnv *env, java_lang_reflect_Field *this)
{
- java_handle_t *o = (java_handle_t*)this;
- struct java_util_Map *declaredAnnotations = NULL;
+ java_util_Map *declaredAnnotations = NULL;
java_handle_bytearray_t *annotations = NULL;
java_lang_Class *declaringClass = NULL;
+ classinfo *referer = NULL;
LLNI_field_get_ref(this, declaredAnnotations, declaredAnnotations);
if (declaredAnnotations == NULL) {
- LLNI_field_get_val(this, annotations, annotations);
+ LLNI_field_get_ref(this, annotations, annotations);
LLNI_field_get_ref(this, clazz, declaringClass);
+ LLNI_class_get(this, referer);
- declaredAnnotations = reflect_get_declaredannotatios(annotations, declaringClass, o->vftbl->class);
+ declaredAnnotations = reflect_get_declaredannotatios(annotations, declaringClass, referer);
LLNI_field_set_ref(this, declaredAnnotations, declaredAnnotations);
}