public static uint ObjectListKindToListType(ObjectListKind kind) { switch (kind) { case ObjectListKind.BaseTypes: return((uint)_LIB_LISTTYPE.LLT_USESCLASSES); case ObjectListKind.Hierarchy: return((uint)_LIB_LISTTYPE.LLT_HIERARCHY); case ObjectListKind.Members: return((uint)_LIB_LISTTYPE.LLT_MEMBERS); case ObjectListKind.Namespaces: return((uint)_LIB_LISTTYPE.LLT_NAMESPACES); case ObjectListKind.Projects: return((uint)_LIB_LISTTYPE.LLT_PACKAGE); case ObjectListKind.References: return(LLT_PROJREF); case ObjectListKind.Types: return((uint)_LIB_LISTTYPE.LLT_CLASSES); } Debug.Fail("Unsupported object list kind: " + kind.ToString()); return(0); }
public ObjectList( ObjectListKind kind, uint flags, AbstractObjectBrowserLibraryManager manager, ImmutableArray <ObjectListItem> items) : this(kind, flags, null, null, manager, items) { }
public ObjectList( ObjectListKind kind, uint flags, ObjectList parentList, ObjectListItem parentListItem, AbstractObjectBrowserLibraryManager manager, ImmutableArray <ObjectListItem> items) : base(manager) { _kind = kind; _flags = flags; _parentList = parentList; _parentListItem = parentListItem; _items = items; foreach (var item in _items) { item.SetParentList(this); } }
public static uint ObjectListKindToListType(ObjectListKind kind) { switch (kind) { case ObjectListKind.BaseTypes: return (uint)_LIB_LISTTYPE.LLT_USESCLASSES; case ObjectListKind.Hierarchy: return (uint)_LIB_LISTTYPE.LLT_HIERARCHY; case ObjectListKind.Members: return (uint)_LIB_LISTTYPE.LLT_MEMBERS; case ObjectListKind.Namespaces: return (uint)_LIB_LISTTYPE.LLT_NAMESPACES; case ObjectListKind.Projects: return (uint)_LIB_LISTTYPE.LLT_PACKAGE; case ObjectListKind.References: return LLT_PROJREF; case ObjectListKind.Types: return (uint)_LIB_LISTTYPE.LLT_CLASSES; } Debug.Fail("Unsupported object list kind: " + kind.ToString()); return 0; }
public IVsSimpleObjectList2 GetSearchList( ObjectListKind listKind, uint flags, VSOBSEARCHCRITERIA2[] pobSrch, ImmutableHashSet <Tuple <ProjectId, IAssemblySymbol> > projectAndAssemblySet) { var searchText = GetSearchText(pobSrch); if (searchText == null) { return(null); } // TODO: Support wildcards (e.g. *xyz, *xyz* and xyz*) like the old language service did. switch (listKind) { case ObjectListKind.Namespaces: { var builder = ImmutableArray.CreateBuilder <ObjectListItem>(); foreach (var projectIdAndAssembly in projectAndAssemblySet) { var projectId = projectIdAndAssembly.Item1; var assemblySymbol = projectIdAndAssembly.Item2; CollectNamespaceListItems(assemblySymbol, projectId, builder, searchText); } return(new ObjectList(ObjectListKind.Namespaces, flags, this, builder.ToImmutable())); } case ObjectListKind.Types: { var builder = ImmutableArray.CreateBuilder <ObjectListItem>(); foreach (var projectIdAndAssembly in projectAndAssemblySet) { var projectId = projectIdAndAssembly.Item1; var assemblySymbol = projectIdAndAssembly.Item2; var compilation = this.GetCompilation(projectId); if (compilation == null) { return(null); } CollectTypeListItems(assemblySymbol, compilation, projectId, builder, searchText); } return(new ObjectList(ObjectListKind.Types, flags, this, builder.ToImmutable())); } case ObjectListKind.Members: { var builder = ImmutableArray.CreateBuilder <ObjectListItem>(); foreach (var projectIdAndAssembly in projectAndAssemblySet) { var projectId = projectIdAndAssembly.Item1; var assemblySymbol = projectIdAndAssembly.Item2; var compilation = this.GetCompilation(projectId); if (compilation == null) { return(null); } CollectMemberListItems(assemblySymbol, compilation, projectId, builder, searchText); } return(new ObjectList(ObjectListKind.Types, flags, this, builder.ToImmutable())); } default: return(null); } }
public IVsSimpleObjectList2 GetSearchList( ObjectListKind listKind, uint flags, VSOBSEARCHCRITERIA2[] pobSrch, ImmutableHashSet<Tuple<ProjectId, IAssemblySymbol>> projectAndAssemblySet) { var searchText = GetSearchText(pobSrch); if (searchText == null) { return null; } // TODO: Support wildcards (e.g. *xyz, *xyz* and xyz*) like the old language service did. switch (listKind) { case ObjectListKind.Namespaces: { var builder = ImmutableArray.CreateBuilder<ObjectListItem>(); foreach (var projectIdAndAssembly in projectAndAssemblySet) { var projectId = projectIdAndAssembly.Item1; var assemblySymbol = projectIdAndAssembly.Item2; CollectNamespaceListItems(assemblySymbol, projectId, builder, searchText); } return new ObjectList(ObjectListKind.Namespaces, flags, this, builder.ToImmutable()); } case ObjectListKind.Types: { var builder = ImmutableArray.CreateBuilder<ObjectListItem>(); foreach (var projectIdAndAssembly in projectAndAssemblySet) { var projectId = projectIdAndAssembly.Item1; var assemblySymbol = projectIdAndAssembly.Item2; var compilation = this.GetCompilation(projectId); if (compilation == null) { return null; } CollectTypeListItems(assemblySymbol, compilation, projectId, builder, searchText); } return new ObjectList(ObjectListKind.Types, flags, this, builder.ToImmutable()); } case ObjectListKind.Members: { var builder = ImmutableArray.CreateBuilder<ObjectListItem>(); foreach (var projectIdAndAssembly in projectAndAssemblySet) { var projectId = projectIdAndAssembly.Item1; var assemblySymbol = projectIdAndAssembly.Item2; var compilation = this.GetCompilation(projectId); if (compilation == null) { return null; } CollectMemberListItems(assemblySymbol, compilation, projectId, builder, searchText); } return new ObjectList(ObjectListKind.Types, flags, this, builder.ToImmutable()); } default: return null; } }