]> git.cworth.org Git - apitrace-tests/blobdiff - tracematch.py
tracematch: Fix array parsing.
[apitrace-tests] / tracematch.py
index c1e0948210e8405ba8fdcca6ef3dc1a8680429f2..ec0509e5285e0983a3203dd989129aef08b13afb 100755 (executable)
@@ -545,13 +545,14 @@ class TraceParser(Parser):
     def parse_opt_pair(self):
         '''Parse an optional `name = value` pair.'''
         if self.match(ID):
-            name = self.consume(ID).text
+            token = self.consume(ID)
             if self.match(EQUAL):
                 self.consume(EQUAL)
+                name = token.text
                 value = self.parse_value()
             else:
-                value = name
                 name = None
+                value = self.handleID(token.text)
         else:
             name = None
             value = self.parse_value()
@@ -598,11 +599,12 @@ class TraceParser(Parser):
             return self.handleString(value)
         elif self.match(NUMBER):
             token = self.consume()
-            if '.' in token.text:
+            try:
+                value = int(token.text)
+            except ValueError:
                 value = float(token.text)
                 return self.handleFloat(value)
             else:
-                value = int(token.text)
                 return self.handleInt(value)
         elif self.match(HEXNUM):
             token = self.consume()