OSDN Git Service

PR c++/28300
[pf3gnuchains/gcc-fork.git] / libjava / gcj / method.h
1 // method.h - Header file for methodID instances.  -*- c++ -*-
2
3 /* Copyright (C) 1999, 2000  Free Software Foundation
4
5    This file is part of libgcj.
6
7 This software is copyrighted work licensed under the terms of the
8 Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
9 details.  */
10
11 #ifndef __GCJ_METHOD_H__
12 #define __GCJ_METHOD_H__
13
14 #include <java/lang/Class.h>
15 #include <java/lang/reflect/Constructor.h>
16 #include <java/lang/reflect/Method.h>
17
18 extern inline jmethodID
19 _Jv_FromReflectedMethod (java::lang::reflect::Method *method)
20 {
21   return (jmethodID)
22     ((char *) method->declaringClass->methods + method->offset);
23 }
24
25 extern inline jmethodID
26 _Jv_FromReflectedConstructor (java::lang::reflect::Constructor *constructor)
27 {
28   return (jmethodID)
29     ((char *) constructor->declaringClass->methods + constructor->offset);
30 }
31
32 extern inline jint
33 JvNumMethods (jclass klass)
34 {
35   return klass->method_count;
36 }
37
38 extern inline jmethodID
39 JvGetFirstMethod (jclass klass)
40 {
41   return &klass->methods[0];
42 }
43
44 #endif /* __GCJ_METHOD_H__ */