Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        private static void AppendTechnique(this ICollection<SymbolMarkupToken> markup, TechniqueSymbol symbol)
        {
            markup.AppendKeyword("technique");
            markup.AppendSpace();

            markup.AppendName(SymbolMarkupKind.TechniqueName, symbol.Name);
        }
Ejemplo n.º 5
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);
        }
Ejemplo n.º 6
0
        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);
        }