コード例 #1
0
        public CefTypeKind GetTypeKind(ITypeSymbol symbol)
        {
            if (!symbol.Name.StartsWith("cef_"))
            {
                return(CefTypeKind.Unknown);
            }

            INamedTypeSymbol value;

            if (RefCounted.TryGetValue(symbol.Name, out value) && Equals(value, symbol))
            {
                return(CefTypeKind.RefCounted);
            }
            if (Scoped.TryGetValue(symbol.Name, out value) && Equals(value, symbol))
            {
                return(CefTypeKind.Scoped);
            }
            if (Enums.TryGetValue(symbol.Name, out value) && Equals(value, symbol))
            {
                return(CefTypeKind.Enum);
            }
            if (Sized.TryGetValue(symbol.Name, out value) && Equals(value, symbol))
            {
                return(CefTypeKind.Sized);
            }
            if (Simple.TryGetValue(symbol.Name, out value) && Equals(value, symbol))
            {
                return(CefTypeKind.Simple);
            }
            throw new NotImplementedException();
        }