2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-01-19 23:11:50 +00:00

chore: update ZoneCodeGenerator code style

This commit is contained in:
Jan
2025-04-19 23:01:22 +02:00
parent 9f738da517
commit 9f8a933277
135 changed files with 4406 additions and 4299 deletions

View File

@@ -6,69 +6,75 @@
#include <iostream>
#include <sstream>
class AssetStructTestsTemplate::Internal final : BaseTemplate
namespace
{
void TestMethod(StructureInformation* structure)
{
LINE("TEST_CASE(\"" << m_env.m_game << "::" << m_env.m_asset->m_definition->GetFullName() << ": Tests for " << structure->m_definition->GetFullName()
<< "\", \"[assetstruct]\")")
LINE("{")
m_intendation++;
static constexpr int TAG_SOURCE = 1;
for (const auto& member : structure->m_ordered_members)
class Template final : BaseTemplate
{
public:
Template(std::ostream& stream, RenderingContext* context)
: BaseTemplate(stream, context)
{
if (!member->m_member->m_name.empty() && !member->m_member->m_type_declaration->m_has_custom_bit_size)
}
void Source()
{
LINE("// ====================================================================")
LINE("// This file has been generated by ZoneCodeGenerator.")
LINE("// Do not modify.")
LINE("// Any changes will be discarded when regenerating.")
LINE("// ====================================================================")
LINE("")
LINE("#include <catch2/catch_test_macros.hpp>")
LINE("#include <catch2/generators/catch_generators.hpp>")
LINE("#include <cstddef>")
LINE("#include \"Game/" << m_env.m_game << "/" << m_env.m_game << ".h\"")
LINE("")
LINE("using namespace " << m_env.m_game << ";")
LINE("")
LINE("namespace game::" << m_env.m_game << "::xassets::asset_" << Lower(m_env.m_asset->m_definition->m_name))
LINE("{")
m_intendation++;
TestMethod(m_env.m_asset);
for (auto* structure : m_env.m_used_structures)
{
LINE("REQUIRE(offsetof(" << structure->m_definition->GetFullName() << ", " << member->m_member->m_name << ") == " << member->m_member->m_offset
<< ");")
StructureComputations computations(structure->m_info);
if (!structure->m_info->m_definition->m_anonymous && !computations.IsAsset())
TestMethod(structure->m_info);
}
m_intendation--;
LINE("}")
}
LINE("")
LINE("REQUIRE(" << structure->m_definition->GetSize() << "u == sizeof(" << structure->m_definition->GetFullName() << "));")
LINE("REQUIRE(" << structure->m_definition->GetAlignment() << "u == alignof(" << structure->m_definition->GetFullName() << "));")
m_intendation--;
LINE("}")
}
public:
Internal(std::ostream& stream, RenderingContext* context)
: BaseTemplate(stream, context)
{
}
void Source()
{
LINE("// ====================================================================")
LINE("// This file has been generated by ZoneCodeGenerator.")
LINE("// Do not modify.")
LINE("// Any changes will be discarded when regenerating.")
LINE("// ====================================================================")
LINE("")
LINE("#include <catch2/catch_test_macros.hpp>")
LINE("#include <catch2/generators/catch_generators.hpp>")
LINE("#include <cstddef>")
LINE("#include \"Game/" << m_env.m_game << "/" << m_env.m_game << ".h\"")
LINE("")
LINE("using namespace " << m_env.m_game << ";")
LINE("")
LINE("namespace game::" << m_env.m_game << "::xassets::asset_" << Lower(m_env.m_asset->m_definition->m_name))
LINE("{")
m_intendation++;
TestMethod(m_env.m_asset);
for (auto* structure : m_env.m_used_structures)
private:
void TestMethod(StructureInformation* structure)
{
StructureComputations computations(structure->m_info);
if (!structure->m_info->m_definition->m_anonymous && !computations.IsAsset())
TestMethod(structure->m_info);
}
LINE("TEST_CASE(\"" << m_env.m_game << "::" << m_env.m_asset->m_definition->GetFullName() << ": Tests for "
<< structure->m_definition->GetFullName() << "\", \"[assetstruct]\")")
LINE("{")
m_intendation++;
m_intendation--;
LINE("}")
}
};
for (const auto& member : structure->m_ordered_members)
{
if (!member->m_member->m_name.empty() && !member->m_member->m_type_declaration->m_has_custom_bit_size)
{
LINE("REQUIRE(offsetof(" << structure->m_definition->GetFullName() << ", " << member->m_member->m_name
<< ") == " << member->m_member->m_offset << ");")
}
}
LINE("")
LINE("REQUIRE(" << structure->m_definition->GetSize() << "u == sizeof(" << structure->m_definition->GetFullName() << "));")
LINE("REQUIRE(" << structure->m_definition->GetAlignment() << "u == alignof(" << structure->m_definition->GetFullName() << "));")
m_intendation--;
LINE("}")
}
};
} // namespace
std::vector<CodeTemplateFile> AssetStructTestsTemplate::GetFilesToRender(RenderingContext* context)
{
@@ -89,10 +95,10 @@ std::vector<CodeTemplateFile> AssetStructTestsTemplate::GetFilesToRender(Renderi
void AssetStructTestsTemplate::RenderFile(std::ostream& stream, const int fileTag, RenderingContext* context)
{
Internal internal(stream, context);
Template t(stream, context);
if (fileTag == TAG_SOURCE)
internal.Source();
t.Source();
else
std::cout << "Invalid tag in AssetStructTestsTemplate\n";
}