*operation* void collect_classes(Vertex_selector *vs) *wrapper* Cd_graph *prefix* (@ vs->collect_classes(this); @) *operation* void collect_classes(Cd_graph * schema) *wrapper* Vertex_selector *prefix* (@ @) *wrapper* Vertex_set_sim *prefix* (@ schema->collect_classes(this->get_terms()); @) *operation* void collect_classes(Fixed_term_Commalist* terms) *wrapper* Cd_graph *prefix* (@ adjacencies->collect_classes(matrix,terms); @) *operation* void collect_classes(SCC_component_List* matrix, Fixed_term_Commalist* terms) *wrapper* Adjacency_Nlist *prefix* (@ Adjacency_list_iterator next(*this); Adjacency* each; while (each = next()) each->collect_classes(matrix,terms); @) *wrapper* Adjacency *prefix* (@ int resultscc; static DemString* mark = new DemString("propagate"); if (terms->list_length()) { Fixed_term_list_iterator fnext(*terms); Fixed_term* feach; while (feach = fnext()) if (feach->get_vertex()->get_vertex()->get_vertex_name()-> g_equal(source->get_vertex_name())) break; if (feach) return; } resultscc = 0; matrix->scc_marked(scc->get_val(), resultscc); if (resultscc != 0) { Normal * n = new Normal(); n->set_vertex(new Vertex()); n->get_vertex()-> set_vertex_name( (DemIdent*)source->get_vertex_name()->g_copy()); n->set_moduleRef(new LocalRef()); Fixed_term* f = new Fixed_term(); f->set_vertex(n); terms->append(f); } @)