aux/trace: skip multi-line comments in enums2names

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24482>
This commit is contained in:
Julia Tatz 2023-07-08 15:59:52 -04:00 committed by Marge Bot
parent c4133a110d
commit 87850734e7

View file

@ -127,11 +127,26 @@ class PKKHeaderParser:
self.mdata = []
self.start = 0
self.name = None
self.in_multiline_comment = False
def error(self, msg):
pkk_fatal(f"{self.filename}:{self.nline} : {msg}")
def parse_line(self, sline):
def parse_line(self, sline: str):
start = sline.find('/*')
end = sline.find('*/')
if not self.in_multiline_comment and start >= 0:
if end >= 0:
assert end > start
sline = sline[:start] + sline[end + 2:]
else:
sline = sline[:start]
self.in_multiline_comment = True
elif self.in_multiline_comment and end >= 0:
self.in_multiline_comment = False
sline = sline[end + 2:]
elif self.in_multiline_comment:
return
# A kingdom for Py3.8 := operator ...
smatch = re.match(r'^enum\s+([A-Za-z0-9_]+)\s+.*;', sline)
if smatch: