Write StructuredDataDef data with additional comments stating debugging details for the format

This commit is contained in:
Jan
2022-01-22 13:39:51 +01:00
parent 96ef7a46fb
commit ec8e58e0f1
3 changed files with 20 additions and 1 deletions

View File

@ -53,6 +53,12 @@ void StructuredDataDefDumper::EndVersion()
m_flags.m_empty_line_before_block = false;
}
void StructuredDataDefDumper::WriteLineComment(const std::string& comment) const
{
Indent();
m_stream << "// " << comment << "\n";
}
void StructuredDataDefDumper::BeginEnum(const std::string& enumName, const size_t enumEntryCount, size_t enumReservedEntryCount)
{
assert(m_flags.m_in_version);
@ -214,6 +220,12 @@ void StructuredDataDefDumper::EndProperty()
ss << "[" << arraySpecifierName << "]";
}
ss << " /* Offset: " << m_current_property_offset / 8;
if (m_current_property_offset % 8 > 0)
ss << " + " << m_current_property_offset % 8 << "bit";
ss << " */ ";
m_struct_properties.emplace_back(ss.str(), m_current_property_offset);
m_block = Block::BLOCK_STRUCT;

View File

@ -45,6 +45,8 @@ public:
void BeginVersion(int version);
void EndVersion();
void WriteLineComment(const std::string& comment) const;
void BeginEnum(const std::string& enumName, size_t enumEntryCount, size_t enumReservedEntryCount);
void EndEnum();
void WriteEnumEntry(const std::string& entryName, size_t entryValue);