Fixed handling of template template specialization parameters in instantiation deduction

This commit is contained in:
Bartek Kryza
2023-05-03 12:41:12 +02:00
parent f01ddc63f2
commit 3fea01d452
5 changed files with 105 additions and 39 deletions

View File

@@ -52,6 +52,8 @@ TEST_CASE("t00062", "[test-case][class]")
REQUIRE_THAT(puml, IsClassTemplate("A", "char[1000]"));
REQUIRE_THAT(puml, IsClassTemplate("A", "U(...)"));
REQUIRE_THAT(puml, IsClassTemplate("A", "C<T>"));
REQUIRE_THAT(puml, IsClassTemplate("A", "C<T,Args...>"));
REQUIRE_THAT(puml, IsInstantiation(_A("A<T>"), _A("A<U &>")));
REQUIRE_THAT(puml, IsInstantiation(_A("A<T>"), _A("A<U &&>")));
@@ -67,6 +69,9 @@ TEST_CASE("t00062", "[test-case][class]")
puml, IsInstantiation(_A("A<char[N]>"), _A("A<char[1000]>")));
REQUIRE_THAT(puml, IsInstantiation(_A("A<T>"), _A("A<U(...)>")));
REQUIRE_THAT(puml, IsInstantiation(_A("A<T>"), _A("A<U(...)>")));
REQUIRE_THAT(puml, IsInstantiation(_A("A<T>"), _A("A<C<T>>")));
REQUIRE_THAT(puml, IsInstantiation(_A("A<T>"), _A("A<C<T,Args...>>")));
save_puml(
config.output_directory() + "/" + diagram->name + ".puml", puml);