aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mparser.py
diff options
context:
space:
mode:
authorMarc Herbert <marc.herbert@gmail.com>2019-12-03 16:45:28 -0800
committerXavier Claessens <xclaesse@gmail.com>2019-12-03 22:10:07 -0500
commit80bfe593fccfaca880f38754fbf115ca0d591e44 (patch)
tree251aa34af3ad415e029b5fbfcd4207af2911c40a /mesonbuild/mparser.py
parent11639dd922aadb82545e2bce4edc558467a1fa21 (diff)
downloadmeson-80bfe593fccfaca880f38754fbf115ca0d591e44.zip
meson-80bfe593fccfaca880f38754fbf115ca0d591e44.tar.gz
meson-80bfe593fccfaca880f38754fbf115ca0d591e44.tar.bz2
mparser.py: actually check the type of key variable, not its value
Fixes PR #6166 and more specifically commit 4e460f04f3b2 that tried to make sure the type of a key variable is a string but checked the type of the value instead. Extends test common/228's limited coverage, its only test case had (surprise) a string value. Also avoid reserved python keyword 'dict' and potentially confusing string 'key'. Implements #5231 for real.
Diffstat (limited to 'mesonbuild/mparser.py')
-rw-r--r--mesonbuild/mparser.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py
index 1baf051..80ffefd 100644
--- a/mesonbuild/mparser.py
+++ b/mesonbuild/mparser.py
@@ -682,7 +682,7 @@ class Parser:
# + 1 to colno to point to the actual string, not the opening quote
raise ParseException('Duplicate dictionary key: {}'.format(s.value), self.getline(), s.lineno, s.colno + 1)
a.set_kwarg(s.value, key_value)
- elif isinstance(s, IdNode) and isinstance(key_value, StringNode):
+ elif isinstance(s, IdNode) and isinstance(s.value, str):
for key in a.kwargs:
if s.value == key.value:
raise ParseException('Duplicate dictionary variable key: {}'.format(s.value), self.getline(), s.lineno, s.colno)