| // 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__ */ |