in EnvDTE.Client/Util/EnvDTEElementRegistrar.cs [10:27]
public sealed class EnvDTEElementRegistrar([NotNull] DteImplementation implementation)
{
[NotNull]
public DteImplementation Implementation { get; } = implementation;
[NotNull]
public CodeElement Convert([NotNull] CodeElementModel model, object parent) => model.TypeId switch
{
1 => new CodeNamespaceImpl(Implementation, model, parent),
2 => new CodeClassImpl(Implementation, model, parent),
3 => new CodeStructImpl(Implementation, model, parent),
4 => new CodeInterfaceImpl(Implementation, model, parent),
5 => new CodeFunctionImpl(Implementation, model, parent),
6 => new CodeParameterImpl(Implementation, model, parent),
7 => new CodeAttributeImpl(Implementation, model, parent),
_ => throw new InvalidOperationException($"Attempting to create EnvDTE AST node for unknown type ID: {model.TypeId}")
};
}