From 3e97a37c5f21f26d475180c52fed37add5734f6b Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Sun, 28 May 2023 19:08:10 +0200 Subject: [PATCH] Updated docs --- CHANGELOG.md | 2 + README.md | 8 +- docs/class_diagrams.md | 23 +- docs/configuration_file.md | 6 +- docs/package_diagrams.md | 11 + docs/test_cases.md | 3 + docs/test_cases/t00002.md | 2 +- docs/test_cases/t00002_class.svg | 36 +- docs/test_cases/t00003.md | 2 +- docs/test_cases/t00003_class.svg | 46 +-- docs/test_cases/t00004.md | 6 +- docs/test_cases/t00004_class.svg | 92 ++--- docs/test_cases/t00005.md | 2 +- docs/test_cases/t00005_class.svg | 110 +++--- docs/test_cases/t00006.md | 6 +- docs/test_cases/t00006_class.svg | 148 ++++---- docs/test_cases/t00007.md | 2 +- docs/test_cases/t00007_class.svg | 30 +- docs/test_cases/t00008.md | 6 +- docs/test_cases/t00008_class.svg | 84 +++-- docs/test_cases/t00009.md | 14 +- docs/test_cases/t00009_class.svg | 80 ++-- docs/test_cases/t00010.md | 10 +- docs/test_cases/t00010_class.svg | 66 ++-- docs/test_cases/t00011.md | 2 +- docs/test_cases/t00011_class.svg | 22 +- docs/test_cases/t00012.md | 22 +- docs/test_cases/t00012_class.svg | 146 ++++---- docs/test_cases/t00013.md | 18 +- docs/test_cases/t00013_class.svg | 146 ++++---- docs/test_cases/t00014.md | 62 +++- docs/test_cases/t00014_class.svg | 360 +++++++++--------- docs/test_cases/t00015.md | 2 +- docs/test_cases/t00015_class.svg | 22 +- docs/test_cases/t00016.md | 2 +- docs/test_cases/t00016_class.svg | 26 +- docs/test_cases/t00017.md | 2 +- docs/test_cases/t00017_class.svg | 66 ++-- docs/test_cases/t00018.md | 2 +- docs/test_cases/t00018_class.svg | 18 +- docs/test_cases/t00019.md | 14 +- docs/test_cases/t00019_class.svg | 88 +++-- docs/test_cases/t00020.md | 2 +- docs/test_cases/t00020_class.svg | 38 +- docs/test_cases/t00021.md | 2 +- docs/test_cases/t00021_class.svg | 30 +- docs/test_cases/t00022.md | 2 +- docs/test_cases/t00022_class.svg | 14 +- docs/test_cases/t00023.md | 2 +- docs/test_cases/t00023_class.svg | 26 +- docs/test_cases/t00024.md | 2 +- docs/test_cases/t00024_class.svg | 22 +- docs/test_cases/t00025.md | 10 +- docs/test_cases/t00025_class.svg | 66 ++-- docs/test_cases/t00026.md | 10 +- docs/test_cases/t00026_class.svg | 74 ++-- docs/test_cases/t00027.md | 26 +- docs/test_cases/t00027_class.svg | 146 ++++---- docs/test_cases/t00028.md | 6 +- docs/test_cases/t00028_class.svg | 98 ++--- docs/test_cases/t00029.md | 2 +- docs/test_cases/t00029_class.svg | 50 +-- docs/test_cases/t00030.md | 2 +- docs/test_cases/t00030_class.svg | 46 +-- docs/test_cases/t00031.md | 6 +- docs/test_cases/t00031_class.svg | 66 ++-- docs/test_cases/t00032.md | 6 +- docs/test_cases/t00032_class.svg | 56 +-- docs/test_cases/t00033.md | 14 +- docs/test_cases/t00033_class.svg | 96 ++--- docs/test_cases/t00034.md | 2 +- docs/test_cases/t00034_class.svg | 38 +- docs/test_cases/t00035.md | 2 +- docs/test_cases/t00035_class.svg | 22 +- docs/test_cases/t00036.md | 38 +- docs/test_cases/t00036_class.svg | 54 +-- docs/test_cases/t00037.md | 2 +- docs/test_cases/t00037_class.svg | 54 +-- docs/test_cases/t00038.md | 2 +- docs/test_cases/t00038_class.svg | 54 +-- docs/test_cases/t00039.md | 2 +- docs/test_cases/t00039_class.svg | 78 ++-- docs/test_cases/t00040.md | 2 +- docs/test_cases/t00040_class.svg | 26 +- docs/test_cases/t00041.md | 2 +- docs/test_cases/t00041_class.svg | 54 +-- docs/test_cases/t00042.md | 14 +- docs/test_cases/t00042_class.svg | 84 +++-- docs/test_cases/t00043.md | 2 +- docs/test_cases/t00043_class.svg | 50 +-- docs/test_cases/t00044.md | 14 +- docs/test_cases/t00044_class.svg | 80 ++-- docs/test_cases/t00045.md | 2 +- docs/test_cases/t00045_class.svg | 70 ++-- docs/test_cases/t00046.md | 7 +- docs/test_cases/t00046_class.svg | 249 ++++++------- docs/test_cases/t00047.md | 2 +- docs/test_cases/t00047_class.svg | 18 +- docs/test_cases/t00048.md | 2 +- docs/test_cases/t00048_class.svg | 50 +-- docs/test_cases/t00049.md | 14 +- docs/test_cases/t00049_class.svg | 80 ++-- docs/test_cases/t00050.md | 2 +- docs/test_cases/t00050_class.svg | 72 ++-- docs/test_cases/t00051.md | 2 +- docs/test_cases/t00051_class.svg | 38 +- docs/test_cases/t00052.md | 10 +- docs/test_cases/t00052_class.svg | 66 ++-- docs/test_cases/t00053.md | 2 +- docs/test_cases/t00053_class.svg | 70 ++-- docs/test_cases/t00054.md | 2 +- docs/test_cases/t00054_class.svg | 78 ++-- docs/test_cases/t00055.md | 2 +- docs/test_cases/t00055_class.svg | 42 +-- docs/test_cases/t00056.md | 2 +- docs/test_cases/t00056_class.svg | 94 ++--- docs/test_cases/t00057.md | 2 +- docs/test_cases/t00057_class.svg | 126 +++---- docs/test_cases/t00058.md | 14 +- docs/test_cases/t00058_class.svg | 96 ++--- docs/test_cases/t00059.md | 10 +- docs/test_cases/t00059_class.svg | 82 ++-- docs/test_cases/t00060.md | 2 +- docs/test_cases/t00060_class.svg | 38 +- docs/test_cases/t00061.md | 6 +- docs/test_cases/t00061_class.svg | 6 +- docs/test_cases/t00062.md | 2 +- docs/test_cases/t00062_class.svg | 198 +++++----- docs/test_cases/t00063.md | 2 +- docs/test_cases/t00063_class.svg | 6 +- docs/test_cases/t00064.md | 38 +- docs/test_cases/t00064_class.svg | 232 ++++++------ docs/test_cases/t00065.md | 556 ++++++++++++++++++++++++++++ docs/test_cases/t00065_class.svg | 245 ++++++++++++ docs/test_cases/t20001.md | 2 +- docs/test_cases/t20001_sequence.svg | 62 ++-- docs/test_cases/t20002.md | 2 +- docs/test_cases/t20002_sequence.svg | 48 +-- docs/test_cases/t20003.md | 2 +- docs/test_cases/t20003_sequence.svg | 48 +-- docs/test_cases/t20004.md | 2 +- docs/test_cases/t20004_sequence.svg | 120 +++--- docs/test_cases/t20005.md | 2 +- docs/test_cases/t20005_sequence.svg | 36 +- docs/test_cases/t20006.md | 2 +- docs/test_cases/t20006_sequence.svg | 150 ++++---- docs/test_cases/t20007.md | 2 +- docs/test_cases/t20007_sequence.svg | 48 +-- docs/test_cases/t20008.md | 2 +- docs/test_cases/t20008_sequence.svg | 84 ++--- docs/test_cases/t20009.md | 2 +- docs/test_cases/t20009_sequence.svg | 84 ++--- docs/test_cases/t20010.md | 2 +- docs/test_cases/t20010_sequence.svg | 72 ++-- docs/test_cases/t20011.md | 2 +- docs/test_cases/t20011_sequence.svg | 72 ++-- docs/test_cases/t20012.md | 2 +- docs/test_cases/t20012_sequence.svg | 204 +++++----- docs/test_cases/t20013.md | 2 +- docs/test_cases/t20013_sequence.svg | 60 +-- docs/test_cases/t20014.md | 2 +- docs/test_cases/t20014_sequence.svg | 72 ++-- docs/test_cases/t20015.md | 2 +- docs/test_cases/t20015_sequence.svg | 24 +- docs/test_cases/t20016.md | 2 +- docs/test_cases/t20016_sequence.svg | 48 +-- docs/test_cases/t20017.md | 48 +-- docs/test_cases/t20017_sequence.svg | 48 +-- docs/test_cases/t20018.md | 2 +- docs/test_cases/t20018_sequence.svg | 96 ++--- docs/test_cases/t20019.md | 2 +- docs/test_cases/t20019_sequence.svg | 84 ++--- docs/test_cases/t20020.md | 2 +- docs/test_cases/t20020_sequence.svg | 118 +++--- docs/test_cases/t20021.md | 2 +- docs/test_cases/t20021_sequence.svg | 106 +++--- docs/test_cases/t20022.md | 2 +- docs/test_cases/t20022_sequence.svg | 36 +- docs/test_cases/t20023.md | 2 +- docs/test_cases/t20023_sequence.svg | 50 +-- docs/test_cases/t20024.md | 2 +- docs/test_cases/t20024_sequence.svg | 88 ++--- docs/test_cases/t20025.md | 2 +- docs/test_cases/t20025_sequence.svg | 42 +-- docs/test_cases/t20026.md | 2 +- docs/test_cases/t20026_sequence.svg | 24 +- docs/test_cases/t20027.md | 2 +- docs/test_cases/t20027_sequence.svg | 24 +- docs/test_cases/t20028.md | 2 +- docs/test_cases/t20028_sequence.svg | 44 +-- docs/test_cases/t20029.md | 2 +- docs/test_cases/t20029_sequence.svg | 80 ++-- docs/test_cases/t30001.md | 2 +- docs/test_cases/t30001_package.svg | 54 +-- docs/test_cases/t30002.md | 97 +++-- docs/test_cases/t30002_package.svg | 231 ++++++------ docs/test_cases/t30003.md | 2 +- docs/test_cases/t30003_package.svg | 26 +- docs/test_cases/t30004.md | 2 +- docs/test_cases/t30004_package.svg | 38 +- docs/test_cases/t30005.md | 2 +- docs/test_cases/t30005_package.svg | 38 +- docs/test_cases/t30006.md | 2 +- docs/test_cases/t30006_package.svg | 18 +- docs/test_cases/t30007.md | 2 +- docs/test_cases/t30007_package.svg | 22 +- docs/test_cases/t30008.md | 2 +- docs/test_cases/t30008_package.svg | 34 +- docs/test_cases/t30009.md | 2 +- docs/test_cases/t30009_package.svg | 42 +-- docs/test_cases/t30010.md | 118 ++++++ docs/test_cases/t30010_package.svg | 39 ++ docs/test_cases/t30011.md | 106 ++++++ docs/test_cases/t30011_package.svg | 39 ++ docs/test_cases/t40001.md | 2 +- docs/test_cases/t40001_include.svg | 34 +- docs/test_cases/t40002.md | 2 +- docs/test_cases/t40002_include.svg | 34 +- docs/test_cases/t40003.md | 2 +- docs/test_cases/t40003_include.svg | 50 +-- 220 files changed, 5466 insertions(+), 3800 deletions(-) create mode 100644 docs/test_cases/t00065.md create mode 100644 docs/test_cases/t00065_class.svg create mode 100644 docs/test_cases/t30010.md create mode 100644 docs/test_cases/t30010_package.svg create mode 100644 docs/test_cases/t30011.md create mode 100644 docs/test_cases/t30011_package.svg diff --git a/CHANGELOG.md b/CHANGELOG.md index cc4f7c91..5d8ded35 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # CHANGELOG + * Added generation of packages in class and package diagrams from + filesystem directories (#144) * Improved handling of class template specializations and their relationships (#140) * Fixed handling of C99 typedef structs (#138) diff --git a/README.md b/README.md index 0e23cea0..6388f686 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,8 @@ Main features supported so far include: * Relationship inference from C++ containers and smart pointers - [_example_](docs/test_cases/t00007.md) * Diagram content filtering based on namespaces, elements and relationships - [_example_](docs/test_cases/t00040.md) * Optional package generation from namespaces - [_example_](docs/test_cases/t00036.md) - * Interactive links to online code to classes, methods and class fields in SVG diagrams + * Optional package generation from subdirectories - [_example_](docs/test_cases/t00065.md) + * Interactive links to online code to classes, methods and class fields in SVG diagrams [_example_](docs/test_cases/t00002_class.svg) * Support for plain C99/C11 code (struct and units relationships) - [_example_](docs/test_cases/t00057.md) * C++20 concept constraints - [_example_](docs/test_cases/t00059.md) * **Sequence diagram generation** @@ -41,11 +42,12 @@ Main features supported so far include: * Generation of try/catch blocks - [_example_](docs/test_cases/t20023.md) * Handling of template code including constexpr conditionals - [_example_](docs/test_cases/t20018.md) * Handling of lambda expressions - [_example_](docs/test_cases/t20012.md) - * Interactive links to online code to classes and call expressions + * Interactive links to online code to classes and call expressions [_example_](docs/test_cases/t20021_sequence.svg) * **Package diagram generation** * Generation of package diagram based on C++ namespaces - [_example_](docs/test_cases/t30001.md) + * Generation of package diagram based on subdirectories - [_example_](docs/test_cases/t30010.md) * Dependencies between packages based on symbols used in the code - [_example_](docs/test_cases/t30002.md) - * Interactive links to online code to packages + * Interactive links to online code to packages - [_example_](docs/test_cases/t30002_package.svg) * **Include graph diagram generation** * Show include graph for selected files - [_example_](docs/test_cases/t40001.md) diff --git a/docs/class_diagrams.md b/docs/class_diagrams.md index 99bca57e..2a98a4a9 100644 --- a/docs/class_diagrams.md +++ b/docs/class_diagrams.md @@ -7,7 +7,7 @@ * [Relationships](#relationships) * [Relationships to classes in containers or smart pointers](#relationships-to-classes-in-containers-or-smart-pointers) * [Inheritance diagrams](#inheritance-diagrams) -* [Namespaces as packages](#namespaces-as-packages) +* [Including packages in the diagram](#including-packages-in-the-diagram) * [Class context diagram](#class-context-diagram) * [Disabling dependency relationships](#disabling-dependency-relationships) @@ -126,7 +126,7 @@ inclusion filters: - inheritance ``` -## Namespaces as packages +## Including packages in the diagram By default, `clang-uml` will render all element names including a namespace (relative to `using_namespace` property), e.g. `ns1::ns2::MyClass`. In order to generate packages in the diagram for each namespace instead, the following option must be set to `true`: @@ -137,7 +137,22 @@ generate_packages: true which results in the following diagram: -![extension](test_cases/t00036_class.svg) +![t00036_class](test_cases/t00036_class.svg) + +In case the code base is structured based on subdirectory instead of namespaces, packages can be generated +based on the location of a given declaration in the filesystem tree, by adding also the following option: + +```yaml +package_type: directory +``` + +which results in the following diagram: + +![t00065_class](test_cases/t00065_class.svg) + +> In this case make sure that the root path of the configuration file is properly configured +> for your project, if necessary add `relative_to` option to denote the root path +> against which all relative paths in the config file are calculated. ## Class context diagram Sometimes it's helpful to generate a class diagram depicting only direct relationships of a given class, e.g. @@ -153,7 +168,7 @@ within the classes' documentation page, this can be easily achieved using `conte In many cases, dependency relationships between classes can clutter the diagram too much, for instance consider this diagram: -![extension](test_cases/t00019_class.svg) +![t00019_class](test_cases/t00019_class.svg) where the dependency relationships do not bring much information into the diagram. In such cases it might be useful to disable dependency relationships for this diagram completely using the following exclusion filter: diff --git a/docs/configuration_file.md b/docs/configuration_file.md index 2ba15f19..1b0fe40a 100644 --- a/docs/configuration_file.md +++ b/docs/configuration_file.md @@ -26,6 +26,8 @@ * `include_relations_also_as_members` - when set to `false`, class members for relationships are rendered in UML are skipped from class definition (default: `true`) * `generate_method_arguments` - determines whether the class diagrams methods contain full arguments (`full`), are abbreviated (`abbreviated`) or skipped (`none`) * `using_namespace` - similar to C++ `using namespace`, a `A::B` value here will render a class `A::B::C::MyClass` in the diagram as `C::MyClass`, at most 1 value is supported +* `generate_packages` - whether or not the class diagram should contain packages generated from namespaces or subdirectories +* `package_type` - determines how the packages are inferred: `namespace` - use C++ namespaces, `directory` - use project's directory structure * `include` - definition of inclusion patterns: * `namespaces` - list of namespaces to include * `relationships` - list of relationships to include @@ -86,8 +88,10 @@ diagrams: type: class # Do not include rendered relations in the class box include_relations_also_as_members: false + # Generate packages from the namespaces + generate_packages: true + package_type: namespace # or 'directory' to generate from projects subdirectories # Limiting the number of files to include can significantly - # improve the generation time glob: - src/common/model/*.h - src/common/model/*.cc diff --git a/docs/package_diagrams.md b/docs/package_diagrams.md index bf900a22..55ff0a6d 100644 --- a/docs/package_diagrams.md +++ b/docs/package_diagrams.md @@ -155,3 +155,14 @@ template std::map> cm() generates the following diagram: ![package_deps](./test_cases/t30002_package.svg) + +By default, packages are generated from C++ namespaces in the code. However +they can also be generated from the subdirectories in the filesystem tree by +adding the following option to the configuration file: + +```yaml +package_type: directory +``` + +for example checkout this diagram +![t30011_package](./test_cases/t30011_package.svg) \ No newline at end of file diff --git a/docs/test_cases.md b/docs/test_cases.md index 5e1034aa..35c1755a 100644 --- a/docs/test_cases.md +++ b/docs/test_cases.md @@ -63,6 +63,7 @@ * [t00062](./test_cases/t00062.md) - Template specialization matching based on deduced context * [t00063](./test_cases/t00063.md) - Element types diagram filter test case * [t00064](./test_cases/t00064.md) - Template type list test case + * [t00065](./test_cases/t00065.md) - Class diagram with packages from directory structure ## Sequence diagrams * [t20001](./test_cases/t20001.md) - Basic sequence diagram test case * [t20002](./test_cases/t20002.md) - Free function sequence diagram test case @@ -103,6 +104,8 @@ * [t30007](./test_cases/t30007.md) - Package diagram layout hints test case * [t30008](./test_cases/t30008.md) - Dependants and dependencies package diagram filter test * [t30009](./test_cases/t30009.md) - Together layout hint test + * [t30010](./test_cases/t30010.md) - Package diagram with packages from directory structure + * [t30011](./test_cases/t30011.md) - Package diagram with packages from directory structure for plain C ## Include diagrams * [t40001](./test_cases/t40001.md) - Basic include graph diagram test case * [t40002](./test_cases/t40002.md) - Cyclic include graph diagram test case diff --git a/docs/test_cases/t00002.md b/docs/test_cases/t00002.md index a224564e..848f2ac8 100644 --- a/docs/test_cases/t00002.md +++ b/docs/test_cases/t00002.md @@ -500,7 +500,7 @@ private: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00002_class.svg b/docs/test_cases/t00002_class.svg index 5a4b329a..22b9853d 100644 --- a/docs/test_cases/t00002_class.svg +++ b/docs/test_cases/t00002_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -21,8 +21,8 @@ foo_c() = 0 : void - - + + B @@ -31,8 +31,8 @@ foo_a() : void - - + + C @@ -41,18 +41,18 @@ foo_c() : void - - + + D - + - + as : std::vector<A *> @@ -60,18 +60,18 @@ foo_a() : void foo_c() : void - - + + E - + - + as : std::vector<A *> @@ -79,13 +79,13 @@ foo_a() : void foo_c() : void - + This is class A - + This is class B - + This is class D diff --git a/docs/test_cases/t00003.md b/docs/test_cases/t00003.md index adb57a8f..536bb8b8 100644 --- a/docs/test_cases/t00003.md +++ b/docs/test_cases/t00003.md @@ -450,7 +450,7 @@ int A::static_int = 1; } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00003_class.svg b/docs/test_cases/t00003_class.svg index 3d9809f9..a76f7ae3 100644 --- a/docs/test_cases/t00003_class.svg +++ b/docs/test_cases/t00003_class.svg @@ -1,6 +1,6 @@ - + @@ -9,74 +9,74 @@ - - + + A - + - + public_member : int - + - + protected_member : int - + - + private_member : int - + - + a_ : int - + - + b_ : int - + - + c_ : int - + - + static_int : int - + - + static_const_int : const int - + - + auto_member : const unsigned long @@ -112,11 +112,11 @@ protected_method() : void private_method() : void - + - + compare : std::function<bool (const int)> diff --git a/docs/test_cases/t00004.md b/docs/test_cases/t00004.md index a231d41e..6404d1dd 100644 --- a/docs/test_cases/t00004.md +++ b/docs/test_cases/t00004.md @@ -233,6 +233,10 @@ public: "methods": [], "name": "C::B", "namespace": "clanguml::t00004", + "source_location": { + "file": "../../tests/t00004/t00004.cc", + "line": 33 + }, "template_parameters": [ { "is_variadic": false, @@ -460,7 +464,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00004_class.svg b/docs/test_cases/t00004_class.svg index 874c71db..a9addc98 100644 --- a/docs/test_cases/t00004_class.svg +++ b/docs/test_cases/t00004_class.svg @@ -1,6 +1,6 @@ - + @@ -9,16 +9,16 @@ - - + + B - - + + B::AA @@ -28,8 +28,8 @@ AA_3 - - + + A @@ -40,16 +40,16 @@ foo2() const : void - - + + A::AA - - + + A::AA::Lights @@ -59,24 +59,26 @@ Red - - + + A::AA::AAA - - - - C::B - - int - - - - + + + + + C::B + + int + + + + + C @@ -84,39 +86,39 @@ T - + - + t : T - + - + b_int : B<int> - - + + C::AA - - + + C::AA::AAA - - + + C::AA::CCC @@ -125,8 +127,8 @@ CCC_2 - - + + C::B @@ -134,16 +136,16 @@ V - + - + b : V - - + + C::CC @@ -152,16 +154,16 @@ CC_2 - - + + detail::D - - + + detail::D::AA @@ -171,8 +173,8 @@ AA_3 - - + + detail::D::DD diff --git a/docs/test_cases/t00005.md b/docs/test_cases/t00005.md index 15c9d4e7..fdb33504 100644 --- a/docs/test_cases/t00005.md +++ b/docs/test_cases/t00005.md @@ -464,7 +464,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00005_class.svg b/docs/test_cases/t00005_class.svg index 497a90d1..0a64db19 100644 --- a/docs/test_cases/t00005_class.svg +++ b/docs/test_cases/t00005_class.svg @@ -1,6 +1,6 @@ - + @@ -9,204 +9,204 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + F - - + + G - - + + H - - + + I - - + + J - - + + K - - + + R - + - + some_int : int - + - + some_int_pointer : int * - + - + some_int_pointer_pointer : int ** - + - + some_int_reference : int & - + - + a : A - + - + b : B * - + - + c : C & - + - + d : const D * - + - + e : const E & - + - + f : F && - + - + g : G ** - + - + h : H *** - + - + i : I *& - + - + j : volatile J * - + - + k : K * diff --git a/docs/test_cases/t00006.md b/docs/test_cases/t00006.md index 65f9ff4a..64d37a28 100644 --- a/docs/test_cases/t00006.md +++ b/docs/test_cases/t00006.md @@ -466,6 +466,10 @@ public: "methods": [], "name": "custom_container", "namespace": "clanguml::t00006", + "source_location": { + "file": "../../tests/t00006/t00006.cc", + "line": 39 + }, "template_parameters": [ { "is_variadic": false, @@ -629,7 +633,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00006_class.svg b/docs/test_cases/t00006_class.svg index 728adab6..39c414bc 100644 --- a/docs/test_cases/t00006_class.svg +++ b/docs/test_cases/t00006_class.svg @@ -1,6 +1,6 @@ - + @@ -9,136 +9,136 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + F - - + + G - - + + H - - + + I - - + + J - - + + K - - + + L - - + + M - - + + N - - + + NN - - + + NNN - - + + custom_container @@ -146,118 +146,120 @@ T - + - + data : std::vector<T> - - - - custom_container - - E - - - - + + + + + custom_container + + E + + + + + R - + - + a : std::vector<A> - + - + b : std::vector<B *> - + - + c : std::map<int,C> - + - + d : std::map<int,D *> - + - + e : custom_container<E> - + - + f : std::vector<std::vector<F>> - + - + g : std::map<int,std::vector<G *>> - + - + h : std::array<H,10> - + - + i : std::array<I *,5> - + - + j : J[10] - + - + k : K *[20] - + - + lm : std::vector<std::pair<L,M>> - + - + ns : std::tuple<N,NN,NNN> diff --git a/docs/test_cases/t00007.md b/docs/test_cases/t00007.md index 6f75a29a..564cf9ec 100644 --- a/docs/test_cases/t00007.md +++ b/docs/test_cases/t00007.md @@ -158,7 +158,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00007_class.svg b/docs/test_cases/t00007_class.svg index f18019da..ff981cd6 100644 --- a/docs/test_cases/t00007_class.svg +++ b/docs/test_cases/t00007_class.svg @@ -1,6 +1,6 @@ - + @@ -9,56 +9,56 @@ - - + + A - - + + B - - + + C - - + + R - + - + a : std::unique_ptr<A> - + - + b : std::shared_ptr<B> - + - + c : std::weak_ptr<C> diff --git a/docs/test_cases/t00008.md b/docs/test_cases/t00008.md index 1602d6e2..7dab367a 100644 --- a/docs/test_cases/t00008.md +++ b/docs/test_cases/t00008.md @@ -283,6 +283,10 @@ template <> struct E::nested_template { "methods": [], "name": "B", "namespace": "clanguml::t00008", + "source_location": { + "file": "../../tests/t00008/t00008.cc", + "line": 24 + }, "template_parameters": [ { "is_variadic": false, @@ -477,7 +481,7 @@ template <> struct E::nested_template { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00008_class.svg b/docs/test_cases/t00008_class.svg index f0ce9cb9..f5f4ac51 100644 --- a/docs/test_cases/t00008_class.svg +++ b/docs/test_cases/t00008_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,51 +18,51 @@ T,P=T,CMP=nullptr,int N=3 - + - + value : T - + - + pointer : T * - + - + reference : T & - + - + values : std::vector<P> - + - + ints : std::array<int,N> - + - + comparator : CMP - - + + Vector @@ -70,16 +70,16 @@ T - + - + values : std::vector<T> - - + + B @@ -87,34 +87,36 @@ T,C<> - + - + template_template : C<T> - - - - B - - int,Vector - - - - + + + + + B + + int,Vector + + + + + D - + - + ints : B<int,Vector> @@ -122,16 +124,16 @@ add(int i) : void D<Items...>(std::tuple<Items...> * ) : void - - + + E - - + + E::nested_template @@ -142,8 +144,8 @@ get(ET * d) : E::nested_template::DT * - - + + E::nested_template diff --git a/docs/test_cases/t00009.md b/docs/test_cases/t00009.md index efdbd04b..192c23c8 100644 --- a/docs/test_cases/t00009.md +++ b/docs/test_cases/t00009.md @@ -97,6 +97,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00009", + "source_location": { + "file": "../../tests/t00009/t00009.cc", + "line": 7 + }, "template_parameters": [ { "is_variadic": false, @@ -120,6 +124,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00009", + "source_location": { + "file": "../../tests/t00009/t00009.cc", + "line": 7 + }, "template_parameters": [ { "is_variadic": false, @@ -143,6 +151,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00009", + "source_location": { + "file": "../../tests/t00009/t00009.cc", + "line": 7 + }, "template_parameters": [ { "is_variadic": false, @@ -213,7 +225,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00009_class.svg b/docs/test_cases/t00009_class.svg index a4c95777..f66ad2de 100644 --- a/docs/test_cases/t00009_class.svg +++ b/docs/test_cases/t00009_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,64 +18,70 @@ T - + - + value : T - - - - A - - int - - - - - - A - - std::string - - - - - - A - - std::vector<std::string> - - - - + + + + + A + + int + + + + + + + + A + + std::string + + + + + + + + A + + std::vector<std::string> + + + + + B - + - + aint : A<int> - + - + astring : A<std::string> * - + - + avector : A<std::vector<std::string>> & diff --git a/docs/test_cases/t00010.md b/docs/test_cases/t00010.md index 9a512a46..506355ee 100644 --- a/docs/test_cases/t00010.md +++ b/docs/test_cases/t00010.md @@ -117,6 +117,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00010", + "source_location": { + "file": "../../tests/t00010/t00010.cc", + "line": 7 + }, "template_parameters": [ { "is_variadic": false, @@ -184,6 +188,10 @@ public: "methods": [], "name": "B", "namespace": "clanguml::t00010", + "source_location": { + "file": "../../tests/t00010/t00010.cc", + "line": 13 + }, "template_parameters": [ { "is_variadic": false, @@ -227,7 +235,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00010_class.svg b/docs/test_cases/t00010_class.svg index b8e4a943..0fa28584 100644 --- a/docs/test_cases/t00010_class.svg +++ b/docs/test_cases/t00010_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,31 +18,33 @@ T,P - + - + first : T - + - + second : P - - - - A - - T,std::string - - - - + + + + + A + + T,std::string + + + + + B @@ -50,34 +52,36 @@ T - + - + astring : A<T,std::string> - - - - B - - int - - - - + + + + + B + + int + + + + + C - + - + aintstring : B<int> diff --git a/docs/test_cases/t00011.md b/docs/test_cases/t00011.md index caef2dff..55d17294 100644 --- a/docs/test_cases/t00011.md +++ b/docs/test_cases/t00011.md @@ -176,7 +176,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00011_class.svg b/docs/test_cases/t00011_class.svg index ceebd7f5..2589db5c 100644 --- a/docs/test_cases/t00011_class.svg +++ b/docs/test_cases/t00011_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + D @@ -18,16 +18,16 @@ T - + - + value : T - - + + A @@ -36,18 +36,18 @@ foo() : void - - + + B - + - + m_a : A * diff --git a/docs/test_cases/t00012.md b/docs/test_cases/t00012.md index 99f9637a..16bf27f2 100644 --- a/docs/test_cases/t00012.md +++ b/docs/test_cases/t00012.md @@ -217,6 +217,10 @@ class R { "methods": [], "name": "A", "namespace": "clanguml::t00012", + "source_location": { + "file": "../../tests/t00012/t00012.cc", + "line": 11 + }, "template_parameters": [ { "is_variadic": false, @@ -252,6 +256,10 @@ class R { "methods": [], "name": "A", "namespace": "clanguml::t00012", + "source_location": { + "file": "../../tests/t00012/t00012.cc", + "line": 11 + }, "template_parameters": [ { "is_variadic": false, @@ -287,6 +295,10 @@ class R { "methods": [], "name": "B", "namespace": "clanguml::t00012", + "source_location": { + "file": "../../tests/t00012/t00012.cc", + "line": 16 + }, "template_parameters": [ { "is_variadic": false, @@ -322,6 +334,10 @@ class R { "methods": [], "name": "B", "namespace": "clanguml::t00012", + "source_location": { + "file": "../../tests/t00012/t00012.cc", + "line": 16 + }, "template_parameters": [ { "is_variadic": false, @@ -363,6 +379,10 @@ class R { "methods": [], "name": "C", "namespace": "clanguml::t00012", + "source_location": { + "file": "../../tests/t00012/t00012.cc", + "line": 20 + }, "template_parameters": [ { "is_variadic": false, @@ -498,7 +518,7 @@ class R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00012_class.svg b/docs/test_cases/t00012_class.svg index d0194788..0f3aa642 100644 --- a/docs/test_cases/t00012_class.svg +++ b/docs/test_cases/t00012_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,23 +18,23 @@ T,Ts... - + - + value : T - + - + values : std::variant<Ts...> - - + + B @@ -43,15 +43,15 @@ - + - + ints : std::array<int,sizeof...(Is)> - - + + C @@ -60,97 +60,107 @@ - + - + ints : std::array<T,sizeof...(Is)> - - - - A - - int,std::string,float - - - - - - A - - int,std::string,bool - - - - - - B - - 3,2,1 - - - - - - B - - 1,1,1,1 - - - - - - C - - std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3 - - - - + + + + + A + + int,std::string,float + + + + + + + + A + + int,std::string,bool + + + + + + + + B + + 3,2,1 + + + + + + + + B + + 1,1,1,1 + + + + + + + + C + + std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3 + + + + + R - + - + a1 : A<int,std::string,float> - + - + a2 : A<int,std::string,bool> - + - + b1 : B<3,2,1> - + - + b2 : B<1,1,1,1> - + - + c1 : C<std::map<int,std::vector<std::vector<std::vector<std::string>>>>,3,3,3> - + Long template annotation diff --git a/docs/test_cases/t00013.md b/docs/test_cases/t00013.md index e0e4f482..e8d4ab94 100644 --- a/docs/test_cases/t00013.md +++ b/docs/test_cases/t00013.md @@ -145,6 +145,10 @@ private: "methods": [], "name": "F", "namespace": "ABCD", + "source_location": { + "file": "../../tests/t00013/t00013.cc", + "line": 7 + }, "template_parameters": [ { "is_variadic": false, @@ -402,6 +406,10 @@ private: "methods": [], "name": "E", "namespace": "clanguml::t00013", + "source_location": { + "file": "../../tests/t00013/t00013.cc", + "line": 33 + }, "template_parameters": [ { "is_variadic": false, @@ -425,6 +433,10 @@ private: "methods": [], "name": "G", "namespace": "clanguml::t00013", + "source_location": { + "file": "../../tests/t00013/t00013.cc", + "line": 37 + }, "template_parameters": [ { "is_variadic": false, @@ -460,6 +472,10 @@ private: "methods": [], "name": "E", "namespace": "clanguml::t00013", + "source_location": { + "file": "../../tests/t00013/t00013.cc", + "line": 33 + }, "template_parameters": [ { "is_variadic": false, @@ -701,7 +717,7 @@ private: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00013_class.svg b/docs/test_cases/t00013_class.svg index 5e2ce949..d25a0d58 100644 --- a/docs/test_cases/t00013_class.svg +++ b/docs/test_cases/t00013_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + ABCD::F @@ -18,86 +18,88 @@ T - + - + f : T - - - - ABCD::F - - int - - - - + + + + + ABCD::F + + int + + + + + A - + - + a : int - - + + B - + - + b : int - - + + C - + - + c : int - - + + D - + - + d : int print(R * r) : void - - + + E @@ -105,16 +107,16 @@ T - + - + e : T - - + + G @@ -122,64 +124,70 @@ T,Args... - + - + g : T - + - + args : std::tuple<Args...> - - - - E - - int - - - - - - G - - int,float,std::string - - - - - - E - - std::string - - - - + + + + + E + + int + + + + + + + + G + + int,float,std::string + + + + + + + + E + + std::string + + + + + R - + - + gintstring : G<int,float,std::string> - + - + estring : E<std::string> diff --git a/docs/test_cases/t00014.md b/docs/test_cases/t00014.md index 8d74bfd8..294a0db3 100644 --- a/docs/test_cases/t00014.md +++ b/docs/test_cases/t00014.md @@ -209,6 +209,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../tests/t00014/t00014.cc", + "line": 21 + }, "template_parameters": [ { "is_variadic": false, @@ -238,6 +242,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../tests/t00014/t00014.cc", + "line": 21 + }, "template_parameters": [ { "is_variadic": false, @@ -274,6 +282,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../../../../../usr/include/c++/12/bits/stl_iterator.h", + "line": 2547 + }, "template_parameters": [ { "is_variadic": false, @@ -303,6 +315,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../../../../../usr/include/c++/12/bits/unique_ptr.h", + "line": 269 + }, "template_parameters": [ { "is_variadic": false, @@ -332,6 +348,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../../../../../usr/include/c++/12/bits/stl_iterator.h", + "line": 2547 + }, "template_parameters": [ { "is_variadic": false, @@ -361,6 +381,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../../../../../usr/include/c++/12/bits/stl_iterator.h", + "line": 2547 + }, "template_parameters": [ { "is_variadic": false, @@ -390,6 +414,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../../../../../usr/include/c++/12/bits/unique_ptr.h", + "line": 269 + }, "template_parameters": [ { "is_variadic": false, @@ -419,6 +447,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../../../../../usr/include/c++/12/bits/stl_iterator.h", + "line": 2547 + }, "template_parameters": [ { "is_variadic": false, @@ -448,6 +480,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../../../../../usr/include/c++/12/bits/shared_ptr.h", + "line": 175 + }, "template_parameters": [ { "is_variadic": false, @@ -477,6 +513,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../tests/t00014/t00014.cc", + "line": 21 + }, "template_parameters": [ { "is_variadic": false, @@ -506,6 +546,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../tests/t00014/t00014.cc", + "line": 21 + }, "template_parameters": [ { "is_variadic": false, @@ -542,6 +586,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../tests/t00014/t00014.cc", + "line": 21 + }, "template_parameters": [ { "is_variadic": false, @@ -571,6 +619,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../tests/t00014/t00014.cc", + "line": 21 + }, "template_parameters": [ { "is_variadic": false, @@ -600,6 +652,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../../../../../usr/include/c++/12/bits/std_function.h", + "line": 111 + }, "template_parameters": [ { "is_variadic": false, @@ -629,6 +685,10 @@ public: "methods": [], "name": "A", "namespace": "clanguml::t00014", + "source_location": { + "file": "../../../../../../usr/include/c++/12/bits/std_function.h", + "line": 111 + }, "template_parameters": [ { "is_variadic": false, @@ -835,7 +895,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00014_class.svg b/docs/test_cases/t00014_class.svg index 6b0088ea..f1776804 100644 --- a/docs/test_cases/t00014_class.svg +++ b/docs/test_cases/t00014_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,158 +18,188 @@ T,P - + - + t : T - + - + p : P - - + + B - + - + value : std::string - - - - A - - T,std::string - - - - - - A - - T,std::unique_ptr<std::string> - - - - - - A - - long,T - - - - - - A - - double,T - - - - - - A - - long,U - - - - - - A - - long,bool - - - - - - A - - double,bool - - - - - - A - - long,float - - - - - - A - - double,float - - - - - - A - - bool,std::string - - - - - - A - - float,std::unique_ptr<std::string> - - - - - - A - - int,std::string - - - - - - A - - std::string,std::string - - - - - - A - - char,std::string - - - - - - A - - wchar_t,std::string - - - - + + + + + A + + T,std::string + + + + + + + + A + + T,std::unique_ptr<std::string> + + + + + + + + A + + long,T + + + + + + + + A + + double,T + + + + + + + + A + + long,U + + + + + + + + A + + long,bool + + + + + + + + A + + double,bool + + + + + + + + A + + long,float + + + + + + + + A + + double,float + + + + + + + + A + + bool,std::string + + + + + + + + A + + float,std::unique_ptr<std::string> + + + + + + + + A + + int,std::string + + + + + + + + A + + std::string,std::string + + + + + + + + A + + char,std::string + + + + + + + + A + + wchar_t,std::string + + + + + R @@ -177,116 +207,116 @@ T - + - + bapair : PairPairBA<bool> - + - + abool : APtr<bool> - + - + aboolfloat : AAPtr<bool,float> - + - + afloat : ASharedPtr<float> - + - + boolstring : A<bool,std::string> - + - + floatstring : AStringPtr<float> - + - + intstring : AIntString - + - + stringstring : AStringString - + - + bstringstring : BStringString - + - + atfloat : AAPtr<T,float> - + - + bs : BVector - + - + bs2 : BVector2 - + - + cb : SimpleCallback<ACharString> - + - + gcb : GenericCallback<R::AWCharString> - + - + vcb : VoidCallback - + - + vps : VectorPtr<B> diff --git a/docs/test_cases/t00015.md b/docs/test_cases/t00015.md index ab7de950..fbd4cdab 100644 --- a/docs/test_cases/t00015.md +++ b/docs/test_cases/t00015.md @@ -177,7 +177,7 @@ class B : public ns1::ns2::Anon { }; } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00015_class.svg b/docs/test_cases/t00015_class.svg index dfffc6ad..271d9141 100644 --- a/docs/test_cases/t00015_class.svg +++ b/docs/test_cases/t00015_class.svg @@ -1,6 +1,6 @@ - + @@ -9,40 +9,40 @@ - - + + ns1::A - - + + ns1::ns2_v0_9_0::A - - + + ns1::Anon - - + + ns3::ns1::ns2::Anon - - + + ns3::B diff --git a/docs/test_cases/t00016.md b/docs/test_cases/t00016.md index 491a03b6..ed7a7568 100644 --- a/docs/test_cases/t00016.md +++ b/docs/test_cases/t00016.md @@ -261,7 +261,7 @@ template <> struct is_numeric { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00016_class.svg b/docs/test_cases/t00016_class.svg index f37f2d38..22672f19 100644 --- a/docs/test_cases/t00016_class.svg +++ b/docs/test_cases/t00016_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + is_numeric @@ -21,8 +21,8 @@ value : enum - - + + is_numeric @@ -33,8 +33,8 @@ value : enum - - + + is_numeric @@ -45,8 +45,8 @@ value : enum - - + + is_numeric @@ -57,8 +57,8 @@ value : enum - - + + is_numeric @@ -69,8 +69,8 @@ value : enum - - + + is_numeric diff --git a/docs/test_cases/t00017.md b/docs/test_cases/t00017.md index 21aefe1e..ce165d61 100644 --- a/docs/test_cases/t00017.md +++ b/docs/test_cases/t00017.md @@ -510,7 +510,7 @@ private: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00017_class.svg b/docs/test_cases/t00017_class.svg index 9849985d..bfffcc28 100644 --- a/docs/test_cases/t00017_class.svg +++ b/docs/test_cases/t00017_class.svg @@ -1,6 +1,6 @@ - + @@ -9,127 +9,127 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + F - - + + G - - + + H - - + + I - - + + J - - + + K - - + + R - + - + some_int : int - + - + some_int_pointer : int * - + - + some_int_pointer_pointer : int ** - + - + some_int_reference : int & diff --git a/docs/test_cases/t00018.md b/docs/test_cases/t00018.md index 9755f4c6..e48ea21c 100644 --- a/docs/test_cases/t00018.md +++ b/docs/test_cases/t00018.md @@ -390,7 +390,7 @@ void widget::draw(const clanguml::t00018::widget &w) } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00018_class.svg b/docs/test_cases/t00018_class.svg index 38a508c4..9b5fe3f1 100644 --- a/docs/test_cases/t00018_class.svg +++ b/docs/test_cases/t00018_class.svg @@ -1,6 +1,6 @@ - + @@ -9,18 +9,18 @@ - - + + impl::widget - + - + n : int @@ -30,18 +30,18 @@ draw(const widget & w) : void widget(int n) : void - - + + widget - + - + pImpl : std::unique_ptr<impl::widget> diff --git a/docs/test_cases/t00019.md b/docs/test_cases/t00019.md index bf84662f..cf2e07a4 100644 --- a/docs/test_cases/t00019.md +++ b/docs/test_cases/t00019.md @@ -435,6 +435,10 @@ class Base { "methods": [], "name": "Layer3", "namespace": "clanguml::t00019", + "source_location": { + "file": "../../tests/t00019/t00019_layer2.h", + "line": 6 + }, "template_parameters": [ { "is_variadic": false, @@ -465,6 +469,10 @@ class Base { "methods": [], "name": "Layer2", "namespace": "clanguml::t00019", + "source_location": { + "file": "../../tests/t00019/t00019_layer1.h", + "line": 9 + }, "template_parameters": [ { "is_variadic": false, @@ -502,6 +510,10 @@ class Base { "methods": [], "name": "Layer1", "namespace": "clanguml::t00019", + "source_location": { + "file": "../../../../../../usr/include/c++/12/bits/unique_ptr.h", + "line": 269 + }, "template_parameters": [ { "is_variadic": false, @@ -559,7 +571,7 @@ class Base { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00019_class.svg b/docs/test_cases/t00019_class.svg index 626c9109..3d0d6bff 100644 --- a/docs/test_cases/t00019_class.svg +++ b/docs/test_cases/t00019_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Base @@ -25,8 +25,8 @@ m2() : std::string - - + + Layer1 @@ -39,8 +39,8 @@ m2() : std::string - - + + Layer2 @@ -51,8 +51,8 @@ all_calls_count() const : int - - + + Layer3 @@ -60,18 +60,18 @@ LowerLayer - + - + m_m1_calls : int - + - + m_m2_calls : int @@ -83,42 +83,48 @@ m1_calls() const : int m2_calls() const : int - - - - Layer3 - - Base - - - - - - Layer2 - - Layer3<Base> - - - - - - Layer1 - - Layer2<Layer3<Base>> - - - - + + + + + Layer3 + + Base + + + + + + + + Layer2 + + Layer3<Base> + + + + + + + + Layer1 + + Layer2<Layer3<Base>> + + + + + A - + - + layers : std::unique_ptr<Layer1<Layer2<Layer3<Base>>>> diff --git a/docs/test_cases/t00020.md b/docs/test_cases/t00020.md index 5b5e3e0b..c8a0002e 100644 --- a/docs/test_cases/t00020.md +++ b/docs/test_cases/t00020.md @@ -534,7 +534,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00020_class.svg b/docs/test_cases/t00020_class.svg index 8cd2754a..7012b669 100644 --- a/docs/test_cases/t00020_class.svg +++ b/docs/test_cases/t00020_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + ProductA @@ -21,8 +21,8 @@ sell(int price) const = 0 : bool - - + + ProductA1 @@ -31,8 +31,8 @@ sell(int price) const : bool - - + + ProductA2 @@ -41,8 +41,8 @@ sell(int price) const : bool - - + + ProductB @@ -53,8 +53,8 @@ buy(int price) const = 0 : bool - - + + ProductB1 @@ -63,8 +63,8 @@ buy(int price) const : bool - - + + ProductB2 @@ -73,8 +73,8 @@ buy(int price) const : bool - - + + AbstractFactory @@ -85,8 +85,8 @@ make_b() const = 0 : std::unique_ptr<ProductB> - - + + Factory1 @@ -97,8 +97,8 @@ make_b() const : std::unique_ptr<ProductB> - - + + Factory2 diff --git a/docs/test_cases/t00021.md b/docs/test_cases/t00021.md index 3d93837a..1284b808 100644 --- a/docs/test_cases/t00021.md +++ b/docs/test_cases/t00021.md @@ -472,7 +472,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00021_class.svg b/docs/test_cases/t00021_class.svg index 78967dae..092fd7b4 100644 --- a/docs/test_cases/t00021_class.svg +++ b/docs/test_cases/t00021_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Visitor @@ -23,8 +23,8 @@ visit_B(const B & item) const = 0 : void - - + + Visitor1 @@ -35,8 +35,8 @@ visit_B(const B & item) const : void - - + + Visitor2 @@ -47,8 +47,8 @@ visit_B(const B & item) const : void - - + + Visitor3 @@ -59,8 +59,8 @@ visit_B(const B & item) const : void - - + + Item @@ -71,8 +71,8 @@ accept(const Visitor & visitor) const = 0 : void - - + + A @@ -81,8 +81,8 @@ accept(const Visitor & visitor) const : void - - + + B diff --git a/docs/test_cases/t00022.md b/docs/test_cases/t00022.md index a43c383b..e110be76 100644 --- a/docs/test_cases/t00022.md +++ b/docs/test_cases/t00022.md @@ -221,7 +221,7 @@ protected: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00022_class.svg b/docs/test_cases/t00022_class.svg index a13204a4..608091b7 100644 --- a/docs/test_cases/t00022_class.svg +++ b/docs/test_cases/t00022_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -23,8 +23,8 @@ method2() = 0 : void - - + + A1 @@ -35,8 +35,8 @@ method2() : void - - + + A2 diff --git a/docs/test_cases/t00023.md b/docs/test_cases/t00023.md index 1c94678a..471f8ad0 100644 --- a/docs/test_cases/t00023.md +++ b/docs/test_cases/t00023.md @@ -295,7 +295,7 @@ private: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00023_class.svg b/docs/test_cases/t00023_class.svg index 538ad218..4545f39f 100644 --- a/docs/test_cases/t00023_class.svg +++ b/docs/test_cases/t00023_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Strategy @@ -21,8 +21,8 @@ algorithm() = 0 : void - - + + StrategyA @@ -31,8 +31,8 @@ algorithm() : void - - + + StrategyB @@ -41,8 +41,8 @@ algorithm() : void - - + + StrategyC @@ -51,18 +51,18 @@ algorithm() : void - - + + Context - + - + m_strategy : std::unique_ptr<Strategy> diff --git a/docs/test_cases/t00024.md b/docs/test_cases/t00024.md index 026a3eb9..69def9fe 100644 --- a/docs/test_cases/t00024.md +++ b/docs/test_cases/t00024.md @@ -309,7 +309,7 @@ private: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00024_class.svg b/docs/test_cases/t00024_class.svg index 358a5d27..c06d0444 100644 --- a/docs/test_cases/t00024_class.svg +++ b/docs/test_cases/t00024_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Target @@ -23,8 +23,8 @@ m2() = 0 : void - - + + Target1 @@ -35,8 +35,8 @@ m2() : void - - + + Target2 @@ -47,18 +47,18 @@ m2() : void - - + + Proxy - + - + m_target : std::shared_ptr<Target> diff --git a/docs/test_cases/t00025.md b/docs/test_cases/t00025.md index f6f5dd7d..e99a7569 100644 --- a/docs/test_cases/t00025.md +++ b/docs/test_cases/t00025.md @@ -247,6 +247,10 @@ public: "methods": [], "name": "Proxy", "namespace": "clanguml::t00025", + "source_location": { + "file": "../../tests/t00025/t00025.cc", + "line": 18 + }, "template_parameters": [ { "is_variadic": false, @@ -270,6 +274,10 @@ public: "methods": [], "name": "Proxy", "namespace": "clanguml::t00025", + "source_location": { + "file": "../../tests/t00025/t00025.cc", + "line": 18 + }, "template_parameters": [ { "is_variadic": false, @@ -323,7 +331,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00025_class.svg b/docs/test_cases/t00025_class.svg index 49ce4ad4..7b62c9ae 100644 --- a/docs/test_cases/t00025_class.svg +++ b/docs/test_cases/t00025_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Target1 @@ -21,8 +21,8 @@ m2() : void - - + + Target2 @@ -33,8 +33,8 @@ m2() : void - - + + Proxy @@ -42,11 +42,11 @@ T - + - + m_target : std::shared_ptr<T> @@ -56,41 +56,45 @@ m1() : void m2() : void - - - - Proxy - - Target1 - - - - - - Proxy - - Target2 - - - - + + + + + Proxy + + Target1 + + + + + + + + Proxy + + Target2 + + + + + ProxyHolder - + - + proxy1 : Proxy<Target1> - + - + proxy2 : Proxy<Target2> diff --git a/docs/test_cases/t00026.md b/docs/test_cases/t00026.md index 1627d7ed..07002854 100644 --- a/docs/test_cases/t00026.md +++ b/docs/test_cases/t00026.md @@ -357,6 +357,10 @@ struct StringMemento { "methods": [], "name": "Caretaker", "namespace": "clanguml::t00026", + "source_location": { + "file": "../../tests/t00026/t00026.cc", + "line": 40 + }, "template_parameters": [ { "is_variadic": false, @@ -380,6 +384,10 @@ struct StringMemento { "methods": [], "name": "Originator", "namespace": "clanguml::t00026", + "source_location": { + "file": "../../tests/t00026/t00026.cc", + "line": 21 + }, "template_parameters": [ { "is_variadic": false, @@ -433,7 +441,7 @@ struct StringMemento { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00026_class.svg b/docs/test_cases/t00026_class.svg index 3676c338..b23447a1 100644 --- a/docs/test_cases/t00026_class.svg +++ b/docs/test_cases/t00026_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Memento @@ -18,11 +18,11 @@ T - + - + m_value : T @@ -30,8 +30,8 @@ Memento(T && v) : void value() const : T - - + + Originator @@ -39,11 +39,11 @@ T - + - + m_value : T @@ -57,8 +57,8 @@ print() const : void set(T && v) : void - - + + Caretaker @@ -66,11 +66,11 @@ T - + - + m_mementos : std::unordered_map<std::string,Memento<T>> @@ -78,41 +78,45 @@ state(const std::string & n) : Memento<T> & set_state(const std::string & s, Memento<T> && m) : void - - - - Caretaker - - std::string - - - - - - Originator - - std::string - - - - + + + + + Caretaker + + std::string + + + + + + + + Originator + + std::string + + + + + StringMemento - + - + caretaker : Caretaker<std::string> - + - + originator : Originator<std::string> diff --git a/docs/test_cases/t00027.md b/docs/test_cases/t00027.md index 5a73decb..b4b60c51 100644 --- a/docs/test_cases/t00027.md +++ b/docs/test_cases/t00027.md @@ -140,6 +140,10 @@ struct Window { "methods": [], "name": "Line", "namespace": "clanguml::t00027", + "source_location": { + "file": "../../tests/t00027/t00027.cc", + "line": 14 + }, "template_parameters": [], "type": "class" }, @@ -209,6 +213,10 @@ struct Window { "methods": [], "name": "Text", "namespace": "clanguml::t00027", + "source_location": { + "file": "../../tests/t00027/t00027.cc", + "line": 24 + }, "template_parameters": [], "type": "class" }, @@ -405,6 +413,10 @@ struct Window { "methods": [], "name": "Line", "namespace": "clanguml::t00027", + "source_location": { + "file": "../../tests/t00027/t00027.cc", + "line": 15 + }, "template_parameters": [ { "is_variadic": false, @@ -434,6 +446,10 @@ struct Window { "methods": [], "name": "Line", "namespace": "clanguml::t00027", + "source_location": { + "file": "../../tests/t00027/t00027.cc", + "line": 15 + }, "template_parameters": [ { "is_variadic": false, @@ -457,6 +473,10 @@ struct Window { "methods": [], "name": "Text", "namespace": "clanguml::t00027", + "source_location": { + "file": "../../tests/t00027/t00027.cc", + "line": 25 + }, "template_parameters": [ { "is_variadic": false, @@ -486,6 +506,10 @@ struct Window { "methods": [], "name": "Text", "namespace": "clanguml::t00027", + "source_location": { + "file": "../../tests/t00027/t00027.cc", + "line": 25 + }, "template_parameters": [ { "is_variadic": false, @@ -559,7 +583,7 @@ struct Window { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00027_class.svg b/docs/test_cases/t00027_class.svg index 90819359..558a197c 100644 --- a/docs/test_cases/t00027_class.svg +++ b/docs/test_cases/t00027_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Shape @@ -21,14 +21,16 @@ ~Shape() = default : void - - - - Line - - - - + + + + + Line + + + + + Line @@ -39,14 +41,16 @@ display() : void - - - - Text - - - - + + + + + Text + + + + + Text @@ -57,8 +61,8 @@ display() : void - - + + ShapeDecorator @@ -67,8 +71,8 @@ display() = 0 : void - - + + Color @@ -79,8 +83,8 @@ display() : void - - + + Weight @@ -91,71 +95,79 @@ display() : void - - - - Line - - Color,Weight - - - - - - Line - - Color - - - - - - Text - - Color,Weight - - - - - - Text - - Color - - - - + + + + + Line + + Color,Weight + + + + + + + + Line + + Color + + + + + + + + Text + + Color,Weight + + + + + + + + Text + + Color + + + + + Window - + - + border : Line<Color,Weight> - + - + divider : Line<Color> - + - + title : Text<Color,Weight> - + - + description : Text<Color> diff --git a/docs/test_cases/t00028.md b/docs/test_cases/t00028.md index 478bd81f..aae1a182 100644 --- a/docs/test_cases/t00028.md +++ b/docs/test_cases/t00028.md @@ -287,6 +287,10 @@ class R { "methods": [], "name": "E", "namespace": "clanguml::t00028", + "source_location": { + "file": "../../tests/t00028/t00028.cc", + "line": 25 + }, "template_parameters": [ { "is_variadic": false, @@ -410,7 +414,7 @@ class R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00028_class.svg b/docs/test_cases/t00028_class.svg index f47acbce..dff9e7c7 100644 --- a/docs/test_cases/t00028_class.svg +++ b/docs/test_cases/t00028_class.svg @@ -1,6 +1,6 @@ - + @@ -9,54 +9,54 @@ - - + + A - + A class note. - - + + B - + B class note. - - + + C - + C class note. - - + + D - + D class note. - - + + E @@ -64,27 +64,27 @@ T - + - + param : T - + E template class note. - - + + G - - + + F @@ -94,76 +94,78 @@ three - + F enum note. - - - - E - - int - - - - + + + + + E + + int + + + + + R - + - + aaa : A - + - + bbb : B * - + - + ccc : C & - + - + ddd : std::vector<std::shared_ptr<D>> - + - + eee : E<int> - + - + ggg : G ** R(C & c) : void - + R class note. - + R contains an instance of A. - + Reference to C. diff --git a/docs/test_cases/t00029.md b/docs/test_cases/t00029.md index 3bc69fbe..3f8ed961 100644 --- a/docs/test_cases/t00029.md +++ b/docs/test_cases/t00029.md @@ -286,7 +286,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00029_class.svg b/docs/test_cases/t00029_class.svg index 2172d85a..1461d94c 100644 --- a/docs/test_cases/t00029_class.svg +++ b/docs/test_cases/t00029_class.svg @@ -1,6 +1,6 @@ - + @@ -9,16 +9,16 @@ - - + + A - - + + C @@ -26,16 +26,16 @@ T - + - + param : T - - + + E @@ -45,64 +45,64 @@ three - - + + G1 - - + + G2 - - + + G3 - - + + G4 - - + + R - + - + g1 : G1 - + - + g3 : G3 & - + - + g4 : std::shared_ptr<G4> diff --git a/docs/test_cases/t00030.md b/docs/test_cases/t00030.md index 045a281c..17ad619d 100644 --- a/docs/test_cases/t00030.md +++ b/docs/test_cases/t00030.md @@ -255,7 +255,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00030_class.svg b/docs/test_cases/t00030_class.svg index 5fb8be7d..a43abc1c 100644 --- a/docs/test_cases/t00030_class.svg +++ b/docs/test_cases/t00030_class.svg @@ -1,6 +1,6 @@ - + @@ -9,86 +9,86 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + R - + - + aaa : A - + - + bbb : std::vector<B> - + - + ccc : std::vector<C> - + - + ddd : D - + - + eee : E * diff --git a/docs/test_cases/t00031.md b/docs/test_cases/t00031.md index eb1db3be..ff0699a6 100644 --- a/docs/test_cases/t00031.md +++ b/docs/test_cases/t00031.md @@ -183,6 +183,10 @@ struct R { "methods": [], "name": "C", "namespace": "clanguml::t00031", + "source_location": { + "file": "../../tests/t00031/t00031.cc", + "line": 14 + }, "template_parameters": [ { "is_variadic": false, @@ -272,7 +276,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00031_class.svg b/docs/test_cases/t00031_class.svg index 66b24c0b..ae7c7c46 100644 --- a/docs/test_cases/t00031_class.svg +++ b/docs/test_cases/t00031_class.svg @@ -1,33 +1,33 @@ - + - + - + - - - + + + A - - + + B @@ -37,8 +37,8 @@ three - - + + @@ -47,63 +47,65 @@ T - + - + ttt : T - - + + D - - - - C - - int - - - - + + + + + C + + int + + + + + R - + - + aaa : A * - + - + bbb : std::vector<B> - + - + ccc : C<int> - + - + ddd : D * diff --git a/docs/test_cases/t00032.md b/docs/test_cases/t00032.md index 216a976f..d6f83ad7 100644 --- a/docs/test_cases/t00032.md +++ b/docs/test_cases/t00032.md @@ -297,6 +297,10 @@ struct R { "methods": [], "name": "Overload", "namespace": "clanguml::t00032", + "source_location": { + "file": "../../tests/t00032/t00032.cc", + "line": 24 + }, "template_parameters": [ { "is_variadic": false, @@ -364,7 +368,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00032_class.svg b/docs/test_cases/t00032_class.svg index b9c20337..e71b3100 100644 --- a/docs/test_cases/t00032_class.svg +++ b/docs/test_cases/t00032_class.svg @@ -1,6 +1,6 @@ - + @@ -9,24 +9,24 @@ - - + + Base - - + + TBase - - + + A @@ -35,8 +35,8 @@ operator()() : void - - + + B @@ -45,8 +45,8 @@ operator()() : void - - + + C @@ -55,8 +55,8 @@ operator()() : void - - + + Overload @@ -64,34 +64,36 @@ T,L,Ts... - + - + counter : L - - - - Overload - - TBase,int,A,B,C - - - - + + + + + Overload + + TBase,int,A,B,C + + + + + R - + - + overload : Overload<TBase,int,A,B,C> diff --git a/docs/test_cases/t00033.md b/docs/test_cases/t00033.md index 94d194b1..8de890f2 100644 --- a/docs/test_cases/t00033.md +++ b/docs/test_cases/t00033.md @@ -213,6 +213,10 @@ struct R { "methods": [], "name": "C", "namespace": "clanguml::t00033", + "source_location": { + "file": "../../../../../../usr/include/c++/12/bits/unique_ptr.h", + "line": 269 + }, "template_parameters": [ { "is_variadic": false, @@ -236,6 +240,10 @@ struct R { "methods": [], "name": "B", "namespace": "clanguml::t00033", + "source_location": { + "file": "../../tests/t00033/t00033.cc", + "line": 7 + }, "template_parameters": [ { "is_variadic": false, @@ -273,6 +281,10 @@ struct R { "methods": [], "name": "A", "namespace": "clanguml::t00033", + "source_location": { + "file": "../../tests/t00033/t00033.cc", + "line": 7 + }, "template_parameters": [ { "is_variadic": false, @@ -337,7 +349,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00033_class.svg b/docs/test_cases/t00033_class.svg index 5c9553fd..dd03db05 100644 --- a/docs/test_cases/t00033_class.svg +++ b/docs/test_cases/t00033_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,16 +18,16 @@ T - + - + aaa : T - - + + B @@ -35,16 +35,16 @@ T - + - + bbb : T - - + + C @@ -52,65 +52,71 @@ T - + - + ccc : T - - + + D - + - + ddd : int - - - - C - - D - - - - - - B - - std::unique_ptr<C<D>> - - - - - - A - - B<std::unique_ptr<C<D>>> - - - - + + + + + C + + D + + + + + + + + B + + std::unique_ptr<C<D>> + + + + + + + + A + + B<std::unique_ptr<C<D>>> + + + + + R - + - + abc : A<B<std::unique_ptr<C<D>>>> diff --git a/docs/test_cases/t00034.md b/docs/test_cases/t00034.md index 522e2cf7..a4d06718 100644 --- a/docs/test_cases/t00034.md +++ b/docs/test_cases/t00034.md @@ -307,7 +307,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00034_class.svg b/docs/test_cases/t00034_class.svg index 0f1518d9..b0daa7e6 100644 --- a/docs/test_cases/t00034_class.svg +++ b/docs/test_cases/t00034_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + Void @@ -21,8 +21,8 @@ operator!=(const Void & ) const : bool - - + + lift_void @@ -31,8 +31,8 @@ - - + + lift_void @@ -41,8 +41,8 @@ - - + + drop_void @@ -51,8 +51,8 @@ - - + + drop_void @@ -61,33 +61,33 @@ - - + + A - - + + R - + - + la : lift_void_t<A> * - + - + lv : lift_void_t<void> * diff --git a/docs/test_cases/t00035.md b/docs/test_cases/t00035.md index b3ea97c4..7372e9d9 100644 --- a/docs/test_cases/t00035.md +++ b/docs/test_cases/t00035.md @@ -150,7 +150,7 @@ struct Right { }; } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00035_class.svg b/docs/test_cases/t00035_class.svg index 8e60faa6..2944c98a 100644 --- a/docs/test_cases/t00035_class.svg +++ b/docs/test_cases/t00035_class.svg @@ -1,6 +1,6 @@ - + @@ -9,40 +9,40 @@ - - + + Top - - + + Left - - + + Center - - + + Bottom - - + + Right diff --git a/docs/test_cases/t00036.md b/docs/test_cases/t00036.md index f5c8c6bf..fee3aa8b 100644 --- a/docs/test_cases/t00036.md +++ b/docs/test_cases/t00036.md @@ -14,6 +14,9 @@ diagrams: include: namespaces: - clanguml::t00036 + exclude: + subclasses: + - clanguml::t00036::ns2::ns22::D ``` ## Source code File t00036.cc @@ -47,9 +50,19 @@ namespace ns22 { // TODO: Fix for incomplete struct C declaration "struct C;" struct C { }; +struct D { }; + } } +namespace ns3 { +namespace ns33 { +namespace detail { +struct DImpl : public ns2::ns22::D { }; +} +} // namespace ns33 +} // namespace ns3 + } // namespace t00036 } // namespace clanguml @@ -172,6 +185,10 @@ struct C { }; "methods": [], "name": "A", "namespace": "clanguml::t00036::ns1::ns11", + "source_location": { + "file": "../../tests/t00036/t00036.cc", + "line": 10 + }, "template_parameters": [ { "is_variadic": false, @@ -223,10 +240,29 @@ struct C { }; ], "name": "ns2", "type": "namespace" + }, + { + "display_name": "clanguml::t00036::ns3", + "elements": [ + { + "display_name": "clanguml::t00036::ns3::ns33", + "elements": [ + { + "display_name": "clanguml::t00036::ns3::ns33::detail", + "name": "detail", + "type": "namespace" + } + ], + "name": "ns33", + "type": "namespace" + } + ], + "name": "ns3", + "type": "namespace" } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00036_class.svg b/docs/test_cases/t00036_class.svg index a583a99c..d1be20a5 100644 --- a/docs/test_cases/t00036_class.svg +++ b/docs/test_cases/t00036_class.svg @@ -1,6 +1,6 @@ - + @@ -9,23 +9,23 @@ - + ns1 - + ns11 - + ns111 - + ns2 - + ns22 - - + + E @@ -34,8 +34,8 @@ yellow - - + + A @@ -43,39 +43,41 @@ T - + - + a : T - - - - A - - int - - - - + + + + + A + + int + + + + + B - + - + a_int : A<int> - - + + C diff --git a/docs/test_cases/t00037.md b/docs/test_cases/t00037.md index ab99b46b..b8fed24c 100644 --- a/docs/test_cases/t00037.md +++ b/docs/test_cases/t00037.md @@ -249,7 +249,7 @@ struct A { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00037_class.svg b/docs/test_cases/t00037_class.svg index 49f06702..63c8f380 100644 --- a/docs/test_cases/t00037_class.svg +++ b/docs/test_cases/t00037_class.svg @@ -1,6 +1,6 @@ - + @@ -9,98 +9,98 @@ - - + + ST - + - + dimensions : ST::(anonymous_662) - + - + units : ST::(anonymous_792) - - + + ST::(dimensions) - + - + t : double - + - + x : double - + - + y : double - + - + z : double - - + + ST::(units) - + - + c : double - + - + h : double - - + + A - + - + st : ST diff --git a/docs/test_cases/t00038.md b/docs/test_cases/t00038.md index b4c43493..9577e63a 100644 --- a/docs/test_cases/t00038.md +++ b/docs/test_cases/t00038.md @@ -468,7 +468,7 @@ struct map - + @@ -9,8 +9,8 @@ - - + + thirdparty::ns1::color_t @@ -20,16 +20,16 @@ blue - - + + thirdparty::ns1::E - - + + property_t @@ -39,47 +39,47 @@ property_c - - + + A - - + + B - - + + C - - + + key_t - + - + key : std::string - - + + map @@ -88,8 +88,8 @@ - - + + map @@ -98,8 +98,8 @@ - - + + map @@ -108,8 +108,8 @@ - - + + map @@ -118,8 +118,8 @@ - - + + map diff --git a/docs/test_cases/t00039.md b/docs/test_cases/t00039.md index 97f88f9d..4129e265 100644 --- a/docs/test_cases/t00039.md +++ b/docs/test_cases/t00039.md @@ -570,7 +570,7 @@ template struct FFF : public FF { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00039_class.svg b/docs/test_cases/t00039_class.svg index 0cbb8cc9..b926854b 100644 --- a/docs/test_cases/t00039_class.svg +++ b/docs/test_cases/t00039_class.svg @@ -1,6 +1,6 @@ - + @@ -9,95 +9,95 @@ - - + + C - - + + D - - + + E - - + + CD - - + + DE - - + + CDE - - + + A - - + + AA - - + + AAA - + - + b : B * - - + + ns2::AAAA - - + + ns3::F @@ -105,16 +105,16 @@ T - + - + t : T * - - + + ns3::FF @@ -122,16 +122,16 @@ T,M - + - + m : M * - - + + ns3::FE @@ -139,16 +139,16 @@ T,M - + - + m : M * - - + + ns3::FFF @@ -156,11 +156,11 @@ T,M,N - + - + n : N * diff --git a/docs/test_cases/t00040.md b/docs/test_cases/t00040.md index a40a4387..4450a8a2 100644 --- a/docs/test_cases/t00040.md +++ b/docs/test_cases/t00040.md @@ -264,7 +264,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00040_class.svg b/docs/test_cases/t00040_class.svg index f5d88031..db97da45 100644 --- a/docs/test_cases/t00040_class.svg +++ b/docs/test_cases/t00040_class.svg @@ -1,6 +1,6 @@ - + @@ -9,50 +9,50 @@ - - + + A - + - + ii_ : int get_a() : int - - + + AA - - + + AAA - + - + b : B * get_aaa() : int - - + + R diff --git a/docs/test_cases/t00041.md b/docs/test_cases/t00041.md index 0b612572..3fd62237 100644 --- a/docs/test_cases/t00041.md +++ b/docs/test_cases/t00041.md @@ -351,7 +351,7 @@ struct NM : public N { }; } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00041_class.svg b/docs/test_cases/t00041_class.svg index 5ec2efcd..1a523143 100644 --- a/docs/test_cases/t00041_class.svg +++ b/docs/test_cases/t00041_class.svg @@ -1,6 +1,6 @@ - + @@ -9,102 +9,102 @@ - - + + R - - + + D - + - + rr : RR * - - + + E - - + + F - - + + RR - + - + e : E * - + - + f : F * - + - + g : detail::G * foo(H * h) : void - - + + RRR - - + + ns1::N - - + + ns1::NN - - + + ns1::NM diff --git a/docs/test_cases/t00042.md b/docs/test_cases/t00042.md index 45f70b9e..bae57d5d 100644 --- a/docs/test_cases/t00042.md +++ b/docs/test_cases/t00042.md @@ -209,6 +209,10 @@ struct R { "methods": [], "name": "A", "namespace": "clanguml::t00042", + "source_location": { + "file": "../../tests/t00042/t00042.cc", + "line": 5 + }, "template_parameters": [ { "is_variadic": false, @@ -232,6 +236,10 @@ struct R { "methods": [], "name": "A", "namespace": "clanguml::t00042", + "source_location": { + "file": "../../tests/t00042/t00042.cc", + "line": 5 + }, "template_parameters": [ { "is_variadic": false, @@ -255,6 +263,10 @@ struct R { "methods": [], "name": "B", "namespace": "clanguml::t00042", + "source_location": { + "file": "../../tests/t00042/t00042.cc", + "line": 13 + }, "template_parameters": [ { "is_variadic": false, @@ -273,7 +285,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00042_class.svg b/docs/test_cases/t00042_class.svg index d0996a71..9c6d25bb 100644 --- a/docs/test_cases/t00042_class.svg +++ b/docs/test_cases/t00042_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,16 +18,16 @@ T - + - + a : T - - + + A @@ -35,16 +35,16 @@ void - + - + a : void * - - + + B @@ -52,45 +52,51 @@ T,K - + - + b : T - + - + bb : K - - - - A - - double - - - - - - A - - std::string - - - - - - B - - int,float - - + + + + + A + + double + + + + + + + + A + + std::string + + + + + + + + B + + int,float + + + diff --git a/docs/test_cases/t00043.md b/docs/test_cases/t00043.md index 9a79adf1..24bfe153 100644 --- a/docs/test_cases/t00043.md +++ b/docs/test_cases/t00043.md @@ -499,7 +499,7 @@ struct J { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00043_class.svg b/docs/test_cases/t00043_class.svg index f7ef741d..d9352208 100644 --- a/docs/test_cases/t00043_class.svg +++ b/docs/test_cases/t00043_class.svg @@ -1,6 +1,6 @@ - + @@ -9,22 +9,22 @@ - + dependants - + dependencies - - + + A - - + + B @@ -33,8 +33,8 @@ b(dependants::A * a) : void - - + + BB @@ -43,8 +43,8 @@ bb(dependants::A * a) : void - - + + C @@ -53,8 +53,8 @@ c(dependants::B * b) : void - - + + D @@ -65,8 +65,8 @@ dd(dependants::BB * bb) : void - - + + E @@ -75,24 +75,24 @@ e(dependants::D * d) : void - - + + G - - + + GG - - + + H @@ -103,8 +103,8 @@ hh(dependencies::GG * gg) : void - - + + I @@ -113,8 +113,8 @@ i(dependencies::H * h) : void - - + + J diff --git a/docs/test_cases/t00044.md b/docs/test_cases/t00044.md index f89cd737..f1968f76 100644 --- a/docs/test_cases/t00044.md +++ b/docs/test_cases/t00044.md @@ -77,6 +77,10 @@ struct R { "methods": [], "name": "signal_handler", "namespace": "clanguml::t00044", + "source_location": { + "file": "../../tests/t00044/t00044.cc", + "line": 4 + }, "template_parameters": [ { "is_variadic": false, @@ -211,6 +215,10 @@ struct R { "methods": [], "name": "signal_handler", "namespace": "clanguml::t00044", + "source_location": { + "file": "../../tests/t00044/t00044.cc", + "line": 4 + }, "template_parameters": [ { "is_variadic": false, @@ -252,6 +260,10 @@ struct R { "methods": [], "name": "sink", "namespace": "clanguml::t00044", + "source_location": { + "file": "../../tests/t00044/t00044.cc", + "line": 4 + }, "template_parameters": [ { "is_variadic": false, @@ -380,7 +392,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00044_class.svg b/docs/test_cases/t00044_class.svg index e0075f8a..3fa40f85 100644 --- a/docs/test_cases/t00044_class.svg +++ b/docs/test_cases/t00044_class.svg @@ -1,6 +1,6 @@ - + @@ -9,16 +9,18 @@ - - - - signal_handler - - Ret(Args...),A - - - - + + + + + signal_handler + + Ret(Args...),A + + + + + sink @@ -26,11 +28,11 @@ signal_handler<Ret(Args...),A> - + - + signal : signal_t * @@ -38,39 +40,43 @@ sink(signal_t & sh) : void get_signal<CastTo>() : CastTo * - - - - signal_handler - - void(int),bool - - - - - - sink - - signal_handler<void(int),bool> - - - - + + + + + signal_handler + + void(int),bool + + + + + + + + sink + + signal_handler<void(int),bool> + + + + + R - + - + sink1 : sink<signal_handler<void (int),bool>> - - + + signal_handler @@ -79,8 +85,8 @@ - - + + sink diff --git a/docs/test_cases/t00045.md b/docs/test_cases/t00045.md index 34ba2084..15ee56aa 100644 --- a/docs/test_cases/t00045.md +++ b/docs/test_cases/t00045.md @@ -414,7 +414,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00045_class.svg b/docs/test_cases/t00045_class.svg index 4d467040..b323eac7 100644 --- a/docs/test_cases/t00045_class.svg +++ b/docs/test_cases/t00045_class.svg @@ -1,6 +1,6 @@ - + @@ -9,32 +9,32 @@ - - + + A - - + + AA - - + + AAA - - + + AAAA @@ -42,103 +42,103 @@ T - + - + t : T - - + + ns1::A - - + + ns1::ns2::A - - + + ns1::ns2::B - - + + ns1::ns2::C - - + + ns1::ns2::D - - + + ns1::ns2::E - - + + ns1::ns2::AAA - - + + ns1::ns2::R - + - + a : ns1::ns2::A * - + - + ns1_a : ns1::A * - + - + ns1_ns2_a : ns1::ns2::A * - + - + root_a : ::A * diff --git a/docs/test_cases/t00046.md b/docs/test_cases/t00046.md index 1c685800..f58357d6 100644 --- a/docs/test_cases/t00046.md +++ b/docs/test_cases/t00046.md @@ -60,11 +60,6 @@ public: { "diagram_type": "class", "elements": [ - { - "display_name": "__gnu_cxx", - "name": "__gnu_cxx", - "type": "namespace" - }, { "bases": [], "display_name": "A", @@ -358,7 +353,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00046_class.svg b/docs/test_cases/t00046_class.svg index 2ea05322..39ab2542 100644 --- a/docs/test_cases/t00046_class.svg +++ b/docs/test_cases/t00046_class.svg @@ -1,6 +1,6 @@ - + - + @@ -9,148 +9,145 @@ - - - ns1 - - - ns2 - - - __gnu_cxx - - - - - A - - + + + ns1 + + + ns2 + + + + + A + + - - - - - A - - + + + + + A + + - - - - - B - - + + + + + B + + - - - - - C - - + + + + + C + + - - - - - D - - + + + + + D + + - - - - - E - - + + + + + E + + - - - - - R - + + + + + R + - - - + + + - - a : ns1::ns2::A * + + a : ns1::ns2::A * - - - + + + - - ns1_a : ns1::A * + + ns1_a : ns1::A * - - - + + + - - ns1_ns2_a : ns1::ns2::A * + + ns1_ns2_a : ns1::ns2::A * - - - + + + - - root_a : ::A * + + root_a : ::A * - - - + + + - - i : std::vector<std::uint8_t> + + i : std::vector<std::uint8_t> - - - foo(AA & aa) : void - - - - - A - - + + + foo(AA & aa) : void + + + + + A + + - - - - - AA - - + + + + + AA + + - - - - - - - - - - - - - +a - - - - ns1_ns2_a - - - - ns1_a - - - - root_a + + + + + + + + + + + + + +a + + + + ns1_ns2_a + + + + ns1_a + + + + root_a diff --git a/docs/test_cases/t00047.md b/docs/test_cases/t00047.md index 2a72fd39..559d1d14 100644 --- a/docs/test_cases/t00047.md +++ b/docs/test_cases/t00047.md @@ -184,7 +184,7 @@ using conditional = typename conditional_t::type; } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00047_class.svg b/docs/test_cases/t00047_class.svg index d81f25e4..cd92735c 100644 --- a/docs/test_cases/t00047_class.svg +++ b/docs/test_cases/t00047_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + conditional_t @@ -19,8 +19,8 @@ - - + + conditional_t @@ -29,8 +29,8 @@ - - + + conditional_t @@ -39,8 +39,8 @@ - - + + conditional_t diff --git a/docs/test_cases/t00048.md b/docs/test_cases/t00048.md index 9e668abc..a4292f77 100644 --- a/docs/test_cases/t00048.md +++ b/docs/test_cases/t00048.md @@ -442,7 +442,7 @@ template struct BaseTemplate { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00048_class.svg b/docs/test_cases/t00048_class.svg index 6c24b0fb..c22196b7 100644 --- a/docs/test_cases/t00048_class.svg +++ b/docs/test_cases/t00048_class.svg @@ -1,6 +1,6 @@ - + @@ -9,25 +9,25 @@ - - + + Base - + - + base : int foo() = 0 : void - - + + BaseTemplate @@ -35,35 +35,35 @@ T - + - + base : T foo() = 0 : void - - + + B - + - + b : int foo() : void - - + + BTemplate @@ -71,35 +71,35 @@ T - + - + b : T foo() : void - - + + A - + - + a : int foo() : void - - + + ATemplate @@ -107,11 +107,11 @@ T - + - + a : T diff --git a/docs/test_cases/t00049.md b/docs/test_cases/t00049.md index b4860558..384acfbe 100644 --- a/docs/test_cases/t00049.md +++ b/docs/test_cases/t00049.md @@ -117,6 +117,10 @@ struct R { "methods": [], "name": "A", "namespace": "clanguml::t00049", + "source_location": { + "file": "../../tests/t00049/t00049.cc", + "line": 7 + }, "template_parameters": [ { "is_variadic": false, @@ -140,6 +144,10 @@ struct R { "methods": [], "name": "A", "namespace": "clanguml::t00049", + "source_location": { + "file": "../../tests/t00049/t00049.cc", + "line": 7 + }, "template_parameters": [ { "is_variadic": false, @@ -163,6 +171,10 @@ struct R { "methods": [], "name": "A", "namespace": "clanguml::t00049", + "source_location": { + "file": "../../tests/t00049/t00049.cc", + "line": 7 + }, "template_parameters": [ { "is_variadic": false, @@ -256,7 +268,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00049_class.svg b/docs/test_cases/t00049_class.svg index 49cac2c5..ea83bd03 100644 --- a/docs/test_cases/t00049_class.svg +++ b/docs/test_cases/t00049_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,66 +18,72 @@ T - + - + a : T get_a() : T & - - - - A - - intmap - - - - - - A - - thestring - - - - - - A - - string_vector - - - - + + + + + A + + intmap + + + + + + + + A + + thestring + + + + + + + + A + + string_vector + + + + + R - + - + a_string : A<thestring> - + - + a_vector_string : A<string_vector> - + - + a_int_map : A<intmap> diff --git a/docs/test_cases/t00050.md b/docs/test_cases/t00050.md index 1c4ccbce..16bafbfc 100644 --- a/docs/test_cases/t00050.md +++ b/docs/test_cases/t00050.md @@ -484,7 +484,7 @@ class NoComment { }; } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00050_class.svg b/docs/test_cases/t00050_class.svg index 6a6fee44..4a281769 100644 --- a/docs/test_cases/t00050_class.svg +++ b/docs/test_cases/t00050_class.svg @@ -1,6 +1,6 @@ - + @@ -9,40 +9,40 @@ - - + + A - - + + B - - + + C - - + + utils::D - - + + E @@ -52,8 +52,8 @@ E3 - - + + F @@ -61,44 +61,44 @@ T,V,int N - + - + t : T[N] - + - + v : V - - + + G - - + + NoComment - + Lorem ipsum dolor sit - + Lorem ipsum dolor sit - + Lorem ipsum dolor sit amet consectetur adipiscing elit, urna consequat felis vehicula class ultricies mollis dictumst, aenean non a in donec nulla. @@ -125,50 +125,50 @@ imperdiet praesent magnis ridiculus congue gravida curabitur dictum sagittis, enim et magna sit inceptos sodales parturient pharetra mollis, aenean vel nostra tellus commodo pretium sapien sociosqu. - + This is a short description of class G. - + This is an intermediate description of class G. - + This is a long description of class G. - + Lorem ipsum - + TODO 1. Write meaningful comment - + TODO 2. Write tests - + TODO 3. Implement - + Long comment example - + TODO Implement... - + Simple array wrapper. - + Template parameters @@ -181,6 +181,6 @@ N Size of T array. - + diff --git a/docs/test_cases/t00051.md b/docs/test_cases/t00051.md index 31c61d12..30f4cedf 100644 --- a/docs/test_cases/t00051.md +++ b/docs/test_cases/t00051.md @@ -469,7 +469,7 @@ A::custom_thread2 A::start_thread2() } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00051_class.svg b/docs/test_cases/t00051_class.svg index 71bdbe4a..ad8c843a 100644 --- a/docs/test_cases/t00051_class.svg +++ b/docs/test_cases/t00051_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + B @@ -18,18 +18,18 @@ F,FF=F - + - + f_ : F - + - + ff_ : FF @@ -39,8 +39,8 @@ f() : void ff() : void - - + + B<(lambda at ../../tests/t00051/t00051.cc:43:18),(lambda at ../../tests/t00051/t00051.cc:43:27)> @@ -53,22 +53,22 @@ ff() : void - + - + f_ : (lambda at ../../tests/t00051/t00051.cc:43:18) - + - + ff_ : (lambda at ../../tests/t00051/t00051.cc:43:27) - - + + A @@ -83,8 +83,8 @@ get_function() : (lambda at ../../tests/t00051/t00051.cc:48:16) - - + + A::custom_thread1 @@ -93,8 +93,8 @@ custom_thread1<Function,Args...>(Function && f, Args &&... args) : void - - + + A::custom_thread2 diff --git a/docs/test_cases/t00052.md b/docs/test_cases/t00052.md index ecd7fb83..ef63f962 100644 --- a/docs/test_cases/t00052.md +++ b/docs/test_cases/t00052.md @@ -243,6 +243,10 @@ struct R { "methods": [], "name": "B", "namespace": "clanguml::t00052", + "source_location": { + "file": "../../tests/t00052/t00052.cc", + "line": 13 + }, "template_parameters": [ { "is_variadic": false, @@ -266,6 +270,10 @@ struct R { "methods": [], "name": "C", "namespace": "clanguml::t00052", + "source_location": { + "file": "../../tests/t00052/t00052.cc", + "line": 20 + }, "template_parameters": [ { "is_variadic": false, @@ -329,7 +337,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00052_class.svg b/docs/test_cases/t00052_class.svg index b50567d7..fd9fdaf4 100644 --- a/docs/test_cases/t00052_class.svg +++ b/docs/test_cases/t00052_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -21,8 +21,8 @@ aa<F,Q>(F && f, Q q) : void - - + + B @@ -35,8 +35,8 @@ bb<F>(F && f, T t) : T - - + + C @@ -47,48 +47,52 @@ c<P>(P p) : T - - - - B - - int - - - - - - C - - int - - - - + + + + + B + + int + + + + + + + + C + + int + + + + + R - + - + a : A - + - + b : B<int> - + - + c : C<int> diff --git a/docs/test_cases/t00053.md b/docs/test_cases/t00053.md index 7981544b..82d1c794 100644 --- a/docs/test_cases/t00053.md +++ b/docs/test_cases/t00053.md @@ -384,7 +384,7 @@ enum class j { jjj }; } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00053_class.svg b/docs/test_cases/t00053_class.svg index bb092054..10991a29 100644 --- a/docs/test_cases/t00053_class.svg +++ b/docs/test_cases/t00053_class.svg @@ -1,6 +1,6 @@ - + @@ -9,72 +9,72 @@ - - + + A - - + + C - - + + E - - + + F - - + + a - - + + c - - + + e - - + + f - - + + h @@ -82,8 +82,8 @@ hhh - - + + j @@ -91,56 +91,56 @@ jjj - - + + b - - + + d - - + + g - - + + B - - + + D - - + + G - - + + i diff --git a/docs/test_cases/t00054.md b/docs/test_cases/t00054.md index 0d7dc702..33e5812a 100644 --- a/docs/test_cases/t00054.md +++ b/docs/test_cases/t00054.md @@ -426,7 +426,7 @@ enum class j { jjj }; } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00054_class.svg b/docs/test_cases/t00054_class.svg index 4c2fe03e..33bf9296 100644 --- a/docs/test_cases/t00054_class.svg +++ b/docs/test_cases/t00054_class.svg @@ -1,6 +1,6 @@ - + @@ -9,116 +9,116 @@ - + detail - + detail2 - + detail3 - + detail4 - - + + d - - + + a - - + + c - - + + e - - + + C - - + + F - - + + D - - + + E - - + + A - - + + B - - + + f - - + + G - - + + h @@ -127,8 +127,8 @@ hhh - - + + i @@ -137,8 +137,8 @@ iii - - + + j @@ -147,16 +147,16 @@ jjj - - + + b - - + + g diff --git a/docs/test_cases/t00055.md b/docs/test_cases/t00055.md index b75fe787..6e3b4c16 100644 --- a/docs/test_cases/t00055.md +++ b/docs/test_cases/t00055.md @@ -246,7 +246,7 @@ struct J { }; } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00055_class.svg b/docs/test_cases/t00055_class.svg index f0a9ffe5..d9198c0c 100644 --- a/docs/test_cases/t00055_class.svg +++ b/docs/test_cases/t00055_class.svg @@ -1,6 +1,6 @@ - + @@ -9,80 +9,80 @@ - - + + A - - + + B - - + + C - - + + D - - + + E - - + + F - - + + G - - + + H - - + + I - - + + J diff --git a/docs/test_cases/t00056.md b/docs/test_cases/t00056.md index d62f25cd..9bb2a2fe 100644 --- a/docs/test_cases/t00056.md +++ b/docs/test_cases/t00056.md @@ -559,7 +559,7 @@ struct F { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00056_class.svg b/docs/test_cases/t00056_class.svg index 609a7a22..1673c9ed 100644 --- a/docs/test_cases/t00056_class.svg +++ b/docs/test_cases/t00056_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + «concept» @@ -20,8 +20,8 @@ - - + + «concept» @@ -33,8 +33,8 @@ sizeof (l) > sizeof (r) - - + + «concept» @@ -44,8 +44,8 @@ - - + + «concept» @@ -58,8 +58,8 @@ container.begin() container.end() - - + + «concept» @@ -71,8 +71,8 @@ typename T::value_type - - + + «concept» @@ -86,8 +86,8 @@ {std::to_string(s)} noexcept {std::to_string(s)} -> std::same_as<std::string> - - + + «concept» @@ -97,8 +97,8 @@ - - + + «concept» @@ -108,8 +108,8 @@ - - + + A @@ -117,16 +117,16 @@ max_four_bytes T - + - + a : T - - + + B @@ -134,16 +134,16 @@ T - + - + b : T - - + + C @@ -151,16 +151,16 @@ convertible_to_string T - + - + c : T - - + + D @@ -169,8 +169,8 @@ - - + + E @@ -178,30 +178,30 @@ T1,T2,T3 - + - + e1 : T1 - + - + e2 : T2 - + - + e3 : T3 - - + + F @@ -209,25 +209,25 @@ T1,T2,T3 - + - + f1 : T1 - + - + f2 : T2 - + - + f3 : T3 diff --git a/docs/test_cases/t00057.md b/docs/test_cases/t00057.md index f922fc87..7bc2739b 100644 --- a/docs/test_cases/t00057.md +++ b/docs/test_cases/t00057.md @@ -488,7 +488,7 @@ struct t00057_R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00057_class.svg b/docs/test_cases/t00057_class.svg index dac17961..243dd5f7 100644 --- a/docs/test_cases/t00057_class.svg +++ b/docs/test_cases/t00057_class.svg @@ -1,6 +1,6 @@ - + @@ -9,232 +9,232 @@ - - + + t00057_A - + - + a1 : int - - + + t00057_B - + - + b1 : int - - + + t00057_C - + - + c1 : int - - + + «union» t00057_D - + - + d1 : int - + - + d2 : float - - + + t00057_E - + - + e : int - + - + coordinates : t00057_E::(anonymous_739) - + - + height : t00057_E::(anonymous_807) - - + + t00057_E::(coordinates) - + - + x : int - + - + y : int - - + + «union» t00057_E::(height) - + - + z : int - + - + t : double - - + + t00057_G - + - + g1 : int - - + + t00057_R - + - + a : struct t00057_A - + - + b : t00057_B - + - + c : struct t00057_C * - + - + d : union t00057_D - + - + e : struct t00057_E * - + - + f : struct t00057_F * - + - + g : struct t00057_G * - - + + t00057_F - + - + f1 : int diff --git a/docs/test_cases/t00058.md b/docs/test_cases/t00058.md index a113828a..00238b19 100644 --- a/docs/test_cases/t00058.md +++ b/docs/test_cases/t00058.md @@ -235,6 +235,10 @@ struct R { "methods": [], "name": "A", "namespace": "clanguml::t00058", + "source_location": { + "file": "../../tests/t00058/t00058.cc", + "line": 27 + }, "template_parameters": [ { "is_variadic": false, @@ -276,6 +280,10 @@ struct R { "methods": [], "name": "A", "namespace": "clanguml::t00058", + "source_location": { + "file": "../../tests/t00058/t00058.cc", + "line": 33 + }, "template_parameters": [ { "is_variadic": false, @@ -305,6 +313,10 @@ struct R { "methods": [], "name": "B", "namespace": "clanguml::t00058", + "source_location": { + "file": "../../tests/t00058/t00058.cc", + "line": 33 + }, "template_parameters": [ { "is_variadic": false, @@ -395,7 +407,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00058_class.svg b/docs/test_cases/t00058_class.svg index db85080f..3d066322 100644 --- a/docs/test_cases/t00058_class.svg +++ b/docs/test_cases/t00058_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + first_type @@ -19,8 +19,8 @@ - - + + «concept» @@ -30,8 +30,8 @@ - - + + A @@ -39,16 +39,16 @@ T,Args... - + - + a : std::vector<T> - - + + B @@ -56,64 +56,70 @@ T,P,Args... - + - + b : std::vector<T> - + - + bb : P - - - - A - - int,int,double,std::string - - - - - - A - - int,int - - - - - - B - - int,std::string,int,double,A<int,int> - - - - + + + + + A + + int,int,double,std::string + + + + + + + + A + + int,int + + + + + + + + B + + int,std::string,int,double,A<int,int> + + + + + R - + - + aa : A<int,int,double,std::string> - + - + bb : B<int,std::string,int,double,A<int,int>> diff --git a/docs/test_cases/t00059.md b/docs/test_cases/t00059.md index c3c94ed0..976a2ff5 100644 --- a/docs/test_cases/t00059.md +++ b/docs/test_cases/t00059.md @@ -393,6 +393,10 @@ struct R { "methods": [], "name": "fruit_factory", "namespace": "clanguml::t00059", + "source_location": { + "file": "../../tests/t00059/t00059.cc", + "line": 42 + }, "template_parameters": [ { "is_variadic": false, @@ -422,6 +426,10 @@ struct R { "methods": [], "name": "fruit_factory", "namespace": "clanguml::t00059", + "source_location": { + "file": "../../tests/t00059/t00059.cc", + "line": 42 + }, "template_parameters": [ { "is_variadic": false, @@ -481,7 +489,7 @@ struct R { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00059_class.svg b/docs/test_cases/t00059_class.svg index 7f36ed0a..555fe191 100644 --- a/docs/test_cases/t00059_class.svg +++ b/docs/test_cases/t00059_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + «concept» @@ -23,8 +23,8 @@ T{} t.get_name() - - + + «concept» @@ -36,8 +36,8 @@ t.get_sweetness() - - + + «concept» @@ -49,8 +49,8 @@ t.get_bitterness() - - + + gala_apple @@ -61,8 +61,8 @@ get_sweetness() const : float - - + + empire_apple @@ -73,8 +73,8 @@ get_sweetness() const : float - - + + lima_orange @@ -85,8 +85,8 @@ get_bitterness() const : float - - + + valencia_orange @@ -97,8 +97,8 @@ get_bitterness() const : float - - + + fruit_factory @@ -111,41 +111,45 @@ create_orange() const : TO - - - - fruit_factory - - gala_apple,valencia_orange - - - - - - fruit_factory - - empire_apple,lima_orange - - - - + + + + + fruit_factory + + gala_apple,valencia_orange + + + + + + + + fruit_factory + + empire_apple,lima_orange + + + + + R - + - + factory_1 : fruit_factory_1 - + - + factory_2 : fruit_factory_2 diff --git a/docs/test_cases/t00060.md b/docs/test_cases/t00060.md index 5c6f7ca7..b00de732 100644 --- a/docs/test_cases/t00060.md +++ b/docs/test_cases/t00060.md @@ -256,7 +256,7 @@ template struct H : public G { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00060_class.svg b/docs/test_cases/t00060_class.svg index c8a8cfa6..4be7f3d2 100644 --- a/docs/test_cases/t00060_class.svg +++ b/docs/test_cases/t00060_class.svg @@ -1,6 +1,6 @@ - + @@ -9,40 +9,40 @@ - - + + A - - + + B - - + + C - - + + D - - + + G @@ -50,16 +50,16 @@ T - + - + g : T - - + + H @@ -67,18 +67,18 @@ T,P - + - + h : G<T> - + - + hh : P diff --git a/docs/test_cases/t00061.md b/docs/test_cases/t00061.md index adaaa992..5728555b 100644 --- a/docs/test_cases/t00061.md +++ b/docs/test_cases/t00061.md @@ -6,7 +6,7 @@ output_directory: puml diagrams: t00061_class: type: class - relative_to: ../../tests/t00061 + relative_to: ../../../tests/t00061 glob: - t00061.cc include: @@ -53,7 +53,7 @@ struct C { "name": "A", "namespace": "clanguml::t00061", "source_location": { - "file": "include/t00061_a.h", + "file": "../../clang-uml/tests/t00061/include/t00061_a.h", "line": 3 }, "template_parameters": [], @@ -61,7 +61,7 @@ struct C { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00061_class.svg b/docs/test_cases/t00061_class.svg index e0c98189..d07a4fa2 100644 --- a/docs/test_cases/t00061_class.svg +++ b/docs/test_cases/t00061_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A diff --git a/docs/test_cases/t00062.md b/docs/test_cases/t00062.md index a8432544..897c64f2 100644 --- a/docs/test_cases/t00062.md +++ b/docs/test_cases/t00062.md @@ -1272,7 +1272,7 @@ struct A> { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00062_class.svg b/docs/test_cases/t00062_class.svg index b57d2f87..ea2fdd20 100644 --- a/docs/test_cases/t00062_class.svg +++ b/docs/test_cases/t00062_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A @@ -18,16 +18,16 @@ U & - + - + u : U & - - + + A @@ -35,16 +35,16 @@ std::map<std::string,U> & - + - + u : U & - - + + A @@ -53,8 +53,8 @@ - - + + A @@ -62,16 +62,16 @@ U * * - + - + u : U ** - - + + A @@ -79,16 +79,16 @@ U * * const* - + - + u : U *** - - + + A @@ -96,16 +96,16 @@ U const volatile* const volatile - + - + u : U *** - - + + A @@ -113,16 +113,16 @@ U && - + - + u : U && - - + + A @@ -130,16 +130,16 @@ U const& - + - + u : const U & - - + + A @@ -147,23 +147,23 @@ M C::* - + - + c : C & - + - + m : M C::* - - + + A @@ -171,23 +171,23 @@ M C::* && - + - + c : C && - + - + m : M C::* - - + + A @@ -195,23 +195,23 @@ M (C::*)(Arg) - + - + c : C & - + - + m : M C::* - - + + A @@ -219,16 +219,16 @@ int (C::*)(bool) - + - + c : C & - - + + A @@ -236,23 +236,23 @@ M (C::*)(Arg) && - + - + c : C && - + - + m : M C::* - - + + A @@ -260,23 +260,23 @@ float (C::*)(int) && - + - + c : C && - + - + mf : float C::* - - + + A @@ -284,23 +284,23 @@ M (C::*)(Arg1,Arg2,Arg3) - + - + c : C & - + - + m : M C::* - - + + A @@ -308,16 +308,16 @@ char[N] - + - + n : char[N] - - + + A @@ -325,16 +325,16 @@ char[1000] - + - + n : std::vector<char> - - + + A @@ -342,16 +342,16 @@ char[M][L][K] - + - + klm : char[K][L][M] - - + + A @@ -359,16 +359,16 @@ U(...) - + - + u : bool - - + + A @@ -376,16 +376,16 @@ C<T> - + - + c : C<T> - - + + A @@ -393,23 +393,23 @@ C<T,Args...> - + - + c : C<T> - + - + args : std::tuple<Args...> - - + + A diff --git a/docs/test_cases/t00063.md b/docs/test_cases/t00063.md index 993ccbc9..502bc889 100644 --- a/docs/test_cases/t00063.md +++ b/docs/test_cases/t00063.md @@ -59,7 +59,7 @@ enum class C { c1, c2, c3 }; } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00063_class.svg b/docs/test_cases/t00063_class.svg index 84e89f9f..35ac7781 100644 --- a/docs/test_cases/t00063_class.svg +++ b/docs/test_cases/t00063_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + A diff --git a/docs/test_cases/t00064.md b/docs/test_cases/t00064.md index 85432121..8b1bac21 100644 --- a/docs/test_cases/t00064.md +++ b/docs/test_cases/t00064.md @@ -207,6 +207,10 @@ public: "methods": [], "name": "type_list", "namespace": "clanguml::t00064", + "source_location": { + "file": "../../tests/t00064/t00064.cc", + "line": 15 + }, "template_parameters": [ { "is_variadic": false, @@ -276,6 +280,10 @@ public: "methods": [], "name": "type_list", "namespace": "clanguml::t00064", + "source_location": { + "file": "../../tests/t00064/t00064.cc", + "line": 8 + }, "template_parameters": [ { "is_variadic": true, @@ -299,6 +307,10 @@ public: "methods": [], "name": "type_list", "namespace": "clanguml::t00064", + "source_location": { + "file": "../../tests/t00064/t00064.cc", + "line": 25 + }, "template_parameters": [ { "is_variadic": true, @@ -322,6 +334,10 @@ public: "methods": [], "name": "type_list", "namespace": "clanguml::t00064", + "source_location": { + "file": "../../tests/t00064/t00064.cc", + "line": 25 + }, "template_parameters": [ { "is_variadic": true, @@ -430,6 +446,10 @@ public: "methods": [], "name": "optional_ref", "namespace": "clanguml::t00064", + "source_location": { + "file": "../../tests/t00064/t00064.cc", + "line": 31 + }, "template_parameters": [ { "is_variadic": false, @@ -618,6 +638,10 @@ public: "methods": [], "name": "type_list", "namespace": "clanguml::t00064", + "source_location": { + "file": "../../tests/t00064/t00064.cc", + "line": 8 + }, "template_parameters": [ { "is_variadic": false, @@ -653,6 +677,10 @@ public: "methods": [], "name": "type_list", "namespace": "clanguml::t00064", + "source_location": { + "file": "../../tests/t00064/t00064.cc", + "line": 25 + }, "template_parameters": [ { "is_variadic": false, @@ -682,6 +710,10 @@ public: "methods": [], "name": "type_list", "namespace": "clanguml::t00064", + "source_location": { + "file": "../../tests/t00064/t00064.cc", + "line": 25 + }, "template_parameters": [ { "is_variadic": false, @@ -717,6 +749,10 @@ public: "methods": [], "name": "type_group_pair", "namespace": "clanguml::t00064", + "source_location": { + "file": "../../tests/t00064/t00064.cc", + "line": 25 + }, "template_parameters": [ { "is_variadic": false, @@ -907,7 +943,7 @@ public: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t00064_class.svg b/docs/test_cases/t00064_class.svg index 771a0730..56c16745 100644 --- a/docs/test_cases/t00064_class.svg +++ b/docs/test_cases/t00064_class.svg @@ -1,6 +1,6 @@ - + @@ -9,8 +9,8 @@ - - + + type_list @@ -19,8 +19,8 @@ - - + + type_list @@ -29,8 +29,8 @@ - - + + type_list @@ -39,16 +39,18 @@ - - - - type_list - - Head,Tail... - - - - + + + + + type_list + + Head,Tail... + + + + + head @@ -57,32 +59,38 @@ - - - - type_list - - Type... - - - - - - type_list - - First... - - - - - - type_list - - Second... - - - - + + + + + type_list + + Type... + + + + + + + + type_list + + First... + + + + + + + + type_list + + Second... + + + + + type_group_pair @@ -90,16 +98,16 @@ type_list<First...>,type_list<Second...> - + - + size : const size_t - - + + optional_ref @@ -108,16 +116,18 @@ - - - - optional_ref - - type_group_pair_it<It,type_list<First...>,type_list<Second...>>::value_type - - - - + + + + + optional_ref + + type_group_pair_it<It,type_list<First...>,type_list<Second...>>::value_type + + + + + type_group_pair_it @@ -132,86 +142,94 @@ find(value_type const& v) : unsigned int - - + + A - - + + B - - + + C - - - - type_list - - A,bool,int - - - - - - type_list - - float,double - - - - - - type_list - - A,B,C - - - - - - type_group_pair - - type_list<float,double>,type_list<A,B,C> - - - - + + + + + type_list + + A,bool,int + + + + + + + + type_list + + float,double + + + + + + + + type_list + + A,B,C + + + + + + + + type_group_pair + + type_list<float,double>,type_list<A,B,C> + + + + + R - + - + aboolint : type_list<A,bool,int> - + - + abc : type_group_pair<type_list<float,double>,type_list<A,B,C>> - - + + type_group_pair @@ -220,8 +238,8 @@ - - + + type_group_pair_it @@ -230,8 +248,8 @@ - - + + head diff --git a/docs/test_cases/t00065.md b/docs/test_cases/t00065.md new file mode 100644 index 00000000..5c17eb57 --- /dev/null +++ b/docs/test_cases/t00065.md @@ -0,0 +1,556 @@ +# t00065 - Class diagram with packages from directory structure +## Config +```yaml +compilation_database_dir: .. +output_directory: puml +diagrams: + t00065_class: + type: class + glob: + - t00065.cc + relative_to: ../../../tests/t00065 + generate_packages: true + package_type: directory + include: + namespaces: + - clanguml::t00065 + using_namespace: + - clanguml::t00065 +``` +## Source code +File t00065.cc +```cpp +#include "module1/module1.h" +#include "module2/module2.h" + +namespace clanguml { +namespace t00065 { +struct R { + A *a; + C c; + D d; +}; +} +} +``` +## Generated UML diagrams +![t00065_class](./t00065_class.svg "Class diagram with packages from directory structure") +## Generated JSON models +```json +{ + "diagram_type": "class", + "elements": [ + { + "display_name": "module1", + "elements": [ + { + "display_name": "module1::submodule1a", + "elements": [ + { + "bases": [], + "display_name": "clanguml::t00065::detail::AImpl", + "id": "674757414308736755", + "is_abstract": false, + "is_nested": false, + "is_struct": true, + "is_template": false, + "is_union": false, + "members": [], + "methods": [], + "name": "AImpl", + "namespace": "clanguml::t00065::detail", + "source_location": { + "file": "../../clang-uml/tests/t00065/module1/submodule1a/submodule1a.h", + "line": 6 + }, + "template_parameters": [], + "type": "class" + } + ], + "name": "submodule1a", + "type": "directory" + }, + { + "constants": [ + "a", + "b", + "c" + ], + "display_name": "clanguml::t00065::ABC", + "id": "2145362985538918973", + "is_nested": false, + "name": "ABC", + "namespace": "clanguml::t00065", + "source_location": { + "file": "../../clang-uml/tests/t00065/module1/module1.h", + "line": 8 + }, + "type": "enum" + }, + { + "constants": [ + "x", + "y", + "z" + ], + "display_name": "clanguml::t00065::XYZ", + "id": "1435940218810141944", + "is_nested": false, + "name": "XYZ", + "namespace": "clanguml::t00065", + "source_location": { + "file": "../../clang-uml/tests/t00065/module1/module1.h", + "line": 10 + }, + "type": "enum" + }, + { + "bases": [], + "display_name": "clanguml::t00065::A", + "id": "1178194542408300737", + "is_abstract": false, + "is_nested": false, + "is_struct": true, + "is_template": false, + "is_union": false, + "members": [ + { + "access": "public", + "is_static": false, + "name": "abc", + "source_location": { + "file": "../../clang-uml/tests/t00065/module1/module1.h", + "line": 13 + }, + "type": "clanguml::t00065::ABC" + }, + { + "access": "public", + "is_static": false, + "name": "xyz", + "source_location": { + "file": "../../clang-uml/tests/t00065/module1/module1.h", + "line": 14 + }, + "type": "clanguml::t00065::XYZ" + }, + { + "access": "public", + "is_static": false, + "name": "pimpl", + "source_location": { + "file": "../../clang-uml/tests/t00065/module1/module1.h", + "line": 15 + }, + "type": "detail::AImpl *" + } + ], + "methods": [], + "name": "A", + "namespace": "clanguml::t00065", + "source_location": { + "file": "../../clang-uml/tests/t00065/module1/module1.h", + "line": 12 + }, + "template_parameters": [], + "type": "class" + } + ], + "name": "module1", + "type": "directory" + }, + { + "display_name": "module2", + "elements": [ + { + "display_name": "module2::concepts", + "elements": [ + { + "display_name": "clanguml::t00065::bconcept", + "id": "1325475407133721370", + "name": "bconcept", + "namespace": "clanguml::t00065", + "parameters": [ + { + "name": "clanguml::t00065::t", + "type": "T" + } + ], + "source_location": { + "file": "../../clang-uml/tests/t00065/module2/concepts/concepts.h", + "line": 7 + }, + "statements": [ + "T{}", + "t.b()" + ], + "type": "concept" + } + ], + "name": "concepts", + "type": "directory" + }, + { + "bases": [], + "display_name": "clanguml::t00065::B", + "id": "1651810571114530033", + "is_abstract": false, + "is_nested": false, + "is_struct": true, + "is_template": false, + "is_union": false, + "members": [], + "methods": [ + { + "access": "public", + "is_const": false, + "is_defaulted": true, + "is_implicit": false, + "is_pure_virtual": false, + "is_static": false, + "is_virtual": false, + "name": "B", + "parameters": [], + "type": "void" + }, + { + "access": "public", + "is_const": false, + "is_defaulted": false, + "is_implicit": false, + "is_pure_virtual": false, + "is_static": false, + "is_virtual": false, + "name": "b", + "parameters": [], + "type": "void" + } + ], + "name": "B", + "namespace": "clanguml::t00065", + "source_location": { + "file": "../../clang-uml/tests/t00065/module2/module2.h", + "line": 7 + }, + "template_parameters": [], + "type": "class" + }, + { + "bases": [], + "display_name": "clanguml::t00065::C", + "id": "1157378014768957235", + "is_abstract": false, + "is_nested": false, + "is_struct": true, + "is_template": true, + "is_union": false, + "members": [ + { + "access": "public", + "is_static": false, + "name": "t", + "source_location": { + "file": "../../clang-uml/tests/t00065/module2/module2.h", + "line": 13 + }, + "type": "T *" + } + ], + "methods": [], + "name": "C", + "namespace": "clanguml::t00065", + "source_location": { + "file": "../../clang-uml/tests/t00065/module2/module2.h", + "line": 12 + }, + "template_parameters": [ + { + "is_variadic": false, + "kind": "template_type", + "name": "T", + "template_parameters": [] + } + ], + "type": "class" + }, + { + "bases": [], + "display_name": "clanguml::t00065::C", + "id": "580575003920044707", + "is_abstract": false, + "is_nested": false, + "is_struct": false, + "is_template": true, + "is_union": false, + "members": [], + "methods": [], + "name": "C", + "namespace": "clanguml::t00065", + "source_location": { + "file": "../../clang-uml/tests/t00065/module2/module2.h", + "line": 12 + }, + "template_parameters": [ + { + "is_variadic": false, + "kind": "argument", + "template_parameters": [], + "type": "int" + } + ], + "type": "class" + }, + { + "bases": [], + "display_name": "clanguml::t00065::D", + "id": "1719752929087851944", + "is_abstract": false, + "is_nested": false, + "is_struct": true, + "is_template": true, + "is_union": false, + "members": [ + { + "access": "public", + "is_static": false, + "name": "t", + "source_location": { + "file": "../../clang-uml/tests/t00065/module2/module2.h", + "line": 17 + }, + "type": "T" + }, + { + "access": "public", + "is_static": false, + "name": "c", + "source_location": { + "file": "../../clang-uml/tests/t00065/module2/module2.h", + "line": 18 + }, + "type": "C" + } + ], + "methods": [], + "name": "D", + "namespace": "clanguml::t00065", + "source_location": { + "file": "../../clang-uml/tests/t00065/module2/module2.h", + "line": 16 + }, + "template_parameters": [ + { + "is_variadic": false, + "kind": "template_type", + "name": "T", + "template_parameters": [] + } + ], + "type": "class" + }, + { + "bases": [], + "display_name": "clanguml::t00065::C", + "id": "1373403346245688670", + "is_abstract": false, + "is_nested": false, + "is_struct": false, + "is_template": true, + "is_union": false, + "members": [], + "methods": [], + "name": "C", + "namespace": "clanguml::t00065", + "source_location": { + "file": "../../clang-uml/tests/t00065/module2/module2.h", + "line": 12 + }, + "template_parameters": [ + { + "is_variadic": false, + "kind": "argument", + "template_parameters": [], + "type": "clanguml::t00065::B" + } + ], + "type": "class" + }, + { + "bases": [], + "display_name": "clanguml::t00065::D", + "id": "2024276012622729482", + "is_abstract": false, + "is_nested": false, + "is_struct": false, + "is_template": true, + "is_union": false, + "members": [], + "methods": [], + "name": "D", + "namespace": "clanguml::t00065", + "source_location": { + "file": "../../clang-uml/tests/t00065/module2/module2.h", + "line": 16 + }, + "template_parameters": [ + { + "is_variadic": false, + "kind": "argument", + "template_parameters": [], + "type": "clanguml::t00065::B" + } + ], + "type": "class" + } + ], + "name": "module2", + "type": "directory" + }, + { + "bases": [], + "display_name": "clanguml::t00065::R", + "id": "1082111961413727438", + "is_abstract": false, + "is_nested": false, + "is_struct": true, + "is_template": false, + "is_union": false, + "members": [ + { + "access": "public", + "is_static": false, + "name": "a", + "source_location": { + "file": "../../clang-uml/tests/t00065/t00065.cc", + "line": 7 + }, + "type": "clanguml::t00065::A *" + }, + { + "access": "public", + "is_static": false, + "name": "c", + "source_location": { + "file": "../../clang-uml/tests/t00065/t00065.cc", + "line": 8 + }, + "type": "C" + }, + { + "access": "public", + "is_static": false, + "name": "d", + "source_location": { + "file": "../../clang-uml/tests/t00065/t00065.cc", + "line": 9 + }, + "type": "D" + } + ], + "methods": [], + "name": "R", + "namespace": "clanguml::t00065", + "source_location": { + "file": "../../clang-uml/tests/t00065/t00065.cc", + "line": 6 + }, + "template_parameters": [], + "type": "class" + } + ], + "metadata": { + "clang_uml_version": "0.3.5-27-g81c7ce7", + "llvm_version": "Ubuntu clang version 15.0.6", + "schema_version": 1 + }, + "name": "t00065_class", + "relationships": [ + { + "access": "public", + "destination": "2145362985538918973", + "label": "abc", + "source": "1178194542408300737", + "type": "aggregation" + }, + { + "access": "public", + "destination": "1435940218810141944", + "label": "xyz", + "source": "1178194542408300737", + "type": "aggregation" + }, + { + "access": "public", + "destination": "674757414308736755", + "label": "pimpl", + "source": "1178194542408300737", + "type": "association" + }, + { + "access": "public", + "destination": "1157378014768957235", + "source": "580575003920044707", + "type": "instantiation" + }, + { + "destination": "1325475407133721370", + "label": "T", + "source": "1719752929087851944", + "type": "constraint" + }, + { + "access": "public", + "destination": "580575003920044707", + "label": "c", + "source": "1719752929087851944", + "type": "aggregation" + }, + { + "access": "public", + "destination": "1651810571114530033", + "source": "1373403346245688670", + "type": "dependency" + }, + { + "access": "public", + "destination": "1157378014768957235", + "source": "1373403346245688670", + "type": "instantiation" + }, + { + "access": "public", + "destination": "1651810571114530033", + "source": "2024276012622729482", + "type": "dependency" + }, + { + "access": "public", + "destination": "1719752929087851944", + "source": "2024276012622729482", + "type": "instantiation" + }, + { + "access": "public", + "destination": "1178194542408300737", + "label": "a", + "source": "1082111961413727438", + "type": "association" + }, + { + "access": "public", + "destination": "1373403346245688670", + "label": "c", + "source": "1082111961413727438", + "type": "aggregation" + }, + { + "access": "public", + "destination": "2024276012622729482", + "label": "d", + "source": "1082111961413727438", + "type": "aggregation" + } + ], + "using_namespace": "clanguml::t00065" +} +``` diff --git a/docs/test_cases/t00065_class.svg b/docs/test_cases/t00065_class.svg new file mode 100644 index 00000000..73d8576b --- /dev/null +++ b/docs/test_cases/t00065_class.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + module1 + + + submodule1a + + + module2 + + + concepts + + + + + ABC + + a + b + c + + + + + + + XYZ + + x + y + z + + + + + + + A + + + + + + + + abc : ABC + + + + + + + xyz : XYZ + + + + + + + pimpl : detail::AImpl * + + + + + + + AImpl + + + + + + + + B + + + + B() = default : void + + b() : void + + + + + + C + + T + + + + + + + + t : T * + + + + + + + C + + int + + + + + + + + D + + bconcept T + + + + + + + + t : T + + + + + + + c : C<int> + + + + + + + C + + B + + + + + + + + D + + B + + + + + + + + «concept» + bconcept + + (T t) + + T{} + t.b() + + + + + + R + + + + + + + + a : A * + + + + + + + c : C<B> + + + + + + + d : D<B> + + + + + + abc + + + + xyz + + + + pimpl + + + + + T + + + +c + + + + + + + + + + + +a + + + +c + + + +d + + diff --git a/docs/test_cases/t20001.md b/docs/test_cases/t20001.md index 4b29851f..2886269b 100644 --- a/docs/test_cases/t20001.md +++ b/docs/test_cases/t20001.md @@ -108,7 +108,7 @@ int tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20001_sequence.svg b/docs/test_cases/t20001_sequence.svg index 99dab809..d7ddd955 100644 --- a/docs/test_cases/t20001_sequence.svg +++ b/docs/test_cases/t20001_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,59 +9,59 @@ - - - - - - - + + + + + + + - - + + tmain() - + tmain() - - + + A - + A - - + + B - + B - - - - - - - - + + + + + + + + add(int,int) - + wrap_add3(int,int,int) - + add3(int,int,int) - + @@ -72,7 +72,7 @@ - + @@ -81,14 +81,14 @@ - + log_result(int) - + Main test function diff --git a/docs/test_cases/t20002.md b/docs/test_cases/t20002.md index 3b8045e6..88c533a4 100644 --- a/docs/test_cases/t20002.md +++ b/docs/test_cases/t20002.md @@ -45,7 +45,7 @@ void m1() { m2(); } { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20002_sequence.svg b/docs/test_cases/t20002_sequence.svg index 0ff1f11c..e0cd014e 100644 --- a/docs/test_cases/t20002_sequence.svg +++ b/docs/test_cases/t20002_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,51 +9,51 @@ - - - - + + + + - - + + m1() - + m1() - - + + m2() - + m2() - - + + m3() - + m3() - - + + m4() - + m4() - - - - - + + + + + - + - + diff --git a/docs/test_cases/t20003.md b/docs/test_cases/t20003.md index 5996640e..f376f61e 100644 --- a/docs/test_cases/t20003.md +++ b/docs/test_cases/t20003.md @@ -41,7 +41,7 @@ template void m1(T p) { m2(p); } { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20003_sequence.svg b/docs/test_cases/t20003_sequence.svg index fb47ccd2..9bcef4b3 100644 --- a/docs/test_cases/t20003_sequence.svg +++ b/docs/test_cases/t20003_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,51 +9,51 @@ - - - - + + + + - - + + m1<T>(T) - + m1<T>(T) - - + + m2<T>(T) - + m2<T>(T) - - + + m3<T>(T) - + m3<T>(T) - - + + m4<T>(T) - + m4<T>(T) - - - - - + + + + + - + - + diff --git a/docs/test_cases/t20004.md b/docs/test_cases/t20004.md index e7a04d4e..2f953746 100644 --- a/docs/test_cases/t20004.md +++ b/docs/test_cases/t20004.md @@ -77,7 +77,7 @@ int main() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20004_sequence.svg b/docs/test_cases/t20004_sequence.svg index 46b06e9f..864d8312 100644 --- a/docs/test_cases/t20004_sequence.svg +++ b/docs/test_cases/t20004_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,16 +9,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -29,87 +29,87 @@ - - + + main() - + main() - - + + m1<float>(float) - + m1<float>(float) - - + + m1<unsigned long>(unsigned long) - + m1<unsigned long>(unsigned long) - - + + m4<unsigned long>(unsigned long) - + m4<unsigned long>(unsigned long) - - + + m1<std::string>(std::string) - + m1<std::string>(std::string) - - + + m2<std::string>(std::string) - + m2<std::string>(std::string) - - + + m1<int>(int) - + m1<int>(int) - - + + m2<int>(int) - + m2<int>(int) - - + + m3<int>(int) - + m3<int>(int) - - + + m4<int>(int) - + m4<int>(int) - - - - - - - - - - - + + + + + + + + + + + - + - + @@ -117,11 +117,11 @@ - + - + @@ -129,19 +129,19 @@ - + - + - + - + diff --git a/docs/test_cases/t20005.md b/docs/test_cases/t20005.md index b2c9a08d..634f6451 100644 --- a/docs/test_cases/t20005.md +++ b/docs/test_cases/t20005.md @@ -48,7 +48,7 @@ template struct C { { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20005_sequence.svg b/docs/test_cases/t20005_sequence.svg index c0c54d1f..2e7a98fa 100644 --- a/docs/test_cases/t20005_sequence.svg +++ b/docs/test_cases/t20005_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,42 +9,42 @@ - - - + + + - - + + C<T> - + C<T> - - + + B<T> - + B<T> - - + + A<T> - + A<T> - - - + + + c(T) - + b(T) - + a(T) diff --git a/docs/test_cases/t20006.md b/docs/test_cases/t20006.md index bfdadecb..ebd7bebd 100644 --- a/docs/test_cases/t20006.md +++ b/docs/test_cases/t20006.md @@ -106,7 +106,7 @@ void tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20006_sequence.svg b/docs/test_cases/t20006_sequence.svg index 3c913b36..b4e81bb1 100644 --- a/docs/test_cases/t20006_sequence.svg +++ b/docs/test_cases/t20006_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,22 +9,22 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -34,82 +34,82 @@ - - + + tmain() - + tmain() - - + + B<int> - + B<int> - - + + A<int> - + A<int> - - + + B<std::string> - + B<std::string> - - + + A<std::string> - + A<std::string> - - + + BB<int,int> - + BB<int,int> - - + + AA<int> - + AA<int> - - + + BB<int,std::string> - + BB<int,std::string> - - + + BB<int,float> - + BB<int,float> - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + b(int) - + a1(int) @@ -118,12 +118,12 @@ - + b(std::string) - + a2(std::string) @@ -132,59 +132,59 @@ - + bb1(int,int) - + aa1(int) - + bb2(int,int) - + aa2(int) - + bb1(int,std::string) - + aa2(int) - + bb2(int,std::string) - + aa1(int) - + bb1(int,float) - + bb2(int,float) - + aa2(int) diff --git a/docs/test_cases/t20007.md b/docs/test_cases/t20007.md index d9bf430d..d0252d3f 100644 --- a/docs/test_cases/t20007.md +++ b/docs/test_cases/t20007.md @@ -52,7 +52,7 @@ void tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20007_sequence.svg b/docs/test_cases/t20007_sequence.svg index dbfe7d8a..46f8a00a 100644 --- a/docs/test_cases/t20007_sequence.svg +++ b/docs/test_cases/t20007_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,57 +9,57 @@ - - - - + + + + - - + + tmain() - + tmain() - - + + Adder<int,int> - + Adder<int,int> - - + + Adder<int,float,double> - + Adder<int,float,double> - - + + Adder<std::string,std::string,std::string> - + Adder<std::string,std::string,std::string> - - - - - + + + + + add(int &&,int &&) - + add(int &&,float &&,double &&) - + add(std::string &&,std::string &&,std::string &&) diff --git a/docs/test_cases/t20008.md b/docs/test_cases/t20008.md index 7512c07b..35da77ed 100644 --- a/docs/test_cases/t20008.md +++ b/docs/test_cases/t20008.md @@ -70,7 +70,7 @@ void tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20008_sequence.svg b/docs/test_cases/t20008_sequence.svg index fdbf6189..47f8e691 100644 --- a/docs/test_cases/t20008_sequence.svg +++ b/docs/test_cases/t20008_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,13 +9,13 @@ - - - - - - - + + + + + + + @@ -23,81 +23,81 @@ - - + + tmain() - + tmain() - - + + B<int> - + B<int> - - + + A<int> - + A<int> - - + + B<const char *> - + B<const char *> - - + + A<const char *> - + A<const char *> - - + + B<std::string> - + B<std::string> - - + + A<std::string> - + A<std::string> - - - - - - - - + + + + + + + + b(int) - + a1(int) - + b(const char *) - + a2(const char *) - + b(std::string) - + a3(std::string) diff --git a/docs/test_cases/t20009.md b/docs/test_cases/t20009.md index 564c52a6..a763ba1d 100644 --- a/docs/test_cases/t20009.md +++ b/docs/test_cases/t20009.md @@ -56,7 +56,7 @@ void tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20009_sequence.svg b/docs/test_cases/t20009_sequence.svg index ab7ccccc..f90334bc 100644 --- a/docs/test_cases/t20009_sequence.svg +++ b/docs/test_cases/t20009_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,13 +9,13 @@ - - - - - - - + + + + + + + @@ -23,81 +23,81 @@ - - + + tmain() - + tmain() - - + + B<std::string> - + B<std::string> - - + + A<std::string> - + A<std::string> - - + + B<int> - + B<int> - - + + A<int> - + A<int> - - + + B<float> - + B<float> - - + + A<float> - + A<float> - - - - - - - - + + + + + + + + b(std::string) - + a(std::string) - + b(int) - + a(int) - + b(float) - + a(float) diff --git a/docs/test_cases/t20010.md b/docs/test_cases/t20010.md index d7387cea..8a33def9 100644 --- a/docs/test_cases/t20010.md +++ b/docs/test_cases/t20010.md @@ -66,7 +66,7 @@ void tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20010_sequence.svg b/docs/test_cases/t20010_sequence.svg index cde277b4..109f8f7a 100644 --- a/docs/test_cases/t20010_sequence.svg +++ b/docs/test_cases/t20010_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,81 +9,81 @@ - - - - - - - - - + + + + + + + + + - - + + tmain() - + tmain() - - + + B<int> - + B<int> - - + + A - + A - - - - - - - - - - + + + + + + + + + + b1() - + a1() - + b2() - + a2() - + b3() - + a3() - + b4() - + a4() diff --git a/docs/test_cases/t20011.md b/docs/test_cases/t20011.md index 46cabcf6..7f8a76c2 100644 --- a/docs/test_cases/t20011.md +++ b/docs/test_cases/t20011.md @@ -58,7 +58,7 @@ void tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20011_sequence.svg b/docs/test_cases/t20011_sequence.svg index be0b86b3..f1470f47 100644 --- a/docs/test_cases/t20011_sequence.svg +++ b/docs/test_cases/t20011_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,42 +9,42 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - + + tmain() - + tmain() - - + + A - + A - - - - - - - - - - + + + + + + + + + + a(int) @@ -52,26 +52,26 @@ alt - + a(int) - + b(int) - + c(int) - + @@ -81,14 +81,14 @@ alt - + b(int) - + @@ -98,7 +98,7 @@ alt - + diff --git a/docs/test_cases/t20012.md b/docs/test_cases/t20012.md index f5457530..41f4e050 100644 --- a/docs/test_cases/t20012.md +++ b/docs/test_cases/t20012.md @@ -131,7 +131,7 @@ void tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20012_sequence.svg b/docs/test_cases/t20012_sequence.svg index 3a69ca03..5465098a 100644 --- a/docs/test_cases/t20012_sequence.svg +++ b/docs/test_cases/t20012_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,31 +9,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -43,122 +43,122 @@ - - + + tmain() - + tmain() - - + + tmain()::(lambda ../../tests/t20012/t20012.cc:66:20) - + tmain()::(lambda ../../tests/t20012/t20012.cc:66:20) - - + + A - + A - - + + B - + B - - + + tmain()::(lambda ../../tests/t20012/t20012.cc:79:20) - + tmain()::(lambda ../../tests/t20012/t20012.cc:79:20) - - + + C - + C - - + + R<R::(lambda ../../tests/t20012/t20012.cc:85:9)> - + R<R::(lambda ../../tests/t20012/t20012.cc:85:9)> - - + + tmain()::(lambda ../../tests/t20012/t20012.cc:85:9) - + tmain()::(lambda ../../tests/t20012/t20012.cc:85:9) - - + + D - + D - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + operator()() - + a() - + aa() - + aaa() - + b() - + bb() - + @@ -167,67 +167,67 @@ - + operator()() - + c() - + cc() - + ccc() - + operator()() - + a() - + aa() - + aaa() - + b() - + bb() - + @@ -238,29 +238,29 @@ - + r() - + operator()() - + c() - + cc() - + @@ -269,7 +269,7 @@ - + add5(int) diff --git a/docs/test_cases/t20013.md b/docs/test_cases/t20013.md index 74c0b7dc..90ed4ea9 100644 --- a/docs/test_cases/t20013.md +++ b/docs/test_cases/t20013.md @@ -54,7 +54,7 @@ void tmain(int argc, char **argv) { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20013_sequence.svg b/docs/test_cases/t20013_sequence.svg index de4366c1..23530d47 100644 --- a/docs/test_cases/t20013_sequence.svg +++ b/docs/test_cases/t20013_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,47 +9,47 @@ - - - - - - - + + + + + + + - - + + tmain(int,char **) - + tmain(int,char **) - - + + B - + B - - + + A - + A - - - - - - - - + + + + + + + + b(int) - + a1(int) @@ -58,12 +58,12 @@ - + b(double) - + a2(double) @@ -72,12 +72,12 @@ - + b(const char *) - + a3(const char *) diff --git a/docs/test_cases/t20014.md b/docs/test_cases/t20014.md index 09986593..2676be4d 100644 --- a/docs/test_cases/t20014.md +++ b/docs/test_cases/t20014.md @@ -89,7 +89,7 @@ namespace t20014 { { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20014_sequence.svg b/docs/test_cases/t20014_sequence.svg index 3fa8fed9..c44aff6a 100644 --- a/docs/test_cases/t20014_sequence.svg +++ b/docs/test_cases/t20014_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,56 +9,56 @@ - - - - - - - - + + + + + + + + - - + + tmain() - + tmain() - - + + B - + B - - + + A - + A - - + + C<B,int> - + C<B,int> - - - - - - - - - + + + + + + + + + b1(int,int) - + a1(int,int) @@ -67,12 +67,12 @@ - + b2(int,int) - + a2(int,int) @@ -81,17 +81,17 @@ - + c1(int,int) - + b1(int,int) - + a1(int,int) diff --git a/docs/test_cases/t20015.md b/docs/test_cases/t20015.md index b5316e11..27b49dca 100644 --- a/docs/test_cases/t20015.md +++ b/docs/test_cases/t20015.md @@ -70,7 +70,7 @@ void tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20015_sequence.svg b/docs/test_cases/t20015_sequence.svg index 364fec0b..3911d2af 100644 --- a/docs/test_cases/t20015_sequence.svg +++ b/docs/test_cases/t20015_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,25 +9,25 @@ - - + + - - + + tmain() - + tmain() - - + + B - + B - - - + + + setup_a(std::shared_ptr<detail::A> &) diff --git a/docs/test_cases/t20016.md b/docs/test_cases/t20016.md index 5e97c7d4..0cec7634 100644 --- a/docs/test_cases/t20016.md +++ b/docs/test_cases/t20016.md @@ -52,7 +52,7 @@ void tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20016_sequence.svg b/docs/test_cases/t20016_sequence.svg index c67f049a..bf5d47da 100644 --- a/docs/test_cases/t20016_sequence.svg +++ b/docs/test_cases/t20016_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,53 +9,53 @@ - - - - - + + + + + - - + + tmain() - + tmain() - - + + B<long> - + B<long> - - + + A - + A - - - - - - + + + + + + b1(long) - + a1(int) - + b2(long) - + a2(const long &) diff --git a/docs/test_cases/t20017.md b/docs/test_cases/t20017.md index 11fe8455..89f4609e 100644 --- a/docs/test_cases/t20017.md +++ b/docs/test_cases/t20017.md @@ -7,9 +7,9 @@ diagrams: t20017_sequence: type: sequence combine_free_functions_into_file_participants: true - relative_to: ../../tests/t20017 + relative_to: ../../../tests/t20017 glob: - - ../../tests/t20017/t20017.cc + - t20017.cc include: namespaces: - clanguml::t20017 @@ -49,35 +49,35 @@ int tmain() { return b2(a1(a2(a3(1, 2), b1(3, 4)), 5), 6); } { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, "name": "t20017_sequence", "participants": [ { - "id": "294332401323799021", + "id": "800083058974241273", "name": "t20017.cc", "source_location": { - "file": "t20017.cc", + "file": "../../clang-uml/tests/t20017/t20017.cc", "line": 6 }, "type": "function" }, { - "id": "1591222867263639510", + "id": "446029693370832411", "name": "include/t20017_a.h", "source_location": { - "file": "include/t20017_a.h", + "file": "../../clang-uml/tests/t20017/include/t20017_a.h", "line": 7 }, "type": "function" }, { - "id": "1113611539183189365", + "id": "1893799013101029871", "name": "include/t20017_b.h", "source_location": { - "file": "include/t20017_b.h", + "file": "../../clang-uml/tests/t20017/include/t20017_b.h", "line": 5 }, "type": "function" @@ -90,19 +90,19 @@ int tmain() { return b2(a1(a2(a3(1, 2), b1(3, 4)), 5), 6); } "from": { "activity_id": "1484746432546296115", "activity_name": "clanguml::t20017::tmain()", - "participant_id": "294332401323799021" + "participant_id": "800083058974241273" }, "name": "a3(int,int)", "return_type": "", "scope": "normal", "source_location": { - "file": "t20017.cc", + "file": "../../clang-uml/tests/t20017/t20017.cc", "line": 6 }, "to": { "activity_id": "1681392050252260928", "activity_name": "clanguml::t20017::a3(int,int)", - "participant_id": "1591222867263639510" + "participant_id": "446029693370832411" }, "type": "message" }, @@ -110,19 +110,19 @@ int tmain() { return b2(a1(a2(a3(1, 2), b1(3, 4)), 5), 6); } "from": { "activity_id": "1484746432546296115", "activity_name": "clanguml::t20017::tmain()", - "participant_id": "294332401323799021" + "participant_id": "800083058974241273" }, "name": "b1(int,int)", "return_type": "", "scope": "normal", "source_location": { - "file": "t20017.cc", + "file": "../../clang-uml/tests/t20017/t20017.cc", "line": 6 }, "to": { "activity_id": "1714277838806105702", "activity_name": "clanguml::t20017::b1(int,int)", - "participant_id": "1113611539183189365" + "participant_id": "1893799013101029871" }, "type": "message" }, @@ -130,19 +130,19 @@ int tmain() { return b2(a1(a2(a3(1, 2), b1(3, 4)), 5), 6); } "from": { "activity_id": "1484746432546296115", "activity_name": "clanguml::t20017::tmain()", - "participant_id": "294332401323799021" + "participant_id": "800083058974241273" }, "name": "a2(int,int)", "return_type": "", "scope": "normal", "source_location": { - "file": "t20017.cc", + "file": "../../clang-uml/tests/t20017/t20017.cc", "line": 6 }, "to": { "activity_id": "291553542743365259", "activity_name": "clanguml::t20017::a2(int,int)", - "participant_id": "1591222867263639510" + "participant_id": "446029693370832411" }, "type": "message" }, @@ -150,19 +150,19 @@ int tmain() { return b2(a1(a2(a3(1, 2), b1(3, 4)), 5), 6); } "from": { "activity_id": "1484746432546296115", "activity_name": "clanguml::t20017::tmain()", - "participant_id": "294332401323799021" + "participant_id": "800083058974241273" }, "name": "a1(int,int)", "return_type": "", "scope": "normal", "source_location": { - "file": "t20017.cc", + "file": "../../clang-uml/tests/t20017/t20017.cc", "line": 6 }, "to": { "activity_id": "113759676939330212", "activity_name": "clanguml::t20017::a1(int,int)", - "participant_id": "1591222867263639510" + "participant_id": "446029693370832411" }, "type": "message" }, @@ -170,19 +170,19 @@ int tmain() { return b2(a1(a2(a3(1, 2), b1(3, 4)), 5), 6); } "from": { "activity_id": "1484746432546296115", "activity_name": "clanguml::t20017::tmain()", - "participant_id": "294332401323799021" + "participant_id": "800083058974241273" }, "name": "b2(int,int)", "return_type": "", "scope": "normal", "source_location": { - "file": "t20017.cc", + "file": "../../clang-uml/tests/t20017/t20017.cc", "line": 6 }, "to": { "activity_id": "775081116464505528", "activity_name": "clanguml::t20017::b2(int,int)", - "participant_id": "1113611539183189365" + "participant_id": "1893799013101029871" }, "type": "message" } diff --git a/docs/test_cases/t20017_sequence.svg b/docs/test_cases/t20017_sequence.svg index 7bb4a29e..05c39eab 100644 --- a/docs/test_cases/t20017_sequence.svg +++ b/docs/test_cases/t20017_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,65 +9,65 @@ - - - - - - + + + + + + - + t20017.cc - + t20017.cc - + include/t20017_a.h - + include/t20017_a.h - + include/t20017_b.h - + include/t20017_b.h - - - - - - + + + + + + tmain() - + a3(int,int) - + b1(int,int) - + a2(int,int) - + a1(int,int) - + b2<int>(int,int) diff --git a/docs/test_cases/t20018.md b/docs/test_cases/t20018.md index cb7aa523..7d51c651 100644 --- a/docs/test_cases/t20018.md +++ b/docs/test_cases/t20018.md @@ -54,7 +54,7 @@ void tmain() { Answer>::print(); } { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20018_sequence.svg b/docs/test_cases/t20018_sequence.svg index 39253a16..f41fedb9 100644 --- a/docs/test_cases/t20018_sequence.svg +++ b/docs/test_cases/t20018_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,14 +9,14 @@ - - - - - - - - + + + + + + + + @@ -25,93 +25,93 @@ - - + + tmain() - + tmain() - - + + Answer<Factorial<5>,120> - + Answer<Factorial<5>,120> - - + + Factorial<5> - + Factorial<5> - - + + Factorial<4> - + Factorial<4> - - + + Factorial<3> - + Factorial<3> - - + + Factorial<2> - + Factorial<2> - - + + Factorial<1> - + Factorial<1> - - + + Factorial<0> - + Factorial<0> - - - - - - - - - + + + + + + + + + print() - + print(int) - + print(int) - + print(int) - + print(int) - + print(int) - + print(int) diff --git a/docs/test_cases/t20019.md b/docs/test_cases/t20019.md index e2eee307..322fc674 100644 --- a/docs/test_cases/t20019.md +++ b/docs/test_cases/t20019.md @@ -61,7 +61,7 @@ void tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20019_sequence.svg b/docs/test_cases/t20019_sequence.svg index 60f99352..54dd6cab 100644 --- a/docs/test_cases/t20019_sequence.svg +++ b/docs/test_cases/t20019_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,95 +9,95 @@ - - - - - - - - - + + + + + + + + + - - + + tmain() - + tmain() - - + + Base<D1> - + Base<D1> - - + + D1 - + D1 - - + + Base<D2> - + Base<D2> - - + + D2 - + D2 - - - - - - - - - - + + + + + + + + + + name() - + impl() - + name() - + impl() - + name() - + impl() - + name() - + impl() diff --git a/docs/test_cases/t20020.md b/docs/test_cases/t20020.md index 556b337b..134aff71 100644 --- a/docs/test_cases/t20020.md +++ b/docs/test_cases/t20020.md @@ -113,7 +113,7 @@ int tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20020_sequence.svg b/docs/test_cases/t20020_sequence.svg index 9af2fbc3..1503d4e7 100644 --- a/docs/test_cases/t20020_sequence.svg +++ b/docs/test_cases/t20020_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,78 +9,78 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - + + + - - + + tmain() - + tmain() - - + + A - + A - - + + C - + C - - + + B - + B - - + + D<int> - + D<int> - - - - - - - - - - - - - + + + + + + + + + + + + + alt - + a1() @@ -91,7 +91,7 @@ alt - + [ @@ -100,7 +100,7 @@ - + [ @@ -109,7 +109,7 @@ - + b1() @@ -117,7 +117,7 @@ - + [ @@ -126,21 +126,21 @@ - + b2() - + a4() - + log() @@ -148,7 +148,7 @@ alt - + c1() @@ -156,7 +156,7 @@ alt - + @@ -169,7 +169,7 @@ - + @@ -179,7 +179,7 @@ alt - + d1(int,int) diff --git a/docs/test_cases/t20021.md b/docs/test_cases/t20021.md index 0407d41b..8d1bc037 100644 --- a/docs/test_cases/t20021.md +++ b/docs/test_cases/t20021.md @@ -84,7 +84,7 @@ int tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20021_sequence.svg b/docs/test_cases/t20021_sequence.svg index ab641a3e..d5283d4b 100644 --- a/docs/test_cases/t20021_sequence.svg +++ b/docs/test_cases/t20021_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,74 +9,74 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - + + tmain() - + tmain() - - + + C - + C - - + + A - + A - - + + B - + B - - - - - - - - - - - - + + + + + + + + + + + + loop - + [ c4() ] - + @@ -89,7 +89,7 @@ - + a3() @@ -102,7 +102,7 @@ loop - + [ @@ -111,7 +111,7 @@ - + [ @@ -120,7 +120,7 @@ - + [ @@ -129,14 +129,14 @@ - + a1() - + [ @@ -148,7 +148,7 @@ loop - + b2() @@ -158,7 +158,7 @@ loop - + [ @@ -167,7 +167,7 @@ - + b2() diff --git a/docs/test_cases/t20022.md b/docs/test_cases/t20022.md index 324cfab1..0e88af64 100644 --- a/docs/test_cases/t20022.md +++ b/docs/test_cases/t20022.md @@ -64,7 +64,7 @@ int tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20022_sequence.svg b/docs/test_cases/t20022_sequence.svg index 52060294..0b0877d4 100644 --- a/docs/test_cases/t20022_sequence.svg +++ b/docs/test_cases/t20022_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,39 +9,39 @@ - - - + + + - - + + tmain() - + tmain() - - + + A - + A - - + + B - + B - - - - + + + + a() - + b() diff --git a/docs/test_cases/t20023.md b/docs/test_cases/t20023.md index a4f1e891..b08cecf3 100644 --- a/docs/test_cases/t20023.md +++ b/docs/test_cases/t20023.md @@ -67,7 +67,7 @@ int tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20023_sequence.svg b/docs/test_cases/t20023_sequence.svg index 253fbe47..d6872f78 100644 --- a/docs/test_cases/t20023_sequence.svg +++ b/docs/test_cases/t20023_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,37 +9,37 @@ - - - - - - - + + + + + + + - - + + tmain() - + tmain() - - + + A - + A - - - - - - - + + + + + + + a() @@ -47,7 +47,7 @@ try - + @@ -60,7 +60,7 @@ [std::runtime_error &] - + @@ -73,7 +73,7 @@ [std::logic_error &] - + @@ -86,7 +86,7 @@ [...] - + diff --git a/docs/test_cases/t20024.md b/docs/test_cases/t20024.md index 8e403cc5..1865e654 100644 --- a/docs/test_cases/t20024.md +++ b/docs/test_cases/t20024.md @@ -92,7 +92,7 @@ int tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20024_sequence.svg b/docs/test_cases/t20024_sequence.svg index a0012a1c..f9410605 100644 --- a/docs/test_cases/t20024_sequence.svg +++ b/docs/test_cases/t20024_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,23 +9,23 @@ - - - - - - - - - - - - + + + + + + + + + + + + - + @@ -33,36 +33,36 @@ - - + + tmain() - + tmain() - - + + A - + A - - + + B - + B - - - - - - - - - - - - + + + + + + + + + + + + select(enum_a) @@ -72,7 +72,7 @@ switch [zero] - + @@ -85,7 +85,7 @@ [one] - + @@ -98,7 +98,7 @@ [two] - + @@ -111,7 +111,7 @@ [default] - + @@ -124,7 +124,7 @@ - + select(colors) @@ -134,7 +134,7 @@ switch [enum colors::red] - + @@ -143,7 +143,7 @@ [enum colors::orange] - + @@ -152,7 +152,7 @@ [enum colors::green] - + @@ -161,7 +161,7 @@ [default] - + diff --git a/docs/test_cases/t20025.md b/docs/test_cases/t20025.md index c2c11dc4..2680d9e3 100644 --- a/docs/test_cases/t20025.md +++ b/docs/test_cases/t20025.md @@ -72,7 +72,7 @@ int tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20025_sequence.svg b/docs/test_cases/t20025_sequence.svg index 64cd95da..64005edb 100644 --- a/docs/test_cases/t20025_sequence.svg +++ b/docs/test_cases/t20025_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,41 +9,41 @@ - - - - + + + + - - + + tmain() - + tmain() - - + + A - + A - - + + add(int,int) - + add(int,int) - - - - - + + + + + a() - + @@ -52,7 +52,7 @@ - + diff --git a/docs/test_cases/t20026.md b/docs/test_cases/t20026.md index 86da42d8..69c7f6fd 100644 --- a/docs/test_cases/t20026.md +++ b/docs/test_cases/t20026.md @@ -52,7 +52,7 @@ int tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20026_sequence.svg b/docs/test_cases/t20026_sequence.svg index 9c89c87f..81cf9138 100644 --- a/docs/test_cases/t20026_sequence.svg +++ b/docs/test_cases/t20026_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,25 +9,25 @@ - - + + - - + + tmain() - + tmain() - - + + A - + A - - - + + + a() diff --git a/docs/test_cases/t20027.md b/docs/test_cases/t20027.md index 4a4123fe..0245d660 100644 --- a/docs/test_cases/t20027.md +++ b/docs/test_cases/t20027.md @@ -51,7 +51,7 @@ void tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20027_sequence.svg b/docs/test_cases/t20027_sequence.svg index 651338da..531f91d8 100644 --- a/docs/test_cases/t20027_sequence.svg +++ b/docs/test_cases/t20027_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,25 +9,25 @@ - - + + - - + + tmain() - + tmain() - - + + A - + A - - - + + + a() diff --git a/docs/test_cases/t20028.md b/docs/test_cases/t20028.md index 796dff8d..7941e0a6 100644 --- a/docs/test_cases/t20028.md +++ b/docs/test_cases/t20028.md @@ -61,7 +61,7 @@ int tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20028_sequence.svg b/docs/test_cases/t20028_sequence.svg index bf265c92..06a9bf66 100644 --- a/docs/test_cases/t20028_sequence.svg +++ b/docs/test_cases/t20028_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,50 +9,50 @@ - - - - - - + + + + + + - - + + tmain() - + tmain() - - + + A - + A - - - - - + + + + + alt - + a() - + b() - + c() @@ -60,7 +60,7 @@ - + d() diff --git a/docs/test_cases/t20029.md b/docs/test_cases/t20029.md index 13081957..b3a8b4ca 100644 --- a/docs/test_cases/t20029.md +++ b/docs/test_cases/t20029.md @@ -105,7 +105,7 @@ int tmain() { "diagram_type": "sequence", "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t20029_sequence.svg b/docs/test_cases/t20029_sequence.svg index aa57ae8b..7f838df8 100644 --- a/docs/test_cases/t20029_sequence.svg +++ b/docs/test_cases/t20029_sequence.svg @@ -1,6 +1,6 @@ - + @@ -9,60 +9,60 @@ - - - - - - - - - - - + + + + + + + + + + + - - + + tmain() - + tmain() - - + + Encoder<Retrier<ConnectionPool>> - + Encoder<Retrier<ConnectionPool>> - - + + Retrier<ConnectionPool> - + Retrier<ConnectionPool> - - + + ConnectionPool - + ConnectionPool - - + + encode_b64(std::string &&) - + encode_b64(std::string &&) - - - - - - - - + + + + + + + + connect() @@ -73,21 +73,21 @@ alt - + [ send(std::string &&) ] - + encode(std::string &&) - + @@ -97,7 +97,7 @@ - + send(std::string &&) @@ -108,7 +108,7 @@ alt - + [ diff --git a/docs/test_cases/t30001.md b/docs/test_cases/t30001.md index bc35f63d..d9050ea4 100644 --- a/docs/test_cases/t30001.md +++ b/docs/test_cases/t30001.md @@ -191,7 +191,7 @@ namespace BB { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t30001_package.svg b/docs/test_cases/t30001_package.svg index abc3a195..5511761b 100644 --- a/docs/test_cases/t30001_package.svg +++ b/docs/test_cases/t30001_package.svg @@ -1,6 +1,6 @@ - + @@ -9,67 +9,67 @@ - - + + A - - + + AA - - + + B - - + + AA - - + + AAA - - + + BBB - - + + BB - - + + AAA - - + + BBB - - + + BB - + A AAA note... - + This is namespace AA in namespace A - + This is namespace AA in namespace B - - - + + + diff --git a/docs/test_cases/t30002.md b/docs/test_cases/t30002.md index b40e66ec..6e6e6692 100644 --- a/docs/test_cases/t30002.md +++ b/docs/test_cases/t30002.md @@ -36,7 +36,9 @@ namespace A1 { struct CA { }; } namespace A2 { -struct CB { }; +template struct CB { + T cb; +}; } namespace A3 { struct CC { }; @@ -83,12 +85,15 @@ struct CP { }; namespace A17 { struct CR { }; } +namespace A18 { +enum class S { s1, s2, s3 }; +} } namespace B::BB::BBB { class CBA : public A::AA::A6::CF { public: A::AA::A1::CA *ca_; - A::AA::A2::CB cb_; + A::AA::A2::CB cb_; std::shared_ptr cc_; std::map> *cd_; std::array co_; @@ -116,6 +121,8 @@ public: { return {}; } + + A::AA::A18::S s; }; void cj(std::unique_ptr /*cj_*/) { } @@ -178,7 +185,7 @@ template std::map> cm() "name": "A3", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 16 + "line": 18 }, "type": "namespace" }, @@ -189,7 +196,7 @@ template std::map> cm() "name": "A4", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 19 + "line": 21 }, "type": "namespace" }, @@ -200,7 +207,7 @@ template std::map> cm() "name": "A5", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 22 + "line": 24 }, "type": "namespace" }, @@ -211,7 +218,7 @@ template std::map> cm() "name": "A6", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 25 + "line": 27 }, "type": "namespace" }, @@ -222,7 +229,7 @@ template std::map> cm() "name": "A7", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 28 + "line": 30 }, "type": "namespace" }, @@ -233,7 +240,7 @@ template std::map> cm() "name": "A8", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 31 + "line": 33 }, "type": "namespace" }, @@ -244,7 +251,7 @@ template std::map> cm() "name": "A9", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 34 + "line": 36 }, "type": "namespace" }, @@ -255,7 +262,7 @@ template std::map> cm() "name": "A10", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 37 + "line": 39 }, "type": "namespace" }, @@ -266,7 +273,7 @@ template std::map> cm() "name": "A11", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 40 + "line": 42 }, "type": "namespace" }, @@ -277,7 +284,7 @@ template std::map> cm() "name": "A12", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 43 + "line": 45 }, "type": "namespace" }, @@ -288,7 +295,7 @@ template std::map> cm() "name": "A13", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 46 + "line": 48 }, "type": "namespace" }, @@ -299,7 +306,7 @@ template std::map> cm() "name": "A14", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 49 + "line": 51 }, "type": "namespace" }, @@ -310,7 +317,7 @@ template std::map> cm() "name": "A15", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 52 + "line": 54 }, "type": "namespace" }, @@ -321,7 +328,7 @@ template std::map> cm() "name": "A16", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 55 + "line": 57 }, "type": "namespace" }, @@ -332,7 +339,18 @@ template std::map> cm() "name": "A17", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 58 + "line": 60 + }, + "type": "namespace" + }, + { + "display_name": "clanguml::t30002::A::AA::A18", + "id": "405712335116487393", + "is_deprecated": false, + "name": "A18", + "source_location": { + "file": "../../tests/t30002/t30002.cc", + "line": 63 }, "type": "namespace" } @@ -369,7 +387,7 @@ template std::map> cm() "name": "BBB", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 62 + "line": 67 }, "type": "namespace" } @@ -379,7 +397,7 @@ template std::map> cm() "name": "BB", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 62 + "line": 67 }, "type": "namespace" } @@ -389,30 +407,20 @@ template std::map> cm() "name": "B", "source_location": { "file": "../../tests/t30002/t30002.cc", - "line": 62 + "line": 67 }, "type": "namespace" } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, "name": "t30002_package", "relationships": [ { - "destination": "301858476377711436", - "source": "2255521339657425355", - "type": "dependency" - }, - { - "destination": "1207764290216680521", - "source": "2255521339657425355", - "type": "dependency" - }, - { - "destination": "563861734550555261", + "destination": "1246394833900790496", "source": "2255521339657425355", "type": "dependency" }, @@ -441,6 +449,11 @@ template std::map> cm() "source": "2255521339657425355", "type": "dependency" }, + { + "destination": "1116163804866368736", + "source": "2255521339657425355", + "type": "dependency" + }, { "destination": "299262817531370604", "source": "2255521339657425355", @@ -451,11 +464,31 @@ template std::map> cm() "source": "2255521339657425355", "type": "dependency" }, + { + "destination": "405712335116487393", + "source": "2255521339657425355", + "type": "dependency" + }, { "destination": "1415398383158410524", "source": "2255521339657425355", "type": "dependency" }, + { + "destination": "301858476377711436", + "source": "2255521339657425355", + "type": "dependency" + }, + { + "destination": "1207764290216680521", + "source": "2255521339657425355", + "type": "dependency" + }, + { + "destination": "563861734550555261", + "source": "2255521339657425355", + "type": "dependency" + }, { "destination": "532437874530119999", "source": "2255521339657425355", diff --git a/docs/test_cases/t30002_package.svg b/docs/test_cases/t30002_package.svg index 2ccd2c59..396260dc 100644 --- a/docs/test_cases/t30002_package.svg +++ b/docs/test_cases/t30002_package.svg @@ -1,6 +1,6 @@ - + - + @@ -9,149 +9,156 @@ - - + + A - - + + AA - - - - B + + + + B - - - - BB + + + + BB - - - - A1 + + + + A1 - - - - A2 + + + + A2 - - - - A3 + + + + A3 - - - - A4 + + + + A4 - - - - A5 + + + + A5 - - - - A6 + + + + A6 - - - - A7 + + + + A7 - - - - A8 + + + + A8 - - - - A9 + + + + A9 - - + + + + A10 + + + - A10 + A11 - - + + - A11 + A12 - - + + - A12 + A13 - - + + - A13 + A14 - - + + - A14 + A15 - - + + - A15 + A16 - - + + - A16 + A17 - - + + - A17 + A18 - - - - BBB + + + + BBB - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/test_cases/t30003.md b/docs/test_cases/t30003.md index 6191963e..407d58b1 100644 --- a/docs/test_cases/t30003.md +++ b/docs/test_cases/t30003.md @@ -129,7 +129,7 @@ class B : public ns1::ns2::Anon { }; } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t30003_package.svg b/docs/test_cases/t30003_package.svg index a4f97c20..4ec42dda 100644 --- a/docs/test_cases/t30003_package.svg +++ b/docs/test_cases/t30003_package.svg @@ -1,6 +1,6 @@ - + @@ -9,35 +9,35 @@ - - + + ns1 - - + + ns3 «deprecated» - - + + ns1 - - + + ns2_v1_0_0 - - + + ns2_v0_9_0 «deprecated» - - + + ns2 diff --git a/docs/test_cases/t30004.md b/docs/test_cases/t30004.md index 4de99845..9a212228 100644 --- a/docs/test_cases/t30004.md +++ b/docs/test_cases/t30004.md @@ -142,7 +142,7 @@ namespace CCC { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t30004_package.svg b/docs/test_cases/t30004_package.svg index 58cfce65..3f1d5fde 100644 --- a/docs/test_cases/t30004_package.svg +++ b/docs/test_cases/t30004_package.svg @@ -1,6 +1,6 @@ - + @@ -9,46 +9,46 @@ - - + + A - + Package AAA. - + Package BBB. - + CCCC package note. - + We skipped DDD. - - + + AAA - - + + BBB - - + + CCC - - + + EEE - - - - + + + + diff --git a/docs/test_cases/t30005.md b/docs/test_cases/t30005.md index 807e60ab..decc601e 100644 --- a/docs/test_cases/t30005.md +++ b/docs/test_cases/t30005.md @@ -168,7 +168,7 @@ struct C2 { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t30005_package.svg b/docs/test_cases/t30005_package.svg index e289cd72..2a3abc8b 100644 --- a/docs/test_cases/t30005_package.svg +++ b/docs/test_cases/t30005_package.svg @@ -1,6 +1,6 @@ - + @@ -9,48 +9,48 @@ - - + + A - - + + AA - - + + B - - + + BB - - + + C - - + + CC - - + + AAA - - + + BBB - - + + CCC diff --git a/docs/test_cases/t30006.md b/docs/test_cases/t30006.md index f62ab14a..e676b6db 100644 --- a/docs/test_cases/t30006.md +++ b/docs/test_cases/t30006.md @@ -94,7 +94,7 @@ struct A2 { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t30006_package.svg b/docs/test_cases/t30006_package.svg index 59e66d63..db8b6e76 100644 --- a/docs/test_cases/t30006_package.svg +++ b/docs/test_cases/t30006_package.svg @@ -1,6 +1,6 @@ - + @@ -9,25 +9,25 @@ - - + + B - - + + A - - + + C - + Top A note. - + diff --git a/docs/test_cases/t30007.md b/docs/test_cases/t30007.md index 2d4e5ca1..8be0029c 100644 --- a/docs/test_cases/t30007.md +++ b/docs/test_cases/t30007.md @@ -115,7 +115,7 @@ struct A2 { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t30007_package.svg b/docs/test_cases/t30007_package.svg index b8a07c60..a8b3b47a 100644 --- a/docs/test_cases/t30007_package.svg +++ b/docs/test_cases/t30007_package.svg @@ -1,6 +1,6 @@ - + @@ -9,30 +9,30 @@ - - + + A - - + + B - - + + AA - - + + C - + Compare layout with t30006. - + diff --git a/docs/test_cases/t30008.md b/docs/test_cases/t30008.md index 1bfd3f0e..f9032389 100644 --- a/docs/test_cases/t30008.md +++ b/docs/test_cases/t30008.md @@ -191,7 +191,7 @@ struct FF { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t30008_package.svg b/docs/test_cases/t30008_package.svg index 5f4b2446..1d600cf5 100644 --- a/docs/test_cases/t30008_package.svg +++ b/docs/test_cases/t30008_package.svg @@ -1,6 +1,6 @@ - + @@ -9,43 +9,43 @@ - - + + dependants - - + + dependencies - - + + A - - + + B - - + + C - - + + D - - + + E - - + + F diff --git a/docs/test_cases/t30009.md b/docs/test_cases/t30009.md index f798908f..00fcadc3 100644 --- a/docs/test_cases/t30009.md +++ b/docs/test_cases/t30009.md @@ -169,7 +169,7 @@ namespace D { } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t30009_package.svg b/docs/test_cases/t30009_package.svg index 623791a8..55f64270 100644 --- a/docs/test_cases/t30009_package.svg +++ b/docs/test_cases/t30009_package.svg @@ -1,6 +1,6 @@ - + @@ -9,53 +9,53 @@ - - + + One - - + + Two - - + + B - - + + D - - + + A - - + + C - - + + A - - + + B - - + + C - - + + D diff --git a/docs/test_cases/t30010.md b/docs/test_cases/t30010.md new file mode 100644 index 00000000..44fa5219 --- /dev/null +++ b/docs/test_cases/t30010.md @@ -0,0 +1,118 @@ +# t30010 - Package diagram with packages from directory structure +## Config +```yaml +compilation_database_dir: .. +output_directory: puml +diagrams: + t30010_package: + type: package + generate_packages: true + package_type: directory + glob: + - t30010.cc + relative_to: ../../../tests/t30010 + include: + namespaces: + - clanguml::t30010 +# paths: +# - . + using_namespace: + - clanguml::t30010 +``` +## Source code +File t30010.cc +```cpp +#include "app/app.h" + +namespace clanguml { +namespace t30010 { + +App app; + +} // namespace t30002 +} // namespace clanguml + +``` +## Generated UML diagrams +![t30010_package](./t30010_package.svg "Package diagram with packages from directory structure") +## Generated JSON models +```json +{ + "diagram_type": "package", + "elements": [ + { + "display_name": "libraries", + "elements": [ + { + "display_name": "lib1", + "id": "879212264535378961", + "is_deprecated": false, + "name": "lib1", + "type": "namespace" + }, + { + "display_name": "lib2", + "id": "1522606219626203424", + "is_deprecated": false, + "name": "lib2", + "type": "namespace" + }, + { + "display_name": "lib3", + "id": "2263709579652581325", + "is_deprecated": false, + "name": "lib3", + "type": "namespace" + }, + { + "display_name": "lib4", + "id": "1103453030023410219", + "is_deprecated": false, + "name": "lib4", + "type": "namespace" + } + ], + "id": "879401191375500756", + "is_deprecated": false, + "name": "libraries", + "type": "namespace" + }, + { + "display_name": "app", + "id": "2001320261642080149", + "is_deprecated": false, + "name": "app", + "type": "namespace" + } + ], + "metadata": { + "clang_uml_version": "0.3.5-27-g81c7ce7", + "llvm_version": "Ubuntu clang version 15.0.6", + "schema_version": 1 + }, + "name": "t30010_package", + "relationships": [ + { + "destination": "879212264535378961", + "source": "2001320261642080149", + "type": "dependency" + }, + { + "destination": "1522606219626203424", + "source": "2001320261642080149", + "type": "dependency" + }, + { + "destination": "2263709579652581325", + "source": "2001320261642080149", + "type": "dependency" + }, + { + "destination": "1103453030023410219", + "source": "2001320261642080149", + "type": "dependency" + } + ], + "using_namespace": "clanguml::t30010" +} +``` diff --git a/docs/test_cases/t30010_package.svg b/docs/test_cases/t30010_package.svg new file mode 100644 index 00000000..13b850a7 --- /dev/null +++ b/docs/test_cases/t30010_package.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + libraries + + + lib1 + + + lib2 + + + lib3 + + + lib4 + + + app + + + + + + + + + + diff --git a/docs/test_cases/t30011.md b/docs/test_cases/t30011.md new file mode 100644 index 00000000..fc0b2bb7 --- /dev/null +++ b/docs/test_cases/t30011.md @@ -0,0 +1,106 @@ +# t30011 - Package diagram with packages from directory structure for plain C +## Config +```yaml +compilation_database_dir: .. +output_directory: puml +diagrams: + t30011_package: + type: package + package_type: directory + glob: + - t30011.c + relative_to: ../../../tests/t30011 + include: + paths: + - . +``` +## Source code +File t30011.c +```cpp +#include "app/app.h" + +struct t30011_App app; + +``` +## Generated UML diagrams +![t30011_package](./t30011_package.svg "Package diagram with packages from directory structure for plain C") +## Generated JSON models +```json +{ + "diagram_type": "package", + "elements": [ + { + "display_name": "libraries", + "elements": [ + { + "display_name": "lib1", + "id": "879212264535378961", + "is_deprecated": false, + "name": "lib1", + "type": "namespace" + }, + { + "display_name": "lib2", + "id": "1522606219626203424", + "is_deprecated": false, + "name": "lib2", + "type": "namespace" + }, + { + "display_name": "lib3", + "id": "2263709579652581325", + "is_deprecated": false, + "name": "lib3", + "type": "namespace" + }, + { + "display_name": "lib4", + "id": "1103453030023410219", + "is_deprecated": false, + "name": "lib4", + "type": "namespace" + } + ], + "id": "879401191375500756", + "is_deprecated": false, + "name": "libraries", + "type": "namespace" + }, + { + "display_name": "app", + "id": "2001320261642080149", + "is_deprecated": false, + "name": "app", + "type": "namespace" + } + ], + "metadata": { + "clang_uml_version": "0.3.5-27-g81c7ce7", + "llvm_version": "Ubuntu clang version 15.0.6", + "schema_version": 1 + }, + "name": "t30011_package", + "relationships": [ + { + "destination": "879212264535378961", + "source": "2001320261642080149", + "type": "dependency" + }, + { + "destination": "1522606219626203424", + "source": "2001320261642080149", + "type": "dependency" + }, + { + "destination": "2263709579652581325", + "source": "2001320261642080149", + "type": "dependency" + }, + { + "destination": "1103453030023410219", + "source": "2001320261642080149", + "type": "dependency" + } + ] +} +``` diff --git a/docs/test_cases/t30011_package.svg b/docs/test_cases/t30011_package.svg new file mode 100644 index 00000000..13b850a7 --- /dev/null +++ b/docs/test_cases/t30011_package.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + libraries + + + lib1 + + + lib2 + + + lib3 + + + lib4 + + + app + + + + + + + + + + diff --git a/docs/test_cases/t40001.md b/docs/test_cases/t40001.md index c9c0794b..69536a74 100644 --- a/docs/test_cases/t40001.md +++ b/docs/test_cases/t40001.md @@ -101,7 +101,7 @@ diagrams: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t40001_include.svg b/docs/test_cases/t40001_include.svg index 8eb45d52..6d3035aa 100644 --- a/docs/test_cases/t40001_include.svg +++ b/docs/test_cases/t40001_include.svg @@ -1,6 +1,6 @@ - + @@ -9,43 +9,43 @@ - + src - + include - + lib1 - - + + t40001.cc - - + + t40001_include1.h - - + + lib1.h - + string - + vector - + yaml-cpp/yaml.h - + This is a lib1 include dir - + This is a t40001_include1.h include file @@ -60,7 +60,7 @@ - - + + diff --git a/docs/test_cases/t40002.md b/docs/test_cases/t40002.md index 58db0af5..963380b6 100644 --- a/docs/test_cases/t40002.md +++ b/docs/test_cases/t40002.md @@ -119,7 +119,7 @@ diagrams: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t40002_include.svg b/docs/test_cases/t40002_include.svg index 27791df9..2f721d25 100644 --- a/docs/test_cases/t40002_include.svg +++ b/docs/test_cases/t40002_include.svg @@ -1,6 +1,6 @@ - + @@ -9,46 +9,46 @@ - + src - + lib1 - + lib2 - + include - + lib1 - + lib2 - - + + t40002.cc - - + + lib1.cc - - + + lib2.cc - - + + lib1.h - - + + lib2.h diff --git a/docs/test_cases/t40003.md b/docs/test_cases/t40003.md index 24a52f57..0549c80a 100644 --- a/docs/test_cases/t40003.md +++ b/docs/test_cases/t40003.md @@ -145,7 +145,7 @@ diagrams: } ], "metadata": { - "clang_uml_version": "0.3.5-13-g57aa174", + "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, diff --git a/docs/test_cases/t40003_include.svg b/docs/test_cases/t40003_include.svg index 83cc928e..ece2b068 100644 --- a/docs/test_cases/t40003_include.svg +++ b/docs/test_cases/t40003_include.svg @@ -1,6 +1,6 @@ - + @@ -9,66 +9,66 @@ - + src - + dependants - + dependencies - + include - + dependants - + dependencies - - + + t1.cc - - + + t2.cc - - + + t3.h - - + + t2.h - - + + t1.h - - + + t3.h - - + + t2.h - - + + t1.h - - + + t5.h