Added context filter relationships option (#274)

This commit is contained in:
Bartek Kryza
2024-06-13 21:35:11 +02:00
parent db2bd0417a
commit 6952c3296d
10 changed files with 120 additions and 4 deletions

View File

@@ -167,6 +167,7 @@ struct context_config {
common::string_or_regex pattern;
unsigned radius{0};
context_direction_t direction{context_direction_t::any};
std::vector<common::model::relationship_t> relationships;
};
/**

View File

@@ -87,6 +87,18 @@ types:
- dependency
- constraint
- none
relationship_context_t: !variant
- extension
- inheritance
- composition
- aggregation
- containment
- ownership
- association
- instantiation
- friendship
- dependency
- constraint
access_filter_t: !variant
- public
- protected
@@ -123,6 +135,7 @@ types:
radius: int
pattern: regex_or_string_t
direction: !optional direction_t
relationships: !optional [relationship_context_t]
context_filter_t:
- regex_or_string_t
- context_filter_match_t

View File

@@ -485,6 +485,9 @@ template <> struct convert<context_config> {
rhs.pattern = match["pattern"].as<string_or_regex>();
if (has_key(match, "direction"))
rhs.direction = match["direction"].as<context_direction_t>();
if (has_key(match, "relationships"))
rhs.relationships =
match["relationships"].as<std::vector<relationship_t>>();
}
else {
rhs.radius = 1;