Basically that, I'm implementing a new language: compiler, syntax coloring, library, project system, IntelliSense, editor extra functionalities, etc.
Now, I need to use Symbols defined in referenced projects (or assemblies) which are in, e.g., C#, so I can, for example, colorize them in the Classifier, and provide Go To Source functionality. For example, in a project for my language, the user adds a reference to a C# class library project, and declares a symbol as being of a type defined in the c# project. I need to resolve the type and be able to locate the source location where it's defined.
What's the best approximation for this? Should I consume Object Manager's Libraries and filter for those referenced by my project? Is there any specific service that allows me to enumerate/locate symbols aside from this?
I mean, the information is clearly loaded into memory already, Class View and Object Browser see all the symbols defined in referenced projects. It seems a waste to load referenced assemblies into memory to index every symbol in them, right?