Print object.
408 {
410
411 if (info != NULL) {
412
413 for (TIter next(info->GetElements()); TStreamerElement* ts = dynamic_cast<TStreamerElement*>(next()); ) {
414
415 if (this->count(ts->GetTypeName()) != 0) {
416
417 if (ts->GetArrayLength() == 0)
418 this->
print(out, prefix +
"." + ts->GetName(), ts->GetTypeName(), ps + ts->GetOffset());
419 else
420 this->
print(out, prefix +
"." + ts->GetName(), ts->GetTypeName(), ps + ts->GetOffset(), ts->GetArrayLength(), ts->GetSize() / ts->GetArrayLength());
421
422 } else if (ts->GetClass() != NULL) {
423
424 if (ts->IsaPointer()) {
425
426 char* po = NULL;
427
428 memcpy(&po, ps + ts->GetOffset(), sizeof(char*));
429
430 if (po != NULL) {
431
432 if (ts->GetClass()->InheritsFrom(TList::Class())) {
433
434 this->
print(out, prefix +
"." + ts->GetName(), JRootWritableClass(TList::Class(), po));
435
436 } else {
437
438 this->
print(out, prefix +
"." + ts->GetName(), ts->GetClass()->GetStreamerInfo(), po);
439 }
440
441 } else {
442
443 out << prefix << "." << ts->GetName() << " <" << ts->GetTypeName() << "> " << "NULL" << endl;
444 }
445
446 } else if (ts->GetClass()->InheritsFrom(TArray::Class())) {
447
448 print(out, prefix +
"." + ts->GetName(), JRootWritableClass(TArray::Class(), ps + ts->GetOffset()));
449
450 } else if (ts->GetClass()->InheritsFrom(TDirectory::Class())) {
451
452
453
454 } else if (ts->GetClass()->GetCollectionProxy() != NULL) {
455
456 print(out, prefix +
"." + ts->GetName(), JRootWritableClass(ts->GetClass(), ps + ts->GetOffset()));
457
458 } else {
459
461 this->
print(out, prefix +
"." + ts->GetName(), ts->GetClass()->GetStreamerInfo(), ps + ts->GetOffset());
462 }
463 }
464 }
465 }
466 }
467 }