Refactored sequence diagram call expression processing
This commit is contained in:
@@ -64,6 +64,19 @@ public:
|
|||||||
static_cast<T *>(participants.at(id).get()));
|
static_cast<T *>(participants.at(id).get()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
const common::optional_ref<T> get_participant(
|
||||||
|
common::model::diagram_element::id_t id) const
|
||||||
|
{
|
||||||
|
if (participants.find(id) == participants.end()) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
return common::optional_ref<T>(
|
||||||
|
static_cast<T *>(participants.at(id).get()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void add_participant(std::unique_ptr<participant> p)
|
void add_participant(std::unique_ptr<participant> p)
|
||||||
{
|
{
|
||||||
const auto participant_id = p->id();
|
const auto participant_id = p->id();
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -42,22 +42,22 @@ public:
|
|||||||
|
|
||||||
bool shouldVisitTemplateInstantiations();
|
bool shouldVisitTemplateInstantiations();
|
||||||
|
|
||||||
virtual bool VisitCallExpr(clang::CallExpr *expr);
|
bool VisitCallExpr(clang::CallExpr *expr);
|
||||||
|
|
||||||
virtual bool VisitLambdaExpr(clang::LambdaExpr *expr);
|
bool VisitLambdaExpr(clang::LambdaExpr *expr);
|
||||||
|
|
||||||
virtual bool TraverseLambdaExpr(clang::LambdaExpr *expr);
|
bool TraverseLambdaExpr(clang::LambdaExpr *expr);
|
||||||
|
|
||||||
virtual bool VisitCXXMethodDecl(clang::CXXMethodDecl *method);
|
bool VisitCXXMethodDecl(clang::CXXMethodDecl *method);
|
||||||
|
|
||||||
virtual bool VisitCXXRecordDecl(clang::CXXRecordDecl *cls);
|
bool VisitCXXRecordDecl(clang::CXXRecordDecl *cls);
|
||||||
|
|
||||||
virtual bool VisitClassTemplateDecl(clang::ClassTemplateDecl *cls);
|
bool VisitClassTemplateDecl(clang::ClassTemplateDecl *cls);
|
||||||
|
|
||||||
virtual bool VisitClassTemplateSpecializationDecl(
|
bool VisitClassTemplateSpecializationDecl(
|
||||||
clang::ClassTemplateSpecializationDecl *cls);
|
clang::ClassTemplateSpecializationDecl *cls);
|
||||||
|
|
||||||
virtual bool VisitFunctionDecl(clang::FunctionDecl *function_declaration);
|
bool VisitFunctionDecl(clang::FunctionDecl *function_declaration);
|
||||||
|
|
||||||
bool VisitFunctionTemplateDecl(
|
bool VisitFunctionTemplateDecl(
|
||||||
clang::FunctionTemplateDecl *function_declaration);
|
clang::FunctionTemplateDecl *function_declaration);
|
||||||
@@ -203,6 +203,21 @@ private:
|
|||||||
const clang::CXXDependentScopeMemberExpr *dependent_member_callee)
|
const clang::CXXDependentScopeMemberExpr *dependent_member_callee)
|
||||||
const;
|
const;
|
||||||
|
|
||||||
|
bool process_operator_call_expression(model::message &m,
|
||||||
|
const clang::CXXOperatorCallExpr *operator_call_expr);
|
||||||
|
|
||||||
|
bool process_class_method_call_expression(
|
||||||
|
model::message &m, const clang::CXXMemberCallExpr *operator_call_expr);
|
||||||
|
|
||||||
|
bool process_class_template_method_call_expression(
|
||||||
|
model::message &m, const clang::CallExpr *expr);
|
||||||
|
|
||||||
|
bool process_function_call_expression(
|
||||||
|
model::message &m, const clang::CallExpr *expr);
|
||||||
|
|
||||||
|
bool process_unresolved_lookup_call_expression(
|
||||||
|
model::message &m, const clang::CallExpr *expr);
|
||||||
|
|
||||||
// Reference to the output diagram model
|
// Reference to the output diagram model
|
||||||
clanguml::sequence_diagram::model::diagram &diagram_;
|
clanguml::sequence_diagram::model::diagram &diagram_;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user