aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/language/message.py
diff options
context:
space:
mode:
Diffstat (limited to 'libpathod/language/message.py')
-rw-r--r--libpathod/language/message.py13
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):