Description
Currently filters are applied during parsing. When parsing part of the AST, we check if the node passes the config's filters. Transitive deps are handled using the ignoreFilters
flag, because if A passes the filters, and depends on B, B should be included even if it doesn't pass the filters.
This works ok, but it's a bit complicated, and it means we need stuff like _CreateTypeFromCursorResult
(see comments on that class). It's also problematic for categories, where the dependency arrow is backwards.
Categories are basically extension methods, so if A is an extension of B it should only be included if B is. But in the AST, A points to B. So the ignoreFilters
approach won't work (if B is included later, how will we know we need to reprocess A?).
A more robust approach would be to just parse everything, and then apply the filters afterwards (though this might have a performance impact for huge imports).
Metadata
Metadata
Assignees
Type
Projects
Status