libreoffice/compilerplugins/clang/store/unnecessaryvirtual.py
Noel Grandin d9e6270392 loplugin:unnecessaryvirtual
update the plugin with lessons learned from the mergeclasses plugin and
re-run it

Change-Id: I9d622eb3d05fceaf8fa764c533c8fa5dfb4c7711
Reviewed-on: https://gerrit.libreoffice.org/20015
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-17 12:26:32 +00:00

29 lines
728 B
Python
Executable File

#!/usr/bin/python
import sys
import io
definitionSet = set()
overridingSet = set()
with io.open(sys.argv[1], "rb", buffering=1024*1024) as txt:
for line in txt:
if line.startswith("definition:\t"):
idx1 = line.find("\t")
clazzName = line[idx1+1 : len(line)-1]
definitionSet.add(clazzName)
elif line.startswith("overriding:\t"):
idx1 = line.find("\t")
clazzName = line[idx1+1 : len(line)-1]
overridingSet.add(clazzName)
for clazz in sorted(definitionSet - overridingSet):
print clazz
# add an empty line at the end to make it easier for the removevirtuals plugin to mmap() the output file
print