diff options
Diffstat (limited to 'libjava/gcj/method.h')
-rw-r--r-- | libjava/gcj/method.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/libjava/gcj/method.h b/libjava/gcj/method.h new file mode 100644 index 000000000..f97f865f9 --- /dev/null +++ b/libjava/gcj/method.h @@ -0,0 +1,44 @@ +// method.h - Header file for methodID instances. -*- c++ -*- + +/* Copyright (C) 1999, 2000 Free Software Foundation + + 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> +#include <java/lang/reflect/Constructor.h> +#include <java/lang/reflect/Method.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); +} + +extern inline jint +JvNumMethods (jclass klass) +{ + return klass->method_count; +} + +extern inline jmethodID +JvGetFirstMethod (jclass klass) +{ + return &klass->methods[0]; +} + +#endif /* __GCJ_METHOD_H__ */ |