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 AppendNamespace(this ICollection<SymbolMarkupToken> markup, NamespaceSymbol symbol) { markup.AppendKeyword("namespace"); markup.AppendSpace(); if (symbol.Parent != null) markup.AppendParentScope(symbol.Parent); markup.AppendName(SymbolMarkupKind.NamespaceName, symbol.Name); }
private static void AppendTypeAlias(this ICollection<SymbolMarkupToken> markup, TypeAliasSymbol symbol) { markup.AppendKeyword("typedef"); markup.AppendSpace(); markup.AppendType(symbol.ValueType, true); markup.AppendSpace(); markup.AppendName(SymbolMarkupKind.GlobalVariableName, symbol.Name); }
private static void AppendTechnique(this ICollection<SymbolMarkupToken> markup, TechniqueSymbol symbol) { markup.AppendKeyword("technique"); markup.AppendSpace(); markup.AppendName(SymbolMarkupKind.TechniqueName, symbol.Name); }
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 AppendParameterSymbolInfo(this ICollection<SymbolMarkupToken> markup, ParameterSymbol symbol, bool includeInfo) { if (includeInfo) { markup.AppendPlainText("(parameter)"); markup.AppendSpace(); } if (symbol.Direction == ParameterDirection.Inout) { markup.AppendKeyword("inout"); markup.AppendSpace(); } else if (symbol.Direction == ParameterDirection.Out) { markup.AppendKeyword("out"); markup.AppendSpace(); } markup.AppendType(symbol.ValueType, false); markup.AppendSpace(); markup.AppendParameterName(symbol.Name); }