Exemplo n.º 1
0
 public static void AppendSymbol(this ICollection<SymbolMarkupToken> markup, Symbol symbol)
 {
     switch (symbol.Kind)
     {
         case SymbolKind.Array:
             break;
         case SymbolKind.Field:
             markup.AppendFieldSymbolInfo((FieldSymbol) symbol);
             break;
         case SymbolKind.Function:
             markup.AppendFunctionSymbolInfo((FunctionSymbol) symbol);
             break;
         case SymbolKind.Variable:
             markup.AppendVariableSymbolInfo((VariableSymbol) symbol);
             break;
         case SymbolKind.Parameter:
             markup.AppendParameterSymbolInfo((ParameterSymbol) symbol, true);
             break;
         case SymbolKind.Indexer:
             break;
         case SymbolKind.IntrinsicScalarType:
         case SymbolKind.IntrinsicVectorType:
         case SymbolKind.IntrinsicMatrixType:
         case SymbolKind.IntrinsicObjectType:
         case SymbolKind.Class:
         case SymbolKind.Struct:
         case SymbolKind.Interface:
             markup.AppendTypeDeclaration((TypeSymbol) symbol);
             break;
         case SymbolKind.Namespace:
             markup.AppendNamespace((NamespaceSymbol) symbol);
             break;
         case SymbolKind.Semantic:
             markup.AppendSemantic((SemanticSymbol) symbol);
             break;
         case SymbolKind.Technique:
             markup.AppendTechnique((TechniqueSymbol) symbol);
             break;
         case SymbolKind.TypeAlias:
             markup.AppendTypeAlias((TypeAliasSymbol) symbol);
             break;
         case SymbolKind.Attribute:
             markup.AppendAttribute((AttributeSymbol) symbol);
             break;
         case SymbolKind.ConstantBuffer:
             markup.AppendConstantBuffer((ConstantBufferSymbol) symbol);
             break;
         default:
             throw new ArgumentOutOfRangeException(nameof(symbol), symbol.Kind.ToString());
     }
 }
Exemplo n.º 2
0
 public static void AppendSymbol(this ICollection<SymbolMarkupToken> markup, Symbol symbol)
 {
     switch (symbol.Kind)
     {
         case SymbolKind.Array:
             break;
         case SymbolKind.Struct:
             break;
         case SymbolKind.Class:
             break;
         case SymbolKind.Interface:
             break;
         case SymbolKind.Field:
             break;
         case SymbolKind.FunctionDeclaration:
         case SymbolKind.FunctionDefinition:
             markup.AppendFunctionSymbolInfo((FunctionSymbol) symbol);
             break;
         case SymbolKind.MethodDeclaration:
         case SymbolKind.MethodDefinition:
             markup.AppendMethodSymbolInfo((MethodSymbol) symbol);
             break;
         case SymbolKind.LocalVariable:
             break;
         case SymbolKind.GlobalVariable:
             break;
         case SymbolKind.Parameter:
             markup.AppendParameterSymbolInfo((ParameterSymbol)symbol);
             break;
         case SymbolKind.Indexer:
             break;
         case SymbolKind.IntrinsicType:
             break;
         default:
             throw new ArgumentOutOfRangeException();
     }
 }
Exemplo n.º 3
0
        private static void AppendParameters(this ICollection<SymbolMarkupToken> markup, ImmutableArray<ParameterSymbol> parameters)
        {
            markup.AppendPunctuation("(");

            var isFirst = true;
            foreach (var parameterSymbol in parameters)
            {
                if (isFirst)
                    isFirst = false;
                else
                {
                    markup.AppendPunctuation(",");
                    markup.AppendSpace();
                }

                markup.AppendParameterSymbolInfo(parameterSymbol);               
            }

            markup.AppendPunctuation(")");
        }