private static string GetGlyphCore(DefinitionSpan s, string filePath) { var glyph = s.Definition.Glyph; if (glyph != Glyph.Unknown) { return(glyph.GetGlyphNumber().ToString()); } int result = 0; if (glyphs.TryGetValue(s.Definition.Kind, out result)) { return(result.ToString()); } if (!string.IsNullOrEmpty(filePath)) { if (string.Equals(s.Definition.Kind, nameof(SymbolKinds.File), StringComparison.OrdinalIgnoreCase)) { return(GetFileNameGlyph(filePath)); } } return("0"); }
private void ProcessDefinitionAndAddAdditionalReferenceSymbols(ISymbol symbol, DefinitionSpan symbolSpan, SyntaxToken token) { // Handle potentially virtual or interface member implementations if (symbol.Kind == SymbolKind.Method || symbol.Kind == SymbolKind.Property || symbol.Kind == SymbolKind.Event) { AddReferencesToOverriddenMembers(symbolSpan, symbol, relatedDefinition: symbolSpan.Definition.Id); AddReferencesToImplementedMembers(symbolSpan, symbol, symbolSpan.Definition.Id); } if (symbol.Kind == SymbolKind.Method) { IMethodSymbol methodSymbol = symbol as IMethodSymbol; if (methodSymbol != null) { // Case: Constructor and Static Constructor if (methodSymbol.MethodKind == MethodKind.Constructor || methodSymbol.MethodKind == MethodKind.StaticConstructor) { // Exclude constructors from default search // Add a constructor reference with the containing type symbolSpan.Definition.ExcludeFromDefaultSearch = true; references.Add(symbolSpan.CreateReference(GetReferenceSymbol(methodSymbol.ContainingType, ReferenceKind.Constructor))); } } } }
public static string GetGlyph(this DefinitionSpan s, string filePath = null) { return(GetGlyphCore(s, filePath) + ".png"); }
private static DefinitionSpan SetUid(this DefinitionSpan span, string uid) { span.Definition.Uid = uid; return(span); }
public void AddDefinition(DefinitionSpan span) { BoundSourceFile.Definitions.Add(span); }
public void Translate(ITextSnapshot textSnapshot) { DefinitionSpan = DefinitionSpan.Translated(textSnapshot); }