void ClassListDialog::UpdateClassInfo(const wxString &itemName) { wxString classname = itemName.BeforeFirst(' '); wxCheckBox *cb = static_cast<wxCheckBox*>(FindWindow(ID_SHOW_PROPERTIES_RECURSIVELY)); m_pTextCtrl->SetValue( DumpClassInfo(wxClassInfo::FindClass(classname), cb->IsChecked())); }
static void dumpClassType( // DUMP EXTRA INFO FOR CLASS TYPE tp ) // - type { CLASSINFO *ci; // - class information ci = tp->u.c.info; DumpClassInfo( ci ); RingWalk( ci->bases, &dumpBaseClass ); }
void DumpScope( // DUMP SCOPE INFO FOR SYMBOL SCOPE scope ) // - scope { static char *scope_names[] = { #define SCOPE_DEF(a,b) # a SCOPE_DEFS #undef SCOPE_DEF }; char *id; print_delimit_line(); if( scope->id >= SCOPE_MAX ) { id = "***UNKNOWN***"; } else { id = scope_names[ scope->id ]; } printf( "SCOPE" F_BADDR " enclosing" F_PTR " names" F_PTR " owner" F_PTR F_NL " id" F_STRING " keep" F_HEX_2 " dtor_reqd" F_HEX_2 " dtor_naked" F_HEX_2 " try_catch" F_HEX_2 " in_unnamed" F_HEX_2 F_EOL , scope , scope->enclosing , scope->names , scope->owner.sym , id , scope->u.s.keep , scope->u.s.dtor_reqd , scope->u.s.dtor_naked , scope->u.s.try_catch , scope->u.s.in_unnamed ); switch( scope->id ) { case SCOPE_CLASS: { TYPE ctype; // class type ctype = ScopeClass( scope ); if( ctype != NULL ) { DumpClassInfo( ctype->u.c.info ); } } break; case SCOPE_FILE: dumpNameSpaceInfo( scope->owner.ns ); break; } ScopeWalkNames( scope, &dumpSymbolNameInfo ); RingWalk( ScopeFriends( scope ), &dumpFriendRef ); RingWalk( ScopeInherits( scope ), &dumpBaseClass ); }