CACAO
reflection.hpp
Go to the documentation of this file.
1 /* src/native/vm/reflection.hpp - helper functions for java/lang/reflect
2 
3  Copyright (C) 2007, 2008
4  CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
5 
6  This file is part of CACAO.
7 
8  This program is free software; you can redistribute it and/or
9  modify it under the terms of the GNU General Public License as
10  published by the Free Software Foundation; either version 2, or (at
11  your option) any later version.
12 
13  This program is distributed in the hope that it will be useful, but
14  WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program; if not, write to the Free Software
20  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  02110-1301, USA.
22 
23 */
24 
25 
26 #ifndef _REFLECTION_HPP
27 #define _REFLECTION_HPP
28 
29 #include "config.h"
30 #include "vm/global.hpp"
31 
32 struct classinfo;
33 struct methodinfo;
34 
35 class Reflection {
36 public:
38 
39 #if defined(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH) && defined(ENABLE_ANNOTATIONS)
40  static java_handle_t* get_declaredannotations(java_handle_bytearray_t *annotations, classinfo* declaringClass, classinfo *referer);
42 #endif
43 };
44 
45 #endif // _REFLECTION_HPP
46 
47 
48 /*
49  * These are local overrides for various environment variables in Emacs.
50  * Please do not remove this and leave it at the end of the file, where
51  * Emacs will automagically detect them.
52  * ---------------------------------------------------------------------
53  * Local variables:
54  * mode: c++
55  * indent-tabs-mode: t
56  * c-basic-offset: 4
57  * tab-width: 4
58  * End:
59  * vim:noexpandtab:sw=4:ts=4:
60  */
static java_handle_t * get_declaredannotations(java_handle_bytearray_t *annotations, classinfo *declaringClass, classinfo *referer)
Definition: reflection.cpp:143
static java_handle_objectarray_t * get_parameterannotations(java_handle_bytearray_t *parameterAnnotations, methodinfo *m, classinfo *referer)
Definition: reflection.cpp:198
static java_handle_t * invoke(methodinfo *m, java_handle_t *o, java_handle_objectarray_t *params)
Invoke a method on the given object with the given arguments.
Definition: reflection.cpp:59