private static void AppendTypeDeclaration(this ICollection<SymbolMarkupToken> markup, TypeSymbol symbol) { switch (symbol.Kind) { case SymbolKind.Class: markup.AppendKeyword("class"); markup.AppendSpace(); break; case SymbolKind.Interface: markup.AppendKeyword("interface"); markup.AppendSpace(); break; case SymbolKind.Struct: markup.AppendKeyword("struct"); markup.AppendSpace(); break; } if (symbol.Parent != null) markup.AppendParentScope(symbol.Parent); markup.AppendTypeName(symbol); }
private static void AppendFunctionSymbolInfo(this ICollection<SymbolMarkupToken> markup, FunctionSymbol symbol) { markup.AppendType(symbol.ReturnType, false); markup.AppendSpace(); if (symbol.Parent is TypeSymbol) { markup.AppendTypeName((TypeSymbol) symbol.Parent); markup.AppendPunctuation("."); } if (symbol.IsNumericConstructor) markup.AppendKeyword(symbol.Name); else markup.AppendName(SymbolMarkupKind.FunctionName, symbol.Name); markup.AppendParameters(symbol.Parameters); }
private static void AppendType(this ICollection<SymbolMarkupToken> markup, TypeSymbol symbol, bool includeParentScope) { if (includeParentScope && symbol.Parent != null) markup.AppendParentScope(symbol.Parent); markup.AppendTypeName(symbol); }