noverify
noverify copied to clipboard
Refactor RootWalker
RootWalker does too many things.
- It's used during the indexing (it collects the file meta)
- It's used during the linting (it reports things)
- It contains some code shared with BlockWalker (block walker calls them via RootWalker ptr)
- It's also does some stubs-related things like phpstorm meta namespace handling
Right now it's almost impossible to take it apart without a lot of efforts, but in order to get separated indexing+linting one day, we need to stop making it worse and try to split it into parts that can function independently. Like we did (to some extent) with the BlockWalker.