/// <summary> /// Determine the visibility from the API node information /// </summary> /// <param name="apiType">The API type character from the ID</param> /// <param name="node">The API node information</param> /// <returns>An <see cref="ApiVisibility"/> indicating the entry's visibility</returns> internal static ApiVisibility DetermineVisibility(char apiType, XmlNode node) { ApiVisibility visibility; string visText; // Determine the visibility of the entry if(apiType == 'T') visText = node.SelectSingleNode("typedata/@visibility").Value; else visText = node.SelectSingleNode("memberdata/@visibility").Value; switch(visText) { case "private": visibility = ApiVisibility.Private; break; case "assembly": case "family and assembly": visibility = ApiVisibility.Internal; break; case "family": case "family or assembly": visibility = ApiVisibility.Protected; break; default: visibility = ApiVisibility.Public; break; } return visibility; }
public RunningSearch(IList <LoadedAssembly> assemblies, string searchTerm, SearchMode searchMode, Language language, ApiVisibility apiVisibility) { this.assemblies = assemblies; this.searchTerm = NativeMethods.CommandLineToArgumentArray(searchTerm); this.language = language; this.searchMode = searchMode; this.apiVisibility = apiVisibility; }
/// <summary> /// This will determine the API entry type and visibility based on the information in the reflection /// information node. /// </summary> private void DetermineApiEntryType() { XmlNode subsubgroup; string subgroup, entryId; // Is it an inherited namespace? if(apiNode.Name == "namespace") { entryType = ApiEntryType.Namespace; return; } // Is it an inherited type? if(apiNode.Name == "type") { // Assume class, it'll be close enough entryType = ApiEntryType.Class; return; } // It's a documented or inherited member of some sort if(apiNode.Name == "element" || apiNode.Name == "type") entryId = apiNode.Attributes["api"].Value; // Inherited else { entryId = apiNode.Attributes["id"].Value; // Documented // Is it a namespace? if(entryId[0] == 'N') { entryType = ApiEntryType.Namespace; return; } } subsubgroup = apiNode.SelectSingleNode("apidata/@subsubgroup"); if(subsubgroup != null) subgroup = subsubgroup.Value; else subgroup = apiNode.SelectSingleNode("apidata/@subgroup").Value; entryType = EntryTypeFromId(entryId[0], subgroup); visibility = DetermineVisibility(entryId[0], apiNode); }
public ResourceSearchStrategy(ApiVisibility apiVisibility, IProducerConsumerCollection <SearchResult> resultQueue, string term) : this(apiVisibility, resultQueue, new[] { term }) { }
public ResourceSearchStrategy(ApiVisibility apiVisibility, IProducerConsumerCollection <SearchResult> resultQueue, string[] terms) : base(resultQueue, terms) { this.apiVisibility = apiVisibility; this.searchInside = true; }
public MemberSearchStrategy(Language language, ApiVisibility apiVisibility, IProducerConsumerCollection <SearchResult> resultQueue, string[] terms, MemberSearchKind searchKind = MemberSearchKind.All) : base(language, apiVisibility, resultQueue, terms) { this.searchKind = searchKind; }
protected AbstractEntitySearchStrategy(Language language, ApiVisibility apiVisibility, IProducerConsumerCollection <SearchResult> resultQueue, params string[] terms) : base(resultQueue, terms) { this.language = language; this.apiVisibility = apiVisibility; }
public MemberSearchStrategy(Language language, ApiVisibility apiVisibility, string term, IProducerConsumerCollection <SearchResult> resultQueue, MemberSearchKind searchKind = MemberSearchKind.All) : this(language, apiVisibility, resultQueue, new[] { term }, searchKind) { }
public MemberSearchStrategy(ILanguage language, ApiVisibility apiVisibility, SearchRequest searchRequest, IProducerConsumerCollection <SearchResult> resultQueue, MemberSearchKind searchKind = MemberSearchKind.All) : base(language, apiVisibility, searchRequest, resultQueue) { this.searchKind = searchKind; }
public VisibilityAttribute(ApiVisibility apiVisibility) { Visibility = apiVisibility; }
public ApiVisibilityAttribute(ApiVisibility visibility) { Visibility = visibility; }
public ResourceSearchStrategy(ApiVisibility apiVisibility, SearchRequest request, IProducerConsumerCollection <SearchResult> resultQueue) : base(request, resultQueue) { this.apiVisibility = apiVisibility; this.searchInside = true; }