You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Given the following graph
a.cpp
| \
| \
a.h a_impl.h
\ |
a_iface.h
and the pattern 'a*.h', we would previouslly fail to remove a_iface.h
because there were two in-edges. But the number of in-edges exclusion
only matters if the node _doesn't_ match the filter pattern.
This _helps_ #26, but doesn't fix it altogether.
Interestingly, if you run filtergraph.py on a work project several
times, the differences that _aren't_ fixed is the random existence of
the two nodes
"/usr/include/assert.h" "is_source_file=False, is_system_header=True, is_first_level_system_header=True"
"/usr/include/c++/11/cctype" "is_source_file=False, is_system_header=True, is_first_level_system_header=True"
even though no other node includes them (after filtering)
Given the following graph
a.cpp
| \
| \
a.h a_impl.h
\ |
a_iface.h
and the pattern 'a*.h', we would previouslly fail to remove a_iface.h
because there were two in-edges. But the number of in-edges exclusion
only matters if the node _doesn't_ match the filter pattern.
This _helps_ #26, but doesn't fix it altogether.
Interestingly, if you run filtergraph.py on a work project several
times, the differences that _aren't_ fixed is the random existence of
the two nodes
"/usr/include/assert.h" "is_source_file=False, is_system_header=True, is_first_level_system_header=True"
"/usr/include/c++/11/cctype" "is_source_file=False, is_system_header=True, is_first_level_system_header=True"
even though no other node includes them (after filtering)
This is because
set
iteration order is nondeterministic, so each BFS searches starting at a random node.But even with random iteration order, the number of nodes filtered should be the same.
The text was updated successfully, but these errors were encountered: