-/****h* libfirm/type
+/****h* libfirm/type6 2002/03/19 13:08:33
*
* NAME
* file type.h - datastructure to hold type information.
*
* These are dynamic lists that can be grown with an "add_" function,
* but not shrinked.
+ *
+ * peculiarity The peculiarity of this class. If the class is of peculiarity
+ * "description" it only is a description of requirememts to a class,
+ * as, e.g., a Java interface. The class will never be allocated.
+ * Values: description, existent. Default: existent.
+ *
* SOURCE
*/
/* create a new class type */
@@@ Doesn't work properly. */
void remove_class_supertype(type *clss, type *supertype);
+/* This enumeration flags the peculiarity of entities and types. */
+typedef enum peculiarity {
+ description, /* Represents only a description. The entity/type is never
+ allocated, no code/data exists for this entity/type. */
+ existent /* The entity/type (can) exist. */
+} peculiarity;
+
+/* The peculiarity of the class. The enumeration peculiarity is defined
+ in entity.h */
+inline peculiarity get_class_peculiarity (type *clss);
+inline void set_class_peculiarity (type *clss, peculiarity pec);
+
/* typecheck */
bool is_class_type(type *clss);
/*****/