6.3 KiB
6.3 KiB
t00037 - Anonymous nested struct test case
Config
compilation_database_dir: ..
output_directory: puml
diagrams:
t00037_class:
type: class
generate_packages: true
glob:
- ../../tests/t00037/t00037.cc
using_namespace:
- clanguml::t00037
include:
namespaces:
- clanguml::t00037
Source code
File t00037.cc
namespace clanguml {
namespace t00037 {
class ST {
public:
struct {
double t;
double x;
double y;
double z;
} dimensions;
private:
struct {
double c{1.0};
double h{1.0};
} units;
};
struct A {
A()
{
st.dimensions.t = -1.0;
st.dimensions.x = 1.0;
st.dimensions.y = 1.0;
st.dimensions.z = 1.0;
}
ST st;
};
} // namespace t00037
} // namespace clanguml
Generated UML diagrams
Generated JSON models
{
"diagram_type": "class",
"elements": [
{
"bases": [],
"display_name": "clanguml::t00037::ST",
"id": "11203041379038775",
"is_abstract": false,
"is_nested": false,
"is_struct": false,
"is_template": false,
"is_union": false,
"members": [
{
"access": "public",
"is_static": false,
"name": "dimensions",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 11
},
"type": "ST##(anonymous_662)"
},
{
"access": "private",
"is_static": false,
"name": "units",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 17
},
"type": "ST##(anonymous_792)"
}
],
"methods": [],
"name": "ST",
"namespace": "clanguml::t00037",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 4
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00037::ST::(dimensions)",
"id": "1980820317972901050",
"is_abstract": false,
"is_nested": true,
"is_struct": true,
"is_template": false,
"is_union": false,
"members": [
{
"access": "public",
"is_static": false,
"name": "t",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 7
},
"type": "double"
},
{
"access": "public",
"is_static": false,
"name": "x",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 8
},
"type": "double"
},
{
"access": "public",
"is_static": false,
"name": "y",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 9
},
"type": "double"
},
{
"access": "public",
"is_static": false,
"name": "z",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 10
},
"type": "double"
}
],
"methods": [],
"name": "ST::(dimensions)",
"namespace": "clanguml::t00037",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 6
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00037::ST::(units)",
"id": "1811145508890403377",
"is_abstract": false,
"is_nested": true,
"is_struct": true,
"is_template": false,
"is_union": false,
"members": [
{
"access": "public",
"is_static": false,
"name": "c",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 15
},
"type": "double"
},
{
"access": "public",
"is_static": false,
"name": "h",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 16
},
"type": "double"
}
],
"methods": [],
"name": "ST::(units)",
"namespace": "clanguml::t00037",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 14
},
"template_parameters": [],
"type": "class"
},
{
"bases": [],
"display_name": "clanguml::t00037::A",
"id": "1322794181774144954",
"is_abstract": false,
"is_nested": false,
"is_struct": true,
"is_template": false,
"is_union": false,
"members": [
{
"access": "public",
"is_static": false,
"name": "st",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 29
},
"type": "clanguml::t00037::ST"
}
],
"methods": [
{
"access": "public",
"is_const": false,
"is_defaulted": false,
"is_implicit": false,
"is_pure_virtual": false,
"is_static": false,
"is_virtual": false,
"name": "A",
"parameters": [],
"type": "void"
}
],
"name": "A",
"namespace": "clanguml::t00037",
"source_location": {
"file": "../../tests/t00037/t00037.cc",
"line": 20
},
"template_parameters": [],
"type": "class"
}
],
"metadata": {
"clang_uml_version": "0.3.4-28-g3eb1c47",
"llvm_version": "Ubuntu clang version 15.0.6",
"schema_version": 1
},
"name": "t00037_class",
"relationships": [
{
"access": "public",
"destination": "1980820317972901050",
"label": "dimensions",
"source": "11203041379038775",
"type": "aggregation"
},
{
"access": "private",
"destination": "1811145508890403377",
"label": "units",
"source": "11203041379038775",
"type": "aggregation"
},
{
"access": "public",
"destination": "11203041379038775",
"label": "st",
"source": "1322794181774144954",
"type": "aggregation"
}
],
"using_namespace": "clanguml::t00037"
}