Esempio n. 1
0
        public IExtendedType GetType(Type type)
        {
            if (type is null)
            {
                throw new ArgumentNullException(nameof(type));
            }

            return(ExtendedType.FromType(type, _typeCache));
        }
Esempio n. 2
0
        public IExtendedType GetType(Type type, params bool?[] nullable)
        {
            if (type is null)
            {
                throw new ArgumentNullException(nameof(type));
            }

            if (nullable is null)
            {
                throw new ArgumentNullException(nameof(type));
            }

            ExtendedType extendedType = ExtendedType.FromType(type, _typeCache);

            return(nullable is { Length: > 0 }
Esempio n. 3
0
        public static IReadOnlyList <ExtendedType> GetGenericArguments(
            Type type,
            TypeCache cache)
        {
            if (type.IsGenericType)
            {
                Type[]         arguments         = type.GetGenericArguments();
                ExtendedType[] extendedArguments = new ExtendedType[arguments.Length];

                for (var i = 0; i < arguments.Length; i++)
                {
                    extendedArguments[i] = ExtendedType.FromType(arguments[i], cache);
                }

                return(extendedArguments);
            }

            return(Array.Empty <ExtendedType>());
        }
        public ClrTypeReference Rewrite()
        {
            if (Nullable is null)
            {
                return(this);
            }

            var nullable = new Utilities.Nullable[Nullable.Length];

            for (var i = 0; i < Nullable.Length; i++)
            {
                nullable[i] = Nullable[i] ? Utilities.Nullable.Yes : Utilities.Nullable.No;
            }

            ExtendedType extendedType = ExtendedType.FromType(Type);

            return(With(
                       type: ExtendedTypeRewriter.Rewrite(extendedType, nullable),
                       nullable: null));
        }