Added rendering of template specialization members
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
# CHANGELOG
|
# CHANGELOG
|
||||||
|
|
||||||
|
* Added rendering of template specialization fields and methods (#128)
|
||||||
* Improved template specialization/instantiation matching based on deduced
|
* Improved template specialization/instantiation matching based on deduced
|
||||||
context
|
context
|
||||||
|
|
||||||
|
|||||||
@@ -206,10 +206,14 @@ bool translation_unit_visitor::VisitClassTemplateSpecializationDecl(
|
|||||||
process_template_specialization_children(cls, template_specialization);
|
process_template_specialization_children(cls, template_specialization);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cls->hasDefinition())
|
if (cls->hasDefinition()) {
|
||||||
// Process template specialization bases
|
// Process template specialization bases
|
||||||
process_class_bases(cls, template_specialization);
|
process_class_bases(cls, template_specialization);
|
||||||
|
|
||||||
|
// Process class child entities
|
||||||
|
process_class_children(cls, template_specialization);
|
||||||
|
}
|
||||||
|
|
||||||
if (!template_specialization.template_specialization_found()) {
|
if (!template_specialization.template_specialization_found()) {
|
||||||
// Only do this if we haven't found a bettern specialization during
|
// Only do this if we haven't found a bettern specialization during
|
||||||
// construction of the template specialization
|
// construction of the template specialization
|
||||||
|
|||||||
@@ -55,6 +55,14 @@ TEST_CASE("t00062", "[test-case][class]")
|
|||||||
REQUIRE_THAT(puml, IsClassTemplate("A", "C<T>"));
|
REQUIRE_THAT(puml, IsClassTemplate("A", "C<T>"));
|
||||||
REQUIRE_THAT(puml, IsClassTemplate("A", "C<T,Args...>"));
|
REQUIRE_THAT(puml, IsClassTemplate("A", "C<T,Args...>"));
|
||||||
|
|
||||||
|
REQUIRE_THAT(puml, (IsField<Public>("u", "U &")));
|
||||||
|
REQUIRE_THAT(puml, (IsField<Public>("u", "U **")));
|
||||||
|
REQUIRE_THAT(puml, (IsField<Public>("u", "U ***")));
|
||||||
|
REQUIRE_THAT(puml, (IsField<Public>("u", "U &&")));
|
||||||
|
REQUIRE_THAT(puml, (IsField<Public>("u", "const U &")));
|
||||||
|
REQUIRE_THAT(puml, (IsField<Public>("c", "C &")));
|
||||||
|
REQUIRE_THAT(puml, (IsField<Public>("m", "M C::*")));
|
||||||
|
|
||||||
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<U &&>")));
|
REQUIRE_THAT(puml, IsInstantiation(_A("A<T>"), _A("A<U &&>")));
|
||||||
REQUIRE_THAT(puml, IsInstantiation(_A("A<T>"), _A("A<M C::*>")));
|
REQUIRE_THAT(puml, IsInstantiation(_A("A<T>"), _A("A<M C::*>")));
|
||||||
|
|||||||
Reference in New Issue
Block a user