1 #ifndef _class__h__included__
2 #define _class__h__included__
6 /* Class table entry. */
9 /******************************************************************************
12 * Search for class with given number.
15 * number Number of class to search.
18 * Class structure, or NULL if no such class exists.
20 *****************************************************************************/
21 struct class* class_search(size_t number
);
23 /******************************************************************************
26 * Register new class(es).
29 * class The class to register.
31 *****************************************************************************/
32 void class_register(struct class* class);
34 /******************************************************************************
37 * Unregister all classes.
39 *****************************************************************************/
40 void class_unregister_all();
42 /******************************************************************************
48 * fields Number of fields.
49 * locals Number of locals.
50 * instructions Instructions array.
51 * ins_len Instructions array length.
54 * The made class object.
56 *****************************************************************************/
57 struct class* class_make(size_t fields
, size_t locals
,
58 unsigned char* instructions
, size_t ins_len
);
60 /******************************************************************************
63 * Get number of fields in class.
66 * class The class to interrogate.
71 *****************************************************************************/
72 size_t class_field_count(struct class* class);
74 /******************************************************************************
77 * Get number of locals in class.
80 * class The class to interrogate.
85 *****************************************************************************/
86 size_t class_local_count(struct class* class);
88 /******************************************************************************
91 * Get number of instructions in class.
94 * class The class to interrogate.
97 * Number of instructions.
99 *****************************************************************************/
100 size_t class_ins_count(struct class* class);
102 /******************************************************************************
105 * Get instruction from class.
108 * class The class to interrogate.
109 * position The position of instruction (zero based).
112 * The instruction, or 0 if index is out of range.
114 *****************************************************************************/
115 unsigned char class_get_ins(struct class* class, size_t position
);