I'm trying to create navigate to visitor navigation plugin (Visitor pattern). The idea is you stand on a usage of a struct or a class type or constructor, you press ctr+shift+g to bring up the navigate to context menu. Here I check if you stand on a class or a struct, then if you press Goto visitor I will get all usages of the type, check if the usage is a interface with a generic argument that is the navigate type and if the interface has a method that takes the generic type and nothing more. And if that is the case navigate to that method.
I have found the declared type by getting IReferenceName on the selected node and then do IReferenceName.Reference.Resolve to resolve the declared type (Is this the correct way?). But I'm a bit stuck on the next step to get all usages etc. The docs are very sparse.
Can you guys please direct me in the correct direction? Thanks