+
+int
+count_destructors(Class *c)
+{
+ int num = 0;
+ GList *l;
+ for(l=c->nodes;l;l=g_list_next(l)) {
+ Node *n = l->data;
+ if(n->type == VARIABLE_NODE) {
+ Variable *v = (Variable *)n;
+ if(v->destructor)
+ num++;
+ }
+ }
+ return num;
+}
+
+int
+count_initializers(Class *c)
+{
+ int num = 0;
+ GList *l;
+ for(l=c->nodes;l;l=g_list_next(l)) {
+ Node *n = l->data;
+ if(n->type == VARIABLE_NODE) {
+ Variable *v = (Variable *)n;
+ if(v->initializer)
+ num++;
+ }
+ }
+ return num;
+}