* src/vmcore/globals.cpp: New file.
[cacao.git] / src / vmcore / globals.cpp
1 /* src/vmcore/globals.cpp - global variables
2
3    Copyright (C) 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 #include "config.h"
27
28 #include <stdint.h>
29
30 #include "vmcore/class.h"
31
32
33 // Classes.
34
35 /* Important system classes. */
36
37 classinfo *class_java_lang_Object;
38 classinfo *class_java_lang_Class;
39 classinfo *class_java_lang_ClassLoader;
40 classinfo *class_java_lang_Cloneable;
41 classinfo *class_java_lang_SecurityManager;
42 classinfo *class_java_lang_String;
43 classinfo *class_java_lang_System;
44 classinfo *class_java_lang_Thread;
45 classinfo *class_java_lang_ThreadGroup;
46 classinfo *class_java_lang_Throwable;
47 classinfo *class_java_io_Serializable;
48
49 #if defined(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)
50 classinfo *class_java_lang_VMSystem;
51 classinfo *class_java_lang_VMThread;
52 classinfo *class_java_lang_VMThrowable;
53 #endif
54
55 /* Important system exceptions. */
56
57 classinfo *class_java_lang_Exception;
58 classinfo *class_java_lang_ClassNotFoundException;
59 classinfo *class_java_lang_RuntimeException;
60
61 #if defined(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK)
62 classinfo *class_sun_reflect_MagicAccessorImpl;
63 #endif
64
65 #if defined(ENABLE_JAVASE)
66 classinfo *class_java_lang_Void;
67 #endif
68 classinfo *class_java_lang_Boolean;
69 classinfo *class_java_lang_Byte;
70 classinfo *class_java_lang_Character;
71 classinfo *class_java_lang_Short;
72 classinfo *class_java_lang_Integer;
73 classinfo *class_java_lang_Long;
74 classinfo *class_java_lang_Float;
75 classinfo *class_java_lang_Double;
76
77 /* some classes which may be used more often */
78
79 #if defined(ENABLE_JAVASE)
80 classinfo *class_java_lang_StackTraceElement;
81 classinfo *class_java_lang_reflect_Constructor;
82 classinfo *class_java_lang_reflect_Field;
83 classinfo *class_java_lang_reflect_Method;
84 classinfo *class_java_security_PrivilegedAction;
85 classinfo *class_java_util_Vector;
86 classinfo *class_java_util_HashMap;
87
88 # if defined(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)
89 classinfo *class_java_lang_reflect_VMConstructor;
90 classinfo *class_java_lang_reflect_VMField;
91 classinfo *class_java_lang_reflect_VMMethod;
92 # endif
93
94 classinfo *arrayclass_java_lang_Object;
95
96 # if defined(ENABLE_ANNOTATIONS)
97 classinfo *class_sun_reflect_ConstantPool;
98 #  if defined(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)
99 classinfo *class_sun_reflect_annotation_AnnotationParser;
100 #  endif
101 # endif
102 #endif
103
104 /* pseudo classes for the typechecker */
105
106 classinfo *pseudo_class_Arraystub;
107 classinfo *pseudo_class_Null;
108 classinfo *pseudo_class_New;
109
110
111 /*
112  * These are local overrides for various environment variables in Emacs.
113  * Please do not remove this and leave it at the end of the file, where
114  * Emacs will automagically detect them.
115  * ---------------------------------------------------------------------
116  * Local variables:
117  * mode: c++
118  * indent-tabs-mode: t
119  * c-basic-offset: 4
120  * tab-width: 4
121  * End:
122  * vim:noexpandtab:sw=4:ts=4:
123  */