Whitespace changes (?) --flo
[libfirm] / ir / common / common.c
index 84e9d9a..a7381ab 100644 (file)
@@ -7,11 +7,39 @@
 ** common.c:
 */
 
-#include "common.h"
+/* $Id$ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "common_t.h"
 #include "irgraph.h"
 
 /* returns the kind of the thing */
 firm_kind
 get_kind (void *firm_thing) {
+  assert (firm_thing);
   return *(firm_kind *)firm_thing;
 }
+
+
+const char* print_firm_kind(void *firm_thing) {
+  assert (firm_thing);
+  switch (*(firm_kind *)firm_thing) {
+    case k_entity: { return "k_enitity"; } break;
+    case k_type: { return "k_type"; } break;
+#if 0
+    case k_type_class: { return "k_type_class"; } break;
+    case k_type_strct: { return "k_type_strct:"; } break;
+    case k_type_method: { return "k_type_method:"; } break;
+    case k_type_union: { return "k_type_union"; } break;
+    case k_type_array: { return "k_type_array"; } break;
+    case k_type_enumeration: { return "k_type_enumeration"; } break;
+    case k_type_pointer: { return "k_type_pointer"; } break;
+    case k_type_primitive: { return "k_type_primitive"; } break;
+#endif
+    case k_ir_node: { return "k_ir_node"; } break;
+  }
+  return "";
+}