12 KiB
12 KiB
t20030 - Constructor and operator call test case
Config
compilation_database_dir: ..
output_directory: puml
diagrams:
t20030_sequence:
type: sequence
glob:
- ../../tests/t20030/t20030.cc
include:
namespaces:
- clanguml::t20030
using_namespace:
- clanguml::t20030
start_from:
- function: "clanguml::t20030::tmain(int)"
- function: "clanguml::t20030::tmain(bool,int)"
Source code
File t20030.cc
namespace clanguml {
namespace t20030 {
int magic() { return 42; }
class A {
public:
A() { create(); }
A(int v) { a_ = v; }
A &operator=(const A &a)
{
set(a.a_);
return *this;
}
A &operator+=(int a)
{
add(a);
return *this;
}
int value() const { return a_; }
private:
void create() { a_ = 0; }
void add(int a) { a_ += a; }
void set(int a) { a_ = a; }
int a_;
};
void tmain(int a)
{
A an_a{magic()};
an_a += 1;
}
int tmain(bool f, int a)
{
auto an_a = A();
auto an_b = A();
an_a += 2;
an_b = an_a;
return an_b.value();
};
}
}
Generated UML diagrams
Generated JSON models
{
"diagram_type": "sequence",
"metadata": {
"clang_uml_version": "0.3.8-18-gfd06d93",
"llvm_version": "Ubuntu clang version 15.0.7",
"schema_version": 1
},
"name": "t20030_sequence",
"participants": [
{
"id": "1264643561983920529",
"name": "clanguml::t20030::tmain(int)",
"source_location": {
"column": 6,
"file": "../../tests/t20030/t20030.cc",
"line": 35,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"type": "function"
},
{
"id": "1038740565367213967",
"name": "clanguml::t20030::magic()",
"source_location": {
"column": 5,
"file": "../../tests/t20030/t20030.cc",
"line": 4,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"type": "function"
},
{
"id": "1081707114848460702",
"name": "clanguml::t20030::A",
"source_location": {
"column": 7,
"file": "../../tests/t20030/t20030.cc",
"line": 6,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"type": "class"
},
{
"id": "36090614888670483",
"name": "clanguml::t20030::tmain(bool,int)",
"source_location": {
"column": 5,
"file": "../../tests/t20030/t20030.cc",
"line": 41,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"type": "function"
}
],
"sequences": [
{
"messages": [
{
"from": {
"activity_id": "1264643561983920529",
"activity_name": "clanguml::t20030::tmain(int)",
"participant_id": "1264643561983920529",
"participant_name": "clanguml::t20030::tmain(int)"
},
"name": "",
"return_type": "int",
"scope": "normal",
"source_location": {
"column": 12,
"file": "../../tests/t20030/t20030.cc",
"line": 37,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"to": {
"activity_id": "1038740565367213967",
"activity_name": "clanguml::t20030::magic()",
"participant_id": "1038740565367213967"
},
"type": "message"
},
{
"from": {
"activity_id": "1264643561983920529",
"activity_name": "clanguml::t20030::tmain(int)",
"participant_id": "1264643561983920529",
"participant_name": "clanguml::t20030::tmain(int)"
},
"name": "A(int)",
"return_type": "void",
"scope": "normal",
"source_location": {
"column": 7,
"file": "../../tests/t20030/t20030.cc",
"line": 37,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"to": {
"activity_id": "2192298168642377389",
"activity_name": "clanguml::t20030::A::A(int)",
"participant_id": "1081707114848460702"
},
"type": "message"
},
{
"from": {
"activity_id": "1264643561983920529",
"activity_name": "clanguml::t20030::tmain(int)",
"participant_id": "1264643561983920529",
"participant_name": "clanguml::t20030::tmain(int)"
},
"name": "operator+=(int)",
"return_type": "clanguml::t20030::A &",
"scope": "normal",
"source_location": {
"column": 5,
"file": "../../tests/t20030/t20030.cc",
"line": 38,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"to": {
"activity_id": "2032167997122548080",
"activity_name": "clanguml::t20030::A::operator+=(int)",
"participant_id": "1081707114848460702"
},
"type": "message"
},
{
"from": {
"activity_id": "2032167997122548080",
"activity_name": "clanguml::t20030::A::operator+=(int)",
"participant_id": "1081707114848460702"
},
"name": "add(int)",
"return_type": "void",
"scope": "normal",
"source_location": {
"column": 9,
"file": "../../tests/t20030/t20030.cc",
"line": 20,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"to": {
"activity_id": "2174827432067616124",
"activity_name": "clanguml::t20030::A::add(int)",
"participant_id": "1081707114848460702"
},
"type": "message"
}
],
"start_from": {
"id": 1264643561983920529,
"location": "clanguml::t20030::tmain(int)"
}
},
{
"messages": [
{
"from": {
"activity_id": "36090614888670483",
"activity_name": "clanguml::t20030::tmain(bool,int)",
"participant_id": "36090614888670483",
"participant_name": "clanguml::t20030::tmain(bool,int)"
},
"name": "A()",
"return_type": "void",
"scope": "normal",
"source_location": {
"column": 17,
"file": "../../tests/t20030/t20030.cc",
"line": 43,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"to": {
"activity_id": "32184916294885915",
"activity_name": "clanguml::t20030::A::A()",
"participant_id": "1081707114848460702"
},
"type": "message"
},
{
"from": {
"activity_id": "32184916294885915",
"activity_name": "clanguml::t20030::A::A()",
"participant_id": "1081707114848460702"
},
"name": "create()",
"return_type": "void",
"scope": "normal",
"source_location": {
"column": 11,
"file": "../../tests/t20030/t20030.cc",
"line": 8,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"to": {
"activity_id": "890578100069139188",
"activity_name": "clanguml::t20030::A::create()",
"participant_id": "1081707114848460702"
},
"type": "message"
},
{
"from": {
"activity_id": "36090614888670483",
"activity_name": "clanguml::t20030::tmain(bool,int)",
"participant_id": "36090614888670483",
"participant_name": "clanguml::t20030::tmain(bool,int)"
},
"name": "A()",
"return_type": "void",
"scope": "normal",
"source_location": {
"column": 17,
"file": "../../tests/t20030/t20030.cc",
"line": 44,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"to": {
"activity_id": "32184916294885915",
"activity_name": "clanguml::t20030::A::A()",
"participant_id": "1081707114848460702"
},
"type": "message"
},
{
"from": {
"activity_id": "36090614888670483",
"activity_name": "clanguml::t20030::tmain(bool,int)",
"participant_id": "36090614888670483",
"participant_name": "clanguml::t20030::tmain(bool,int)"
},
"name": "operator+=(int)",
"return_type": "clanguml::t20030::A &",
"scope": "normal",
"source_location": {
"column": 5,
"file": "../../tests/t20030/t20030.cc",
"line": 45,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"to": {
"activity_id": "2032167997122548080",
"activity_name": "clanguml::t20030::A::operator+=(int)",
"participant_id": "1081707114848460702"
},
"type": "message"
},
{
"from": {
"activity_id": "2032167997122548080",
"activity_name": "clanguml::t20030::A::operator+=(int)",
"participant_id": "1081707114848460702"
},
"name": "add(int)",
"return_type": "void",
"scope": "normal",
"source_location": {
"column": 9,
"file": "../../tests/t20030/t20030.cc",
"line": 20,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"to": {
"activity_id": "2174827432067616124",
"activity_name": "clanguml::t20030::A::add(int)",
"participant_id": "1081707114848460702"
},
"type": "message"
},
{
"from": {
"activity_id": "36090614888670483",
"activity_name": "clanguml::t20030::tmain(bool,int)",
"participant_id": "36090614888670483",
"participant_name": "clanguml::t20030::tmain(bool,int)"
},
"name": "operator=(const A &)",
"return_type": "clanguml::t20030::A &",
"scope": "normal",
"source_location": {
"column": 5,
"file": "../../tests/t20030/t20030.cc",
"line": 46,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"to": {
"activity_id": "1796303685088700396",
"activity_name": "clanguml::t20030::A::operator=(const A &)",
"participant_id": "1081707114848460702"
},
"type": "message"
},
{
"from": {
"activity_id": "1796303685088700396",
"activity_name": "clanguml::t20030::A::operator=(const A &)",
"participant_id": "1081707114848460702"
},
"name": "set(int)",
"return_type": "void",
"scope": "normal",
"source_location": {
"column": 9,
"file": "../../tests/t20030/t20030.cc",
"line": 14,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"to": {
"activity_id": "2212978510776223413",
"activity_name": "clanguml::t20030::A::set(int)",
"participant_id": "1081707114848460702"
},
"type": "message"
},
{
"from": {
"activity_id": "36090614888670483",
"activity_name": "clanguml::t20030::tmain(bool,int)",
"participant_id": "36090614888670483",
"participant_name": "clanguml::t20030::tmain(bool,int)"
},
"name": "value() const",
"return_type": "int",
"scope": "normal",
"source_location": {
"column": 12,
"file": "../../tests/t20030/t20030.cc",
"line": 47,
"translation_unit": "../../tests/t20030/t20030.cc"
},
"to": {
"activity_id": "1754957340376276968",
"activity_name": "clanguml::t20030::A::value() const",
"participant_id": "1081707114848460702"
},
"type": "message"
}
],
"start_from": {
"id": 36090614888670483,
"location": "clanguml::t20030::tmain(bool,int)"
}
}
],
"using_namespace": "clanguml::t20030"
}