Skip to content

Commit

Permalink
FieldChunk: Changed printFieldsToStream to print all inherited fields…
Browse files Browse the repository at this point in the history
… too unless they come from the base class.
  • Loading branch information
levy committed Nov 23, 2023
1 parent f58673d commit adaff57
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions src/inet/common/packet/chunk/FieldsChunk.cc
Original file line number Diff line number Diff line change
Expand Up @@ -117,13 +117,20 @@ const Ptr<Chunk> FieldsChunk::peekUnchecked(PeekPredicate predicate, PeekConvert

std::ostream& FieldsChunk::printFieldsToStream(std::ostream& stream, int level, int evFlags) const
{
auto className = getClassName();
auto descriptor = getDescriptor();
// TODO make this more sophisticated, e.g. add properties to fields to control what is printed
if (level <= PRINT_LEVEL_DETAIL)
for (int i = 0; i < descriptor->getFieldCount(); i++)
if (!descriptor->getFieldIsArray(i) && !strcmp(className, descriptor->getFieldDeclaredOn(i)))
if (level <= PRINT_LEVEL_DETAIL) {
for (int i = 0; i < descriptor->getFieldCount(); i++) {
auto fieldDeclaredOn = descriptor->getFieldDeclaredOn(i);
if (!descriptor->getFieldIsArray(i) &&
strcmp("inet::FieldsChunk", fieldDeclaredOn) &&
strcmp("inet::Chunk", fieldDeclaredOn) &&
strcmp("omnetpp::cObject", fieldDeclaredOn))
{
stream << ", " << EV_BOLD << descriptor->getFieldName(i) << EV_NORMAL << " = " << descriptor->getFieldValueAsString(toAnyPtr(this), i, 0);
}
}
}
return stream;
}

Expand Down

0 comments on commit adaff57

Please sign in to comment.