EOGStarterHolder
This interface needs to be implemented by Nodes in the graph, wo serve as an entry-point to the EOG. This is primarily used in the SymbolResolver for resolution, so that we can follow the EOG path from these nodes and resolve all symbols accordingly. But also other passes might be interested in all EOG start nodes. They can use the EOGStarterPass to apply the pass on all such nodes in the graph.
In some cases, the Node that implements this interface will add itself, for example in a FunctionDeclaration, so that we can use all functions as an entry-point to symbol resolution. In other cases, certain child nodes might be added to eogStarters, for example to add all top-level declarations in a TranslationUnitDeclaration.
The common denominator is that all the nodes contained in eogStarters start an EOG path, i.e., they should have a valid Node.nextEOG, but an empty Node.prevEOG.