+static int
+count_signals(Class *c)
+{
+ int num = 0;
+ GList *l;
+ for(l=c->nodes;l;l=g_list_next(l)) {
+ Node *n = l->data;
+ if(n->type == METHOD_NODE) {
+ Method *m = (Method *)n;
+ if(m->scope == SIGNAL_LAST_METHOD ||
+ m->scope == SIGNAL_FIRST_METHOD)
+ num++;
+ }
+ }
+ return num;
+}
+
+static int
+count_arguments(Class *c)
+{
+ int num = 0;
+ GList *li;
+
+ for(li=c->nodes;li;li=g_list_next(li)) {
+ Node *n = li->data;
+ if(n->type == ARGUMENT_NODE)
+ num ++;
+ }
+ return num;
+}
+
+static int
+count_overrides(Class *c)
+{
+ int num = 0;
+ GList *l;
+ for(l=c->nodes;l;l=g_list_next(l)) {
+ Node *n = l->data;
+ if(n->type == METHOD_NODE) {
+ Method *m = (Method *)n;
+ if(m->scope == OVERRIDE_METHOD)
+ num++;
+ }
+ }
+ return num;
+}
+
+