public IExtendedType GetType(Type type) { if (type is null) { throw new ArgumentNullException(nameof(type)); } return(ExtendedType.FromType(type, _typeCache)); }
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 }
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)); }