Reduce the maximum memory requirement of the JarArchiveComparator by having it apply filters while classes are being loaded and removing them from the ClassPool when filtered.
If a package filter is encountered we switch to a 2 step procedure, first reading all package filters, then reloading all classes. (Quite annoying but I don't see an alternative apart from rejecting the PR).
Diff is a bit larger than desired so tests like FilterTest, that relied on filtering to happen after a CtClass is created, continue to work as-is.
Addresses #318.
Reduce the maximum memory requirement of the
JarArchiveComparator
by having it apply filters while classes are being loaded and removing them from theClassPool
when filtered.If a package filter is encountered we switch to a 2 step procedure, first reading all package filters, then reloading all classes. (Quite annoying but I don't see an alternative apart from rejecting the PR).
Diff is a bit larger than desired so tests like
FilterTest
, that relied on filtering to happen after aCtClass
is created, continue to work as-is.