office-gobmx/bin/find-unused-typedefs.py
Noel Grandin ca6d205e88 improve the find-unused-typedefs script
Change-Id: If4ab3bf8759c194e6005091d6df6a3a11cd633b7
2017-12-15 13:46:04 +02:00

34 lines
1 KiB
Python
Executable file

#!/usr/bin/python
import subprocess
# find typedefs, excluding the externals folder
a = subprocess.Popen("git grep -P 'typedef\s+.+\s+\w+;' -- \"[!e][!x][!t]*\"", stdout=subprocess.PIPE, shell=True)
# parse out the typedef names
typedefSet = set()
with a.stdout as txt:
for line in txt:
idx2 = line.rfind(";")
idx1 = line.rfind(" ", 0, idx2)
typedefName = line[idx1+1 : idx2]
if typedefName.startswith("*"):
typedefName = typedefName[1:]
# ignore anything less than 5 characters, it's probably a parsing error
if len(typedefName) < 5: continue
typedefSet.add(typedefName)
for typedefName in sorted(typedefSet):
print("checking: " + typedefName)
a = subprocess.Popen(["git", "grep", "-wn", typedefName], stdout=subprocess.PIPE)
foundLine2 = ""
cnt = 0
with a.stdout as txt2:
for line2 in txt2:
cnt = cnt + 1
foundLine2 += line2
if cnt == 1:
print("remove: " + foundLine2)
elif cnt == 2:
print("inline: " + foundLine2)