Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        private static void AppendType(this ICollection<SymbolMarkupToken> markup, TypeSymbol symbol, bool includeParentScope)
        {
            if (includeParentScope && symbol.Parent != null)
                markup.AppendParentScope(symbol.Parent);

            markup.AppendTypeName(symbol);
        }