classes.pl (scan): Print inner classes properly.
[gcc.git] / libjava / gcj / javaprims.h
1 // javaprims.h - Main external header file for libgcj. -*- c++ -*-
2
3 /* Copyright (C) 1998, 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 __JAVAPRIMS_H__
12 #define __JAVAPRIMS_H__
13
14 // FIXME: this is a hack until we get a proper gcjh.
15 // It is needed to work around system header files that define TRUE
16 // and FALSE.
17 #undef TRUE
18 #define TRUE TRUE
19 #undef FALSE
20 #define FALSE FALSE
21
22 // To force selection of correct types that will mangle consistently
23 // across platforms.
24 extern "Java"
25 {
26 typedef __java_byte jbyte;
27 typedef __java_short jshort;
28 typedef __java_int jint;
29 typedef __java_long jlong;
30 typedef __java_float jfloat;
31 typedef __java_double jdouble;
32 typedef __java_char jchar;
33 typedef __java_boolean jboolean;
34 typedef jint jsize;
35
36 // The following class declarations are automatically generated by
37 // the `classes.pl' script.
38 namespace java
39 {
40 namespace io
41 {
42 class BlockDataException;
43 class BufferedInputStream;
44 class BufferedOutputStream;
45 class BufferedReader;
46 class BufferedWriter;
47 class ByteArrayInputStream;
48 class ByteArrayOutputStream;
49 class CharArrayReader;
50 class CharArrayWriter;
51 class CharConversionException;
52 class DataInput;
53 class DataInputStream;
54 class DataOutput;
55 class DataOutputStream;
56 class EOFException;
57 class Externalizable;
58 class File;
59 class FileDescriptor;
60 class FileInputStream;
61 class FileNotFoundException;
62 class FileOutputStream;
63 class FileReader;
64 class FileWriter;
65 class FilenameFilter;
66 class FilterInputStream;
67 class FilterOutputStream;
68 class FilterReader;
69 class FilterWriter;
70 class IOException;
71 class InputStream;
72 class InputStreamReader;
73 class InterfaceComparator;
74 class InterruptedIOException;
75 class InvalidClassException;
76 class InvalidObjectException;
77 class LineNumberInputStream;
78 class LineNumberReader;
79 class MemberComparator;
80 class NotActiveException;
81 class NotSerializableException;
82 class ObjectInput;
83 class ObjectInputStream;
84 class ObjectInputStream$GetField;
85 class ObjectInputValidation;
86 class ObjectOutput;
87 class ObjectOutputStream;
88 class ObjectOutputStream$PutField;
89 class ObjectStreamClass;
90 class ObjectStreamConstants;
91 class ObjectStreamException;
92 class ObjectStreamField;
93 class OptionalDataException;
94 class OutputStream;
95 class OutputStreamWriter;
96 class PipedInputStream;
97 class PipedOutputStream;
98 class PipedReader;
99 class PipedWriter;
100 class PrintStream;
101 class PrintWriter;
102 class PushbackInputStream;
103 class PushbackReader;
104 class RandomAccessFile;
105 class Reader;
106 class Replaceable;
107 class Resolvable;
108 class SequenceInputStream;
109 class Serializable;
110 class SerializablePermission;
111 class StreamCorruptedException;
112 class StreamTokenizer;
113 class StringBufferInputStream;
114 class StringReader;
115 class StringWriter;
116 class SyncFailedException;
117 class UTFDataFormatException;
118 class UnsupportedEncodingException;
119 class ValidatorAndPriority;
120 class WriteAbortedException;
121 class Writer;
122 };
123
124 namespace lang
125 {
126 class AbstractMethodError;
127 class ArithmeticException;
128 class ArrayIndexOutOfBoundsException;
129 class ArrayStoreException;
130 class Boolean;
131 class Byte;
132 class CPlusPlusDemangler;
133 class Character;
134 class Class;
135 class ClassCastException;
136 class ClassCircularityError;
137 class ClassFormatError;
138 class ClassLoader;
139 class ClassNotFoundException;
140 class CloneNotSupportedException;
141 class Cloneable;
142 class Comparable;
143 class Compiler;
144 class ConcreteProcess;
145 class Double;
146 class Error;
147 class Exception;
148 class ExceptionInInitializerError;
149 class Float;
150 class IllegalAccessError;
151 class IllegalAccessException;
152 class IllegalArgumentException;
153 class IllegalMonitorStateException;
154 class IllegalStateException;
155 class IllegalThreadStateException;
156 class IncompatibleClassChangeError;
157 class IndexOutOfBoundsException;
158 class InstantiationError;
159 class InstantiationException;
160 class Integer;
161 class InternalError;
162 class InterruptedException;
163 class LinkageError;
164 class Long;
165 class Math;
166 class NegativeArraySizeException;
167 class NoClassDefFoundError;
168 class NoSuchFieldError;
169 class NoSuchFieldException;
170 class NoSuchMethodError;
171 class NoSuchMethodException;
172 class NullPointerException;
173 class Number;
174 class NumberFormatException;
175 class Object;
176 class OutOfMemoryError;
177 class Process;
178 class Runnable;
179 class Runtime;
180 class RuntimeException;
181 class SecurityException;
182 class SecurityManager;
183 class Short;
184 class StackOverflowError;
185 class String;
186 class StringBuffer;
187 class StringIndexOutOfBoundsException;
188 class System;
189 class Thread;
190 class ThreadDeath;
191 class ThreadGroup;
192 class Throwable;
193 class UnknownError;
194 class UnsatisfiedLinkError;
195 class UnsupportedOperationException;
196 class VerifyError;
197 class VirtualMachineError;
198 class Void;
199 namespace reflect
200 {
201 class AccessibleObject;
202 class Array;
203 class Constructor;
204 class Field;
205 class InvocationTargetException;
206 class Member;
207 class Method;
208 class Modifier;
209 };
210 };
211
212 namespace util
213 {
214 class AbstractCollection;
215 class AbstractList;
216 class AbstractList$SubList;
217 class Arrays;
218 class Arrays$ListImpl;
219 class BitSet;
220 class Calendar;
221 class Collection;
222 class Comparator;
223 class ConcurrentModificationException;
224 class Date;
225 class Dictionary;
226 class EmptyStackException;
227 class Enumeration;
228 class EventListener;
229 class EventObject;
230 class GregorianCalendar;
231 class Hashtable;
232 class HashtableEntry;
233 class HashtableEnumeration;
234 class Iterator;
235 class List;
236 class ListIterator;
237 class ListResourceBundle;
238 class Locale;
239 class MissingResourceException;
240 class NoSuchElementException;
241 class Observable;
242 class Observer;
243 class Properties;
244 class PropertyResourceBundle;
245 class Random;
246 class ResourceBundle;
247 class SimpleTimeZone;
248 class Stack;
249 class StringTokenizer;
250 class TimeZone;
251 class TooManyListenersException;
252 class Vector;
253 class VectorEnumeration;
254 namespace jar
255 {
256 class JarEntry;
257 class JarFile;
258 class JarInputStream;
259 };
260
261 namespace zip
262 {
263 class Adler32;
264 class CRC32;
265 class CheckedInputStream;
266 class CheckedOutputStream;
267 class Checksum;
268 class DataFormatException;
269 class Deflater;
270 class DeflaterOutputStream;
271 class GZIPInputStream;
272 class GZIPOutputStream;
273 class Inflater;
274 class InflaterInputStream;
275 class ZipConstants;
276 class ZipEntry;
277 class ZipEnumeration;
278 class ZipException;
279 class ZipFile;
280 class ZipInputStream;
281 class ZipOutputStream;
282 };
283 };
284 };
285 };
286
287 typedef struct java::lang::Object* jobject;
288 typedef class java::lang::Class* jclass;
289 typedef class java::lang::Throwable* jthrowable;
290 typedef class java::lang::String* jstring;
291 struct _Jv_JNIEnv;
292
293 typedef struct _Jv_Field *jfieldID;
294 typedef struct _Jv_Method *jmethodID;
295
296 extern "C" jobject _Jv_AllocObject (jclass, jint) __attribute__((__malloc__));
297 extern "C" jboolean _Jv_IsInstanceOf(jobject, jclass);
298 extern "C" jstring _Jv_AllocString(jsize) __attribute__((__malloc__));
299 extern "C" jstring _Jv_NewString (const jchar*, jsize)
300 __attribute__((__malloc__));
301 extern "C" jchar* _Jv_GetStringChars (jstring str);
302 extern "C" jint _Jv_MonitorEnter (jobject);
303 extern "C" jint _Jv_MonitorExit (jobject);
304 extern "C" jstring _Jv_NewStringLatin1(const char*, jsize)
305 __attribute__((__malloc__));
306 extern "C" jsize _Jv_GetStringUTFLength (jstring);
307 extern "C" jsize _Jv_GetStringUTFRegion (jstring, jsize, jsize, char *);
308
309 extern "C" void _Jv_Throw (void *) __attribute__ ((__noreturn__));
310 extern "C" void _Jv_Sjlj_Throw (void *) __attribute__ ((__noreturn__));
311 extern "C" void* _Jv_Malloc (jsize) __attribute__((__malloc__));
312 extern "C" void* _Jv_Realloc (void *, jsize);
313 extern "C" void _Jv_Free (void*);
314
315 typedef unsigned short _Jv_ushort __attribute__((__mode__(__HI__)));
316 typedef unsigned int _Jv_uint __attribute__((__mode__(__SI__)));
317
318 struct _Jv_Utf8Const
319 {
320 _Jv_ushort hash;
321 _Jv_ushort length; /* In bytes, of data portion, without final '\0'. */
322 char data[1]; /* In Utf8 format, with final '\0'. */
323 };
324
325 #endif /* __JAVAPRIMS_H__ */