From ebf5c11e03dd09ff85d691c4e0424c14c3593b3a Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Sun, 2 Jan 2022 20:54:39 -0500 Subject: [PATCH] Internals: In astgen text output, pickup missing node references --- src/astgen | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/astgen b/src/astgen index 9fb8e6f6d..f27c3b7d2 100755 --- a/src/astgen +++ b/src/astgen @@ -382,7 +382,7 @@ def read_stages(filename): line = re.sub(r'//.*$', '', line) if re.match(r'^\s*$', line): continue - match = re.match(r'^\s*([A-Za-z0-9]+)::', line) + match = re.search(r'\s([A-Za-z0-9]+)::', line) if match: stage = match.group(1) + ".cpp" if stage not in Stages: @@ -405,6 +405,12 @@ def read_refs(filename): if ref not in ClassRefs: ClassRefs[ref] = {'newed': {}, 'used': {}} ClassRefs[ref]['used'][basename] = 1 + for match in re.finditer( + r'(VN_IS|VN_AS|VN_CAST)\([^.]+, ([A-Za-z0-9_]+)', line): + ref = "Ast" + match.group(2) + if ref not in ClassRefs: + ClassRefs[ref] = {'newed': {}, 'used': {}} + ClassRefs[ref]['used'][basename] = 1 def open_file(filename):