*** empty log message ***
[libfirm] / ir / tr / type.h
index 98517c8..c7fc6d8 100644 (file)
@@ -1,4 +1,4 @@
-/****h* libfirm/type
+/****h* libfirm/type6 2002/03/19 13:08:33
  *
  * NAME
  *   file type.h - datastructure to hold type information.
@@ -205,6 +205,12 @@ int is_type            (void *thing);
  *
  *  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 */
@@ -263,6 +269,18 @@ void    set_class_supertype   (type *clss, type *supertype, int pos);
  @@@ 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);
 /*****/