diff options
Diffstat (limited to 'libpathod/language/message.py')
-rw-r--r-- | libpathod/language/message.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/libpathod/language/message.py b/libpathod/language/message.py index b5ef7045..dbc0cfdd 100644 --- a/libpathod/language/message.py +++ b/libpathod/language/message.py @@ -1,5 +1,5 @@ import abc -from . import actions +from . import actions, exceptions LOG_TRUNCATE = 1024 @@ -9,6 +9,17 @@ class Message(object): logattrs = [] def __init__(self, tokens): + track = set([]) + for i in tokens: + if i.unique_name: + if i.unique_name in track: + raise exceptions.ParseException( + "Message has multiple %s clauses, " + "but should only have one." % i.unique_name, + 0, 0 + ) + else: + track.add(i.unique_name) self.tokens = tokens def toks(self, klass): |