From cfafbc2efa7d1b62b86f8fe81ced6242812f2489 Mon Sep 17 00:00:00 2001 From: Joeri Exelmans Date: Wed, 16 Oct 2024 09:22:45 +0200 Subject: [PATCH] Fixed multiplicity infinity in class diagrams parser --- concrete_syntax/textual_cd/parser.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/concrete_syntax/textual_cd/parser.py b/concrete_syntax/textual_cd/parser.py index 1a3d4d9..51af346 100644 --- a/concrete_syntax/textual_cd/parser.py +++ b/concrete_syntax/textual_cd/parser.py @@ -86,7 +86,10 @@ def parse_cd(state, m_text): return True def INT_OR_INF(self, el): - return float('inf') if el == "*" else int(el) + # infinity only used for upper cardinality, + # where the default value (None) represents infinity + # cannot use `float('inf')` because then it violates the constraint of type 'Integer' + return None if el == "*" else int(el) def multiplicity(self, el): [lower, upper] = el