mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-08 01:57:08 +08:00
* java/lang/reflect/natConstructor.cc (newInstance): Use _Jv_CallAnyMethodA. * include/jvm.h: Declare _Jv_CallAnyMethodA. * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Renamed from _Jv_CallNonvirtualMethodA. Changed interface; overloaded. Include <jni.h>. (COPY): Removed. (invoke): Use _Jv_CallAnyMethodA. (VAL): Redefined. * java/lang/Class.h (Class): Declare JvGetFirstStaticField, JvNumStaticFields, JvNumMethods, and JvGetFirstMethod as friend functions. (struct _Jv_Method): Added getNextMethod method. (JvNumMethods): New function. (JvGetFirstMethod): Likewise. * gcj/field.h (JvGetFirstStaticField): New function. (JvNumStaticFields): Likewise. (getNextField): Renamed from getNextInstanceField. (struct _Jv_Field): New method getClass. * jni.cc: Wrote many new functions. * include/jni.h (JNI_TRUE): Define. (JNI_FALSE): Likewise. (jobject, jclass, jstring, jarray, jthrowable, jobjectArray, jbyteArray, jshortArray, jintArray, jlongArray, jbooleanArray, jcharArray, jfloatArray, jdoubleArray): New typedefs. (jfieldID, jmethodID): Likewise. (JNI_COMMIT, JNI_ABORT): New defines. (JNINativeMethod): New struct. (struct JNINativeInterface): Correctly declared more entries. (class _Jv_JNIEnv): Added `ex' member. (JNI_VERSION_1_1): New define. (JNI_VERSION_1_2): Likewise. * boehm.cc (_Jv_MarkObj): Use getNextField, not getNextInstanceField. From-SVN: r31553
31 lines
773 B
C++
31 lines
773 B
C++
// method.h - Header file for methodID instances. -*- c++ -*-
|
|
|
|
/* Copyright (C) 1999, 2000 Red Hat, Inc.
|
|
|
|
This file is part of libgcj.
|
|
|
|
This software is copyrighted work licensed under the terms of the
|
|
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
|
details. */
|
|
|
|
#ifndef __GCJ_METHOD_H__
|
|
#define __GCJ_METHOD_H__
|
|
|
|
#include <java/lang/Class.h>
|
|
|
|
extern inline jmethodID
|
|
_Jv_FromReflectedMethod (java::lang::reflect::Method *method)
|
|
{
|
|
return (jmethodID)
|
|
((char *) method->declaringClass->methods + method->offset);
|
|
}
|
|
|
|
extern inline jmethodID
|
|
_Jv_FromReflectedConstructor (java::lang::reflect::Constructor *constructor)
|
|
{
|
|
return (jmethodID)
|
|
((char *) constructor->declaringClass->methods + constructor->offset);
|
|
}
|
|
|
|
#endif /* __GCJ_METHOD_H__ */
|