py: Preprocess qstrdefs.h before feeding to makeqstrdata.py.
This is alternative implementation of supporting conditionals in qstrdefs.h, hard to say if it's much cleaner than munging #ifdef's in Python code...
This commit is contained in:
@@ -26,6 +26,7 @@ def compute_hash(qstr):
|
||||
def do_work(infiles):
|
||||
# read the qstrs in from the input files
|
||||
qstrs = {}
|
||||
cpp_header_blocks = 3
|
||||
for infile in infiles:
|
||||
with open(infile, 'rt') as f:
|
||||
line_number = 0
|
||||
@@ -37,6 +38,14 @@ def do_work(infiles):
|
||||
if len(line) == 0 or line.startswith('//'):
|
||||
continue
|
||||
|
||||
# We'll have 3 line-number lines for py/qstrdefs.h - initial, leaving it to
|
||||
# go into other headers, and returning to it.
|
||||
if line.startswith('# ') and 'py/qstrdefs.h' in line:
|
||||
cpp_header_blocks -= 1
|
||||
continue
|
||||
if cpp_header_blocks != 0:
|
||||
continue
|
||||
|
||||
# verify line is of the correct form
|
||||
match = re.match(r'Q\((.+)\)$', line)
|
||||
if not match:
|
||||
|
||||
Reference in New Issue
Block a user