Generate enums as aliases

This commit is contained in:
Bartek Kryza
2021-05-22 14:10:50 +02:00
parent 6cd1abcd38
commit e1c6da5f2e
4 changed files with 60 additions and 7 deletions

View File

@@ -33,6 +33,29 @@ public:
a->foo_c();
}
private:
std::vector<A *> as;
};
//
// NOTE: libclang fails on:
//
// class D : public virtual B, public virtual C {
//
class E : virtual public B, virtual public C {
public:
void foo_a() override
{
for (auto a : as)
a->foo_a();
}
void foo_c() override
{
for (auto a : as)
a->foo_c();
}
private:
std::vector<A *> as;
};

View File

@@ -46,10 +46,10 @@ TEST_CASE("t00004", "[test-case][class]")
REQUIRE_THAT(puml, IsClass(_A("A")));
REQUIRE_THAT(puml, IsClass(_A("AA")));
REQUIRE_THAT(puml, IsClass(_A("AAA")));
REQUIRE_THAT(puml, IsEnum("Lights"));
REQUIRE_THAT(puml, IsEnum(_A("Lights")));
REQUIRE_THAT(puml, IsInnerClass(_A("A"), _A("AA")));
REQUIRE_THAT(puml, IsInnerClass(_A("AA"), _A("AAA")));
REQUIRE_THAT(puml, IsInnerClass(_A("AA"), "Lights"));
REQUIRE_THAT(puml, IsInnerClass(_A("AA"), _A("Lights")));
REQUIRE_THAT(puml, (IsMethod<Public, Const>("foo")));
REQUIRE_THAT(puml, (IsMethod<Public, Const>("foo2")));