aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mparser.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/mparser.py')
-rw-r--r--mesonbuild/mparser.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py
index b3fdba8..2f0eb2d 100644
--- a/mesonbuild/mparser.py
+++ b/mesonbuild/mparser.py
@@ -353,6 +353,7 @@ class Parser:
def __init__(self, code):
self.stream = Lexer().lex(code)
self.getsym()
+ self.in_ternary = False
def getsym(self):
try:
@@ -393,9 +394,14 @@ class Parser:
left.lineno, left.colno)
return AssignmentNode(left.lineno, left.colno, left.value, value)
elif self.accept('questionmark'):
+ if self.in_ternary:
+ raise ParseException('Nested ternary operators are not allowed.',
+ left.lineno, left.colno)
+ self.in_ternary = True
trueblock = self.e1()
self.expect('colon')
falseblock = self.e1()
+ self.in_ternary = False
return TernaryNode(left.lineno, left.colno, left, trueblock, falseblock)
return left