model_server/xref/src/xrefSymbol.h.cxx
//==========================================
// xrefSymbol::get_dtors: fills array with this class's dtor and with those of
// any bases of this class (recursively).
//==========================================
:get_dtors: fills array with this class's dtor and with those of
any bases of this class (recursively).
: get_dtors : fills array with this class ' s dtor and with those of any bases of this class ( recursively ) .
void xrefSymbol::get_dtors(symbolArr& dtors, symbolArr& processed_classes) {
   Initialize(xrefSymbol::get_dtors);
   if (!processed_classes.includes(this)) {
      processed_classes.insert_last(this);
      symbolArr useds;
      get_link(is_using, useds);
      symbolPtr used;
      ForEachS(used, useds) {
	 if (used->get_kind() == DD_FUNC_DECL) {
	    char const *unqual_name = used.get_unqual_name();
	    if (*unqual_name == '~') {
	       dtors.insert_last(used);
	       break;
	    }
	 }
      }
      symbolArr bases;
      get_link(has_superclass, bases);
      symbolPtr base;
      ForEachS(base, bases) {
	 base->get_dtors(dtors, processed_classes);
      }
   }
}
void xrefSymbol :: get_dtors ( symbolArr & dtors , symbolArr & processed_classes ) { Initialize ( xrefSymbol :: get_dtors ) ; if ( ! processed_classes . includes ( this ) ) { processed_classes . insert_last ( this ) ; symbolArr useds ; get_link ( is_using , useds ) ; symbolPtr used ; ForEachS ( used , useds ) { if ( used -> get_kind ( ) == DD_FUNC_DECL ) { char const * unqual_name = used . get_unqual_name ( ) ; if ( * unqual_name == ' ' ) { dtors . insert_last ( used ) ; break ; } } } symbolArr bases ; get_link ( has_superclass , bases ) ; symbolPtr base ; ForEachS ( base , bases ) { base -> get_dtors ( dtors , processed_classes ) ; } } }
xrefSymbol::get_dtors: fills array with this class's dtor and with those of
any bases of this class (recursively).
xrefSymbol :: get_dtors : fills array with this class ' s dtor and with those of any bases of this class ( recursively ) .