java.home properties bug fixed
[cacao.git] / loader.h
1 /******************************* loader.h **************************************
2
3         Copyright (c) 1997 A. Krall, R. Grafl, M. Gschwind, M. Probst
4
5         See file COPYRIGHT for information on usage and disclaimer of warranties
6
7         Contains the prototypes for the class loader.
8
9         Author:  Reinhard Grafl      EMAIL: cacao@complang.tuwien.ac.at
10
11         Last Change: 1997/11/14
12
13 *******************************************************************************/
14
15
16 /************************* program switches ***********************************/
17
18 extern bool loadverbose;         /* Debug-Meldungen beim Laden ausgeben */
19 extern bool linkverbose;
20 extern bool initverbose;         /* Meldungen ausgeben, wenn Klasse 
21                                    initialisiert wird */
22 extern bool makeinitializations; /* Klassen automatisch initialisieren */
23
24 extern bool getloadingtime;
25 extern long int loadingtime;     /* CPU-Zeit f"urs Laden der Klassen */
26
27 extern list linkedclasses;       /* Liste aller fertig gelinkten Klassen */
28
29
30 /************************ prototypes ******************************************/
31
32 void loader_init ();
33 void loader_close ();
34
35 classinfo *loader_load (unicode *topname);
36 void loader_initclasses ();
37 void loader_compute_subclasses ();
38
39 classinfo *class_get (unicode *name);
40 voidptr class_getconstant (classinfo *class, u4 pos, u4 ctype);
41 u4 class_constanttype (classinfo *class, u4 pos);
42
43 fieldinfo *class_findfield (classinfo *c, unicode *name, unicode *desc);
44 methodinfo *class_findmethod (classinfo *c, unicode *name, unicode *desc);
45
46 methodinfo *class_resolvemethod (classinfo *c, unicode *name, unicode *dest);
47
48 bool class_issubclass (classinfo *sub, classinfo *super);
49
50 void class_init (classinfo *c);
51
52 void class_showmethods (classinfo *c);
53 void class_showconstantpool (classinfo *c);
54