#pragma once #include "test_pattern.hpp" namespace hex::test { class TestPatternUnions : public TestPattern { public: TestPatternUnions() : TestPattern("Unions") { auto testUnion = create("TestUnion", "testUnion", 0x200, sizeof(u128), nullptr); auto array = create("s32", "array", 0x200, sizeof(s32[2]), nullptr); array->setEntries(create("s32", "", 0x200, sizeof(s32), nullptr), 2); auto variable = create("u128", "variable", 0x200, sizeof(u128), nullptr); testUnion->setMembers({ array, variable }); addPattern(testUnion); } ~TestPatternUnions() override = default; [[nodiscard]] std::string getSourceCode() const override { return R"( union TestUnion { s32 array[2]; u128 variable; }; TestUnion testUnion @ 0x200; )"; } }; }