예제 #1
0
        public virtual CSharpSymbolKind ToCSharpKind(LanguageSymbolKind kind)
        {
            switch (kind.Switch())
            {
            case LanguageSymbolKind.Assembly:
                return(CSharpSymbolKind.Assembly);

            case LanguageSymbolKind.NetModule:
                return(CSharpSymbolKind.NetModule);

            case LanguageSymbolKind.Alias:
                return(CSharpSymbolKind.Alias);

            case LanguageSymbolKind.Namespace:
                return(CSharpSymbolKind.Namespace);

            case LanguageSymbolKind.NamedType:
                return(CSharpSymbolKind.NamedType);

            case LanguageSymbolKind.Property:
                return(CSharpSymbolKind.Property);

            case LanguageSymbolKind.Operation:
                return(CSharpSymbolKind.Method);

            case LanguageSymbolKind.ErrorType:
                return(CSharpSymbolKind.ErrorType);

            case LanguageSymbolKind.Name:
                return(CSharpSymbolKind.Namespace);

            case LanguageSymbolKind.DynamicType:
                return(CSharpSymbolKind.DynamicType);

            case LanguageSymbolKind.ConstructedType:
                return(CSharpSymbolKind.ArrayType);

            case LanguageSymbolKind.None:
                return(CSharpSymbolKind.ErrorType);

            default:
                throw new ArgumentException("Unexpected symbol kind: " + kind.ToString(), nameof(kind));
            }
        }