c29c90a6f8213c6c01d3a00340d567c36940f2f1
[cacao.git] / src / vm / globals.cpp
1 /* src/vm/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 "vm/class.hpp"
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_misc_Signal;
63 classinfo *class_sun_reflect_MagicAccessorImpl;
64 #endif
65
66 #if defined(ENABLE_JAVASE)
67 classinfo *class_java_lang_Void;
68 #endif
69 classinfo *class_java_lang_Boolean;
70 classinfo *class_java_lang_Byte;
71 classinfo *class_java_lang_Character;
72 classinfo *class_java_lang_Short;
73 classinfo *class_java_lang_Integer;
74 classinfo *class_java_lang_Long;
75 classinfo *class_java_lang_Float;
76 classinfo *class_java_lang_Double;
77
78 /* some classes which may be used more often */
79
80 #if defined(ENABLE_JAVASE)
81 classinfo *class_java_lang_StackTraceElement;
82 classinfo *class_java_lang_reflect_Constructor;
83 classinfo *class_java_lang_reflect_Field;
84 classinfo *class_java_lang_reflect_Method;
85 classinfo *class_java_security_PrivilegedAction;
86 classinfo *class_java_util_Vector;
87 classinfo *class_java_util_HashMap;
88
89 # if defined(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)
90 classinfo *class_java_lang_reflect_VMConstructor;
91 classinfo *class_java_lang_reflect_VMField;
92 classinfo *class_java_lang_reflect_VMMethod;
93 # endif
94
95 classinfo *arrayclass_java_lang_Object;
96
97 # if defined(ENABLE_ANNOTATIONS)
98 classinfo *class_sun_reflect_ConstantPool;
99 #  if defined(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)
100 classinfo *class_sun_reflect_annotation_AnnotationParser;
101 #  endif
102 # endif
103 #endif
104
105 /* pseudo classes for the typechecker */
106
107 classinfo *pseudo_class_Arraystub;
108 classinfo *pseudo_class_Null;
109 classinfo *pseudo_class_New;
110
111
112 /*
113  * These are local overrides for various environment variables in Emacs.
114  * Please do not remove this and leave it at the end of the file, where
115  * Emacs will automagically detect them.
116  * ---------------------------------------------------------------------
117  * Local variables:
118  * mode: c++
119  * indent-tabs-mode: t
120  * c-basic-offset: 4
121  * tab-width: 4
122  * End:
123  * vim:noexpandtab:sw=4:ts=4:
124  */