Files
clang-uml/docs/test_cases/t30003.md
2023-10-08 17:24:30 +02:00

194 lines
5.0 KiB
Markdown

# t30003 - Package deprecated attribute test case
## Config
```yaml
compilation_database_dir: ..
output_directory: diagrams
diagrams:
t30003_package:
type: package
glob:
- ../../tests/t30003/t30003.cc
include:
namespaces:
- clanguml::t30003
using_namespace:
- clanguml::t30003
plantuml:
before:
- "' t30003 test package diagram"
```
## Source code
File t30003.cc
```cpp
namespace clanguml {
namespace t30003 {
namespace ns1 {
namespace ns2_v1_0_0 {
class A { };
} // namespace ns2_v1_0_0
namespace [[deprecated]] ns2_v0_9_0 {
class A { };
} // namespace ns2_v0_9_0
namespace {
class Anon final { };
} // namespace
} // namespace ns1
namespace [[deprecated]] ns3 {
namespace ns1::ns2 {
class Anon : public t30003::ns1::ns2_v1_0_0::A { };
} // namespace ns1::ns2
class B : public ns1::ns2::Anon { };
} // namespace ns3
} // namespace t30003
} // namespace clanguml
```
## Generated PlantUML diagrams
![t30003_package](./t30003_package.svg "Package deprecated attribute test case")
## Generated Mermaid diagrams
![t30003_package](./t30003_package_mermaid.svg "Package deprecated attribute test case")
## Generated JSON models
```json
{
"diagram_type": "package",
"elements": [
{
"display_name": "clanguml",
"elements": [
{
"display_name": "clanguml::t30003",
"id": "1288549465151585544",
"is_deprecated": false,
"name": "t30003",
"source_location": {
"column": 11,
"file": "../../tests/t30003/t30003.cc",
"line": 2,
"translation_unit": "../../tests/t30003/t30003.cc"
},
"type": "namespace"
}
],
"id": "2174271399507040339",
"is_deprecated": false,
"name": "clanguml",
"source_location": {
"column": 11,
"file": "../../tests/t30003/t30003.cc",
"line": 1,
"translation_unit": "../../tests/t30003/t30003.cc"
},
"type": "namespace"
},
{
"display_name": "clanguml::t30003::ns1",
"elements": [
{
"display_name": "clanguml::t30003::ns1::ns2_v1_0_0",
"id": "647755950450743637",
"is_deprecated": false,
"name": "ns2_v1_0_0",
"source_location": {
"column": 11,
"file": "../../tests/t30003/t30003.cc",
"line": 5,
"translation_unit": "../../tests/t30003/t30003.cc"
},
"type": "namespace"
},
{
"display_name": "clanguml::t30003::ns1::ns2_v0_9_0",
"id": "1013406647495422406",
"is_deprecated": true,
"name": "ns2_v0_9_0",
"source_location": {
"column": 26,
"file": "../../tests/t30003/t30003.cc",
"line": 9,
"translation_unit": "../../tests/t30003/t30003.cc"
},
"type": "namespace"
}
],
"id": "600452871069546589",
"is_deprecated": false,
"name": "ns1",
"source_location": {
"column": 11,
"file": "../../tests/t30003/t30003.cc",
"line": 4,
"translation_unit": "../../tests/t30003/t30003.cc"
},
"type": "namespace"
},
{
"display_name": "clanguml::t30003::ns3",
"elements": [
{
"display_name": "clanguml::t30003::ns3::ns1",
"elements": [
{
"display_name": "clanguml::t30003::ns3::ns1::ns2",
"id": "820462660523726751",
"is_deprecated": false,
"name": "ns2",
"source_location": {
"column": 16,
"file": "../../tests/t30003/t30003.cc",
"line": 20,
"translation_unit": "../../tests/t30003/t30003.cc"
},
"type": "namespace"
}
],
"id": "1209144861141334061",
"is_deprecated": false,
"name": "ns1",
"source_location": {
"column": 11,
"file": "../../tests/t30003/t30003.cc",
"line": 20,
"translation_unit": "../../tests/t30003/t30003.cc"
},
"type": "namespace"
}
],
"id": "427104404739526818",
"is_deprecated": true,
"name": "ns3",
"source_location": {
"column": 26,
"file": "../../tests/t30003/t30003.cc",
"line": 18,
"translation_unit": "../../tests/t30003/t30003.cc"
},
"type": "namespace"
}
],
"metadata": {
"clang_uml_version": "0.4.0-2-g4ab0d29",
"llvm_version": "Ubuntu clang version 16.0.6 (++20230710042027+7cbf1a259152-1~exp1~20230710162048.105)",
"schema_version": 1
},
"name": "t30003_package",
"relationships": [
{
"destination": "820462660523726751",
"source": "427104404739526818",
"type": "dependency"
},
{
"destination": "647755950450743637",
"source": "820462660523726751",
"type": "dependency"
}
],
"using_namespace": "clanguml::t30003"
}
```