6 types derived from RoType
System.Reflection.MetadataLoadContext (6)
System\Reflection\TypeLoading\Types\RoFunctionPointerType.cs (1)
18internal sealed class RoFunctionPointerType : RoType
System\Reflection\TypeLoading\Types\RoGenericParameterType.cs (1)
13internal abstract partial class RoGenericParameterType : RoType
System\Reflection\TypeLoading\Types\RoHasElementType.cs (1)
14internal abstract partial class RoHasElementType : RoType
System\Reflection\TypeLoading\Types\RoInstantiationProviderType.cs (1)
11internal abstract partial class RoInstantiationProviderType : RoType
System\Reflection\TypeLoading\Types\RoModifiedType.cs (1)
16internal abstract class RoModifiedType : RoType
System\Reflection\TypeLoading\Types\RoStubType.cs (1)
12internal abstract class RoStubType : RoType
422 references to RoType
System.Reflection.MetadataLoadContext (422)
System\CoreRtBridge.cs (2)
17internal static RoType CastToRuntimeTypeInfo(this Type t) => (RoType)t;
System\Reflection\DefaultBinder.cs (1)
22private bool IsImplementedByMetadataLoadContext(Type type) => type is RoType roType && roType.Loader == _loader;
System\Reflection\MetadataLoadContext.CoreAssembly.cs (3)
57internal RoType GetCoreType(CoreType coreType) 60RoType? t = TryGetCoreType(coreType); 69internal RoType? TryGetCoreType(CoreType coreType)
System\Reflection\Runtime\BindingFlagSupport\ConstructorPolicies.cs (3)
6using RuntimeTypeInfo = System.Reflection.TypeLoading.RoType; 20public sealed override IEnumerable<ConstructorInfo> CoreGetDeclaredMembers(RuntimeTypeInfo type, NameFilter? filter, RuntimeTypeInfo reflectedType)
System\Reflection\Runtime\BindingFlagSupport\EventPolicies.cs (3)
5using RuntimeTypeInfo = System.Reflection.TypeLoading.RoType; 19public sealed override IEnumerable<EventInfo> CoreGetDeclaredMembers(RuntimeTypeInfo type, NameFilter? filter, RuntimeTypeInfo reflectedType)
System\Reflection\Runtime\BindingFlagSupport\FieldPolicies.cs (3)
5using RuntimeTypeInfo = System.Reflection.TypeLoading.RoType; 19public sealed override IEnumerable<FieldInfo> CoreGetDeclaredMembers(RuntimeTypeInfo type, NameFilter? filter, RuntimeTypeInfo reflectedType)
System\Reflection\Runtime\BindingFlagSupport\MemberPolicies.cs (3)
7using RuntimeTypeInfo = System.Reflection.TypeLoading.RoType; 29public abstract IEnumerable<M> CoreGetDeclaredMembers(RuntimeTypeInfo type, NameFilter? filter, RuntimeTypeInfo reflectedType);
System\Reflection\Runtime\BindingFlagSupport\MethodPolicies.cs (3)
5using RuntimeTypeInfo = System.Reflection.TypeLoading.RoType; 19public sealed override IEnumerable<MethodInfo> CoreGetDeclaredMembers(RuntimeTypeInfo type, NameFilter? filter, RuntimeTypeInfo reflectedType)
System\Reflection\Runtime\BindingFlagSupport\NestedTypePolicies.cs (3)
6using RuntimeTypeInfo = System.Reflection.TypeLoading.RoType; 26public sealed override IEnumerable<Type> CoreGetDeclaredMembers(RuntimeTypeInfo type, NameFilter? filter, RuntimeTypeInfo reflectedType)
System\Reflection\Runtime\BindingFlagSupport\PropertyPolicies.cs (3)
5using RuntimeTypeInfo = System.Reflection.TypeLoading.RoType; 19public sealed override IEnumerable<PropertyInfo> CoreGetDeclaredMembers(RuntimeTypeInfo type, NameFilter? filter, RuntimeTypeInfo reflectedType)
System\Reflection\Runtime\BindingFlagSupport\QueriedMemberList.cs (5)
8using RuntimeTypeInfo = System.Reflection.TypeLoading.RoType; 36private QueriedMemberList(int totalCount, int declaredOnlyCount, M[] members, BindingFlags[] allFlagsThatMustMatch, RuntimeTypeInfo? typeThatBlockedBrowsing) 108public static QueriedMemberList<M> Create(RuntimeTypeInfo type, string? filter, bool ignoreCase, bool immediateTypeOnly) 110RuntimeTypeInfo reflectedType = type; 195private readonly RuntimeTypeInfo? _typeThatBlockedBrowsing; // If non-null, one of the base classes was missing metadata.
System\Reflection\TypeLoading\Assemblies\RoAssembly.cs (4)
67private IEnumerable<RoType>? GetDefinedRoTypes() => IsSingleModule ? GetRoManifestModule().GetDefinedRoTypes() : MultiModuleGetDefinedRoTypes(); 68private IEnumerable<RoType> MultiModuleGetDefinedRoTypes() 72foreach (RoType t in module.GetDefinedRoTypes()!) 91foreach (RoType type in GetDefinedRoTypes()!)
System\Reflection\TypeLoading\Constructors\RoConstructor.cs (1)
20internal abstract RoType GetRoDeclaringType();
System\Reflection\TypeLoading\Constructors\RoDefinitionConstructor.cs (1)
26internal sealed override RoType GetRoDeclaringType() => _declaringType;
System\Reflection\TypeLoading\Constructors\RoSyntheticConstructor.cs (6)
16private readonly RoType _declaringType; 18private readonly RoType[] _parameterTypes; 20internal RoSyntheticConstructor(RoType declaringType, int uniquifier, params RoType[] parameterTypes) 29internal sealed override RoType GetRoDeclaringType() => _declaringType; 43RoType returnType = GetRoModule().Loader.GetCoreType(CoreType.Void);
System\Reflection\TypeLoading\CustomAttributes\Ecma\EcmaCustomAttributeData.cs (4)
16private volatile IList<CustomAttributeTypedArgument<RoType>>? _lazyFixedArguments; 17private volatile IList<CustomAttributeNamedArgument<RoType>>? _lazyNamedArguments; 73MethodSignature<RoType> sig = mr.DecodeMethodSignature(_module, typeContext); 95CustomAttributeValue<RoType> cav = CustomAttribute.DecodeValue(_module);
System\Reflection\TypeLoading\CustomAttributes\Ecma\EcmaCustomAttributeHelpers.cs (5)
106public static IList<CustomAttributeTypedArgument> ToApiForm(this IList<CustomAttributeTypedArgument<RoType>> catgs) 121public static CustomAttributeTypedArgument ToApiForm(this CustomAttributeTypedArgument<RoType> catg) => ToApiForm(catg.Type, catg.Value); 125if (!(value is IList<CustomAttributeTypedArgument<RoType>> catgs)) 137public static IList<CustomAttributeNamedArgument> ToApiForm(this IList<CustomAttributeNamedArgument<RoType>> cangs, Type attributeType) 152public static CustomAttributeNamedArgument ToApiForm(this CustomAttributeNamedArgument<RoType> cang, Type attributeType)
System\Reflection\TypeLoading\Fields\RoField.cs (1)
99_modifiedType ??= RoModifiedType.Create((RoType)FieldType);
System\Reflection\TypeLoading\General\CoreTypes.cs (5)
11private readonly RoType?[] _coreTypes; 17RoType?[] coreTypes = new RoType[numCoreTypes]; 30RoType? type = coreAssembly.GetTypeCore(ns, name, ignoreCase: false, out e); 45public RoType? this[CoreType coreType] => _coreTypes[(int)coreType];
System\Reflection\TypeLoading\General\Ecma\EcmaPinnedTypeProvider.cs (5)
14public sealed override RoType GetModifiedType(RoType modifier, RoType unmodifiedType, bool isRequired) => unmodifiedType; 15public sealed override RoType GetPinnedType(RoType elementType) => new RoPinnedType(elementType);
System\Reflection\TypeLoading\General\Ecma\EcmaResolver.cs (2)
14public static RoType ResolveTypeDefRefOrSpec(this EntityHandle handle, EcmaModule module, in TypeContext typeContext) 118public static RoType ResolveTypeSpec(this TypeSpecificationHandle handle, EcmaModule module, in TypeContext typeContext)
System\Reflection\TypeLoading\General\Ecma\EcmaWrappedTypeProvider.cs (27)
18internal abstract class EcmaWrappedTypeProvider : ISignatureTypeProvider<RoType, TypeContext> 33public RoType GetTypeFromDefinition(MetadataReader reader, TypeDefinitionHandle handle, byte rawTypeKind) => _typeProvider.GetTypeFromDefinition(reader, handle, rawTypeKind); 34public RoType GetTypeFromReference(MetadataReader reader, TypeReferenceHandle handle, byte rawTypeKind) => _typeProvider.GetTypeFromReference(reader, handle, rawTypeKind); 35public RoType GetTypeFromSpecification(MetadataReader reader, TypeContext genericContext, TypeSpecificationHandle handle, byte rawTypeKind) => _typeProvider.GetTypeFromSpecification(reader, genericContext, handle, rawTypeKind); 37public RoType GetSZArrayType(RoType elementType) => _typeProvider.GetSZArrayType(elementType.SkipTypeWrappers()); 38public RoType GetArrayType(RoType elementType, ArrayShape shape) => _typeProvider.GetArrayType(elementType.SkipTypeWrappers(), shape); 39public RoType GetByReferenceType(RoType elementType) => _typeProvider.GetByReferenceType(elementType.SkipTypeWrappers()); 40public RoType GetPointerType(RoType elementType) => _typeProvider.GetPointerType(elementType.SkipTypeWrappers()); 41public RoType GetGenericInstantiation(RoType genericType, ImmutableArray<RoType> typeArguments) 44ImmutableArray<RoType> filteredTypeArguments = ImmutableArray<RoType>.Empty; 52public RoType GetGenericTypeParameter(TypeContext genericContext, int index) => _typeProvider.GetGenericTypeParameter(genericContext, index); 53public RoType GetGenericMethodParameter(TypeContext genericContext, int index) => _typeProvider.GetGenericMethodParameter(genericContext, index); 55public RoType GetFunctionPointerType(MethodSignature<RoType> signature) => _typeProvider.GetFunctionPointerType(signature); 57public abstract RoType GetModifiedType(RoType modifier, RoType unmodifiedType, bool isRequired); 58public abstract RoType GetPinnedType(RoType elementType); 60public RoType GetPrimitiveType(PrimitiveTypeCode typeCode) => _typeProvider.GetPrimitiveType(typeCode);
System\Reflection\TypeLoading\General\Helpers.cs (6)
293public static RoType? LoadTypeFromAssemblyQualifiedName(string name, RoAssembly defaultAssembly, bool ignoreCase, bool throwOnError) 299RoType? type = defaultAssembly.GetTypeCore(ns, simpleName, ignoreCase: ignoreCase, out Exception? e); 329return (RoType?)Type.GetType(name, assemblyResolver: assemblyResolver, typeResolver: typeResolver, throwOnError: throwOnError, ignoreCase: ignoreCase); 332public static RoType SkipTypeWrappers(this RoType type) 393public static TypeContext ToTypeContext(this RoType[] instantiation) => new TypeContext(instantiation, null);
System\Reflection\TypeLoading\General\Sentinels.cs (5)
14public static readonly RoType RoType = new SentinelType(); 30internal sealed override RoType GetRoDeclaringType() => throw null!; 44protected sealed override RoType[] ComputeGenericArgumentsOrParameters() => throw null!; 49internal sealed override RoType[] GetGenericTypeArgumentsNoCopy() => throw null!; 50internal sealed override RoType[] GetGenericTypeParametersNoCopy() => throw null!;
System\Reflection\TypeLoading\General\TypeContext.cs (6)
12internal TypeContext(RoType[] genericTypeArguments, RoType[]? genericMethodArguments) 18public RoType[] GenericTypeArguments { get; } 19public RoType[]? GenericMethodArguments { get; } 21public RoType? GetGenericTypeArgumentOrNull(int index) 28public RoType? GetGenericMethodArgumentOrNull(int index)
System\Reflection\TypeLoading\General\TypeFactories.cs (5)
11public static RoArrayType GetUniqueArrayType(this RoType elementType) => elementType.GetRoModule().GetUniqueArrayType(elementType); 12public static RoArrayType GetUniqueArrayType(this RoType elementType, int rank) => elementType.GetRoModule().GetUniqueArrayType(elementType, rank); 13public static RoByRefType GetUniqueByRefType(this RoType elementType) => elementType.GetRoModule().GetUniqueByRefType(elementType); 14public static RoPointerType GetUniquePointerType(this RoType elementType) => elementType.GetRoModule().GetUniquePointerType(elementType); 15public static RoConstructedGenericType GetUniqueConstructedGenericType(this RoDefinitionType genericTypeDefinition, RoType[] genericTypeArguments) => genericTypeDefinition.GetRoModule().GetUniqueConstructedGenericType(genericTypeDefinition, genericTypeArguments);
System\Reflection\TypeLoading\MethodBase\Ecma\EcmaMethodBody.cs (3)
39ImmutableArray<RoType> sig = sigHandle.GetStandaloneSignature(reader).DecodeLocalSignature(typeProvider, TypeContext); 45RoType localType = sig[i]; 68RoType? catchType = catchTypeHandle.IsNil ? null : catchTypeHandle.ResolveTypeDefRefOrSpec(GetEcmaModule(), TypeContext);
System\Reflection\TypeLoading\MethodBase\Ecma\EcmaMethodDecoder.cs (6)
31public RoType[] ComputeGenericArgumentsOrParameters() 36return Array.Empty<RoType>(); 38RoType[] gps = new RoType[count]; 41RoType gp = gph.ResolveGenericParameter(_module); 75MethodSignature<RoType> sig = methodDefinition.DecodeSignature(_module, roMethodBase.TypeContext);
System\Reflection\TypeLoading\MethodBase\IMethodDecoder.cs (1)
24RoType[] ComputeGenericArgumentsOrParameters();
System\Reflection\TypeLoading\Methods\RoConstructedGenericMethod.cs (7)
16private readonly RoType[] _genericMethodArguments; 18internal RoConstructedGenericMethod(RoDefinitionMethod genericMethodDefinition, RoType[] genericMethodArguments) 28internal sealed override RoType GetRoDeclaringType() => _genericMethodDefinition.GetRoDeclaringType(); 44protected sealed override RoType[] ComputeGenericArgumentsOrParameters() => _genericMethodArguments; 46internal sealed override RoType[] GetGenericTypeArgumentsNoCopy() => _genericMethodArguments; 47internal sealed override RoType[] GetGenericTypeParametersNoCopy() => Array.Empty<RoType>();
System\Reflection\TypeLoading\Methods\RoDefinitionMethod.cs (8)
44internal sealed override RoType GetRoDeclaringType() => _declaringType; 110RoType[] roTypeArguments = new RoType[count]; 117if (!(typeArgument is RoType roTypeArgument && roTypeArgument.Loader == Loader)) 129internal sealed override RoType[] GetGenericTypeArgumentsNoCopy() => Array.Empty<RoType>(); 130internal sealed override RoType[] GetGenericTypeParametersNoCopy() => GetGenericArgumentsOrParametersNoCopy(); 132protected sealed override RoType[] ComputeGenericArgumentsOrParameters() => _decoder.ComputeGenericArgumentsOrParameters();
System\Reflection\TypeLoading\Methods\RoMethod.cs (6)
28internal abstract RoType GetRoDeclaringType(); 103internal RoType[] GetGenericArgumentsOrParametersNoCopy() => _lazyGenericArgumentsOrParameters ??= ComputeGenericArgumentsOrParameters(); 104protected abstract RoType[] ComputeGenericArgumentsOrParameters(); 105private volatile RoType[]? _lazyGenericArgumentsOrParameters; 107internal abstract RoType[] GetGenericTypeParametersNoCopy(); 108internal abstract RoType[] GetGenericTypeArgumentsNoCopy();
System\Reflection\TypeLoading\Methods\RoSyntheticMethod.cs (13)
15private readonly RoType _declaringType; 18private readonly RoType _returnType; 19private readonly RoType[] _parameterTypes; 21internal RoSyntheticMethod(RoType declaringType, int uniquifier, string name, RoType returnType, params RoType[] parameterTypes) 32internal sealed override RoType GetRoDeclaringType() => _declaringType; 89protected sealed override RoType[] ComputeGenericArgumentsOrParameters() => Array.Empty<RoType>(); 90internal sealed override RoType[] GetGenericTypeArgumentsNoCopy() => Array.Empty<RoType>(); 91internal sealed override RoType[] GetGenericTypeParametersNoCopy() => Array.Empty<RoType>();
System\Reflection\TypeLoading\Modules\Ecma\EcmaModule.cs (1)
127internal sealed override IEnumerable<RoType>? GetDefinedRoTypes()
System\Reflection\TypeLoading\Modules\Ecma\EcmaModule.TypeProvider.cs (30)
13internal sealed partial class EcmaModule : ISignatureTypeProvider<RoType, TypeContext>, ICustomAttributeTypeProvider<RoType> 19public RoType GetTypeFromDefinition(MetadataReader reader, TypeDefinitionHandle handle, byte rawTypeKind) => handle.ResolveTypeDef(this); 20public RoType GetTypeFromReference(MetadataReader reader, TypeReferenceHandle handle, byte rawTypeKind) => handle.ResolveTypeRef(this); 21public RoType GetTypeFromSpecification(MetadataReader reader, TypeContext genericContext, TypeSpecificationHandle handle, byte rawTypeKind) => handle.ResolveTypeSpec(this, genericContext); 23public RoType GetSZArrayType(RoType elementType) => elementType.GetUniqueArrayType(); 24public RoType GetArrayType(RoType elementType, ArrayShape shape) => elementType.GetUniqueArrayType(shape.Rank); 25public RoType GetByReferenceType(RoType elementType) => elementType.GetUniqueByRefType(); 26public RoType GetPointerType(RoType elementType) => elementType.GetUniquePointerType(); 27public RoType GetGenericInstantiation(RoType genericType, ImmutableArray<RoType> typeArguments) 35public RoType GetGenericTypeParameter(TypeContext genericContext, int index) => genericContext.GetGenericTypeArgumentOrNull(index) ?? throw new BadImageFormatException(SR.Format(SR.GenericTypeParamIndexOutOfRange, index)); 36public RoType GetGenericMethodParameter(TypeContext genericContext, int index) => genericContext.GetGenericMethodArgumentOrNull(index) ?? throw new BadImageFormatException(SR.Format(SR.GenericMethodParamIndexOutOfRange, index)); 38public RoType GetFunctionPointerType(MethodSignature<RoType> signature) => new RoFunctionPointerType(this, signature); 39public RoType GetModifiedType(RoType modifier, RoType unmodifiedType, bool isRequired) 56public RoType GetPinnedType(RoType elementType) => elementType; 58public RoType GetPrimitiveType(PrimitiveTypeCode typeCode) => Loader.GetCoreType(typeCode.ToCoreType()); 63public RoType GetSystemType() => Loader.GetCoreType(CoreType.Type); 64public bool IsSystemType(RoType type) => type == Loader.TryGetCoreType(CoreType.Type); 65public PrimitiveTypeCode GetUnderlyingEnumType(RoType type) => type.GetEnumUnderlyingPrimitiveTypeCode(Loader); 67public RoType GetTypeFromSerializedName(string? name)
System\Reflection\TypeLoading\Modules\RoModule.cs (1)
83internal abstract IEnumerable<RoType>? GetDefinedRoTypes();
System\Reflection\TypeLoading\Modules\RoModule.Unifier.cs (13)
13internal RoArrayType GetUniqueArrayType(RoType elementType) 20private static readonly Func<RoType, RoArrayType> s_szArrayTypeFactory = (e) => new RoArrayType(e, multiDim: false, rank: 1); 21private readonly ConcurrentDictionary<RoType, RoArrayType> _szArrayDict = new ConcurrentDictionary<RoType, RoArrayType>(); 26internal RoArrayType GetUniqueArrayType(RoType elementType, int rank) 40internal RoByRefType GetUniqueByRefType(RoType elementType) 47private static readonly Func<RoType, RoByRefType> s_byrefTypeFactory = (e) => new RoByRefType(e); 48private readonly ConcurrentDictionary<RoType, RoByRefType> _byRefDict = new ConcurrentDictionary<RoType, RoByRefType>(); 53internal RoPointerType GetUniquePointerType(RoType elementType) 59private readonly ConcurrentDictionary<RoType, RoPointerType> _pointerDict = new ConcurrentDictionary<RoType, RoPointerType>(); 64internal RoConstructedGenericType GetUniqueConstructedGenericType(RoDefinitionType genericTypeDefinition, RoType[] genericTypeArguments)
System\Reflection\TypeLoading\Modules\RoResourceModule.cs (1)
60internal sealed override IEnumerable<RoType>? GetDefinedRoTypes() => null;
System\Reflection\TypeLoading\Parameters\RoMethodParameter.cs (1)
39_modifiedType ??= RoModifiedType.Create((RoType)_parameterType);
System\Reflection\TypeLoading\Properties\RoProperty.cs (1)
68_modifiedType ??= RoModifiedType.Create((RoType)PropertyType);
System\Reflection\TypeLoading\RuntimeTypeInfo.TypeComponentsCache.cs (6)
7using RuntimeTypeInfo = System.Reflection.TypeLoading.RoType; 24public TypeComponentsCache(RuntimeTypeInfo type) 84private static object[] CreatePerNameQueryCaches(RuntimeTypeInfo type, bool ignoreCase, bool immediateTypeOnly) 116private readonly RuntimeTypeInfo _type; 128public PerNameQueryCache(RuntimeTypeInfo type, bool ignoreCase, bool immediateTypeOnly) 142private readonly RuntimeTypeInfo _type;
System\Reflection\TypeLoading\Types\Ecma\EcmaDefinitionType.BindingFlags.cs (1)
76internal sealed override IEnumerable<RoType> GetNestedTypesCore(NameFilter? filter)
System\Reflection\TypeLoading\Types\Ecma\EcmaDefinitionType.cs (14)
32protected sealed override RoType? ComputeDeclaringType() 52internal sealed override RoType? SpecializeBaseType(RoType[] instantiation) 60internal sealed override IEnumerable<RoType> SpecializeInterfaces(RoType[] instantiation) 82internal sealed override RoType[] GetGenericTypeParametersNoCopy() => _lazyGenericParameters ??= ComputeGenericTypeParameters(); 83private RoType[] ComputeGenericTypeParameters() 88return Array.Empty<RoType>(); 90RoType[] genericParameters = new RoType[gps.Count]; 93RoType gp = h.ResolveGenericParameter(module); 98private volatile RoType[]? _lazyGenericParameters; 100protected internal sealed override RoType ComputeEnumUnderlyingType() 111RoType? underlyingType = null;
System\Reflection\TypeLoading\Types\Ecma\EcmaGenericMethodParameterType.cs (1)
23protected sealed override RoType ComputeDeclaringType() => GetRoDeclaringMethod().GetRoDeclaringType();
System\Reflection\TypeLoading\Types\Ecma\EcmaGenericParameterType.cs (7)
39protected sealed override RoType[] ComputeGenericParameterConstraints() 45return Array.Empty<RoType>(); 48RoType[] constraints = new RoType[count]; 52RoType constraint = h.GetGenericParameterConstraint(reader).Type.ResolveTypeDefRefOrSpec(GetEcmaModule(), typeContext); 60constraint = (RoType)constraint.UnderlyingSystemType; 68protected abstract override RoType? ComputeDeclaringType();
System\Reflection\TypeLoading\Types\Ecma\EcmaGenericTypeParameterType.cs (1)
21protected sealed override RoType? ComputeDeclaringType()
System\Reflection\TypeLoading\Types\RoArrayType.cs (22)
17internal RoArrayType(RoType elementType, bool multiDim, int rank) 37internal sealed override RoType? ComputeBaseTypeWithoutDesktopQuirk() => Loader.GetCoreType(CoreType.Array); 39internal sealed override IEnumerable<RoType> ComputeDirectlyImplementedInterfaces() 44RoType[] typeArguments = { GetRoElementType() }; 47RoType? ifc = Loader.TryGetCoreType(coreType); 79RoType systemInt32 = Loader.GetCoreType(CoreType.Int32); 93RoType[] parameterTypes = new RoType[rank]; 116RoType elementType = GetRoElementType(); 119RoType[] parameterTypes = new RoType[parameterCount]; 142RoType[] parameterTypes = new RoType[rank * 2]; 156RoType systemInt32 = Loader.GetCoreType(CoreType.Int32); 157RoType elementType = GetRoElementType(); 158RoType systemVoid = Loader.GetCoreType(CoreType.Void); 162RoType[] getParameters = new RoType[rank]; 172RoType[] setParameters = new RoType[rank + 1]; 183RoType[] addressParameters = new RoType[rank];
System\Reflection\TypeLoading\Types\RoArrayType.Key.cs (2)
16public Key(RoType elementType, int rank) 24public RoType ElementType { get; }
System\Reflection\TypeLoading\Types\RoByRefType.cs (4)
14internal RoByRefType(RoType elementType) 32internal sealed override RoType? ComputeBaseTypeWithoutDesktopQuirk() => null; 33internal sealed override IEnumerable<RoType> ComputeDirectlyImplementedInterfaces() => Array.Empty<RoType>();
System\Reflection\TypeLoading\Types\RoConstructedGenericType.cs (14)
18private readonly RoType[] _genericTypeArguments; 20internal RoConstructedGenericType(RoDefinitionType genericTypeDefinition, RoType[] genericTypeArguments) 49foreach (RoType typeArgument in _genericTypeArguments) 104protected sealed override RoType? ComputeDeclaringType() => _genericTypeDefinition.GetRoDeclaringType(); 106internal sealed override RoType? ComputeBaseTypeWithoutDesktopQuirk() => _genericTypeDefinition.SpecializeBaseType(Instantiation); 107internal sealed override IEnumerable<RoType> ComputeDirectlyImplementedInterfaces() => _genericTypeDefinition.SpecializeInterfaces(Instantiation); 118internal sealed override RoType? GetRoElementType() => null; 121internal sealed override RoType[] GetGenericTypeParametersNoCopy() => Array.Empty<RoType>(); 122internal sealed override RoType[] GetGenericTypeArgumentsNoCopy() => _genericTypeArguments; 123protected internal sealed override RoType[] GetGenericArgumentsNoCopy() => _genericTypeArguments; 130protected internal sealed override RoType ComputeEnumUnderlyingType() => _genericTypeDefinition.ComputeEnumUnderlyingType(); // Easy to forget that generic enums do exist! 144internal sealed override IEnumerable<RoType> GetNestedTypesCore(NameFilter? filter) => _genericTypeDefinition.GetNestedTypesCore(filter); 146internal sealed override RoType[] Instantiation => _genericTypeArguments;
System\Reflection\TypeLoading\Types\RoConstructedGenericType.Key.cs (3)
13public Key(RoDefinitionType genericTypeDefinition, RoType[] genericTypeArguments) 23public RoType[] GenericTypeArguments { get; } 56RoType argType = GenericTypeArguments[i];
System\Reflection\TypeLoading\Types\RoDefinitionType.cs (15)
59internal abstract override RoType[] GetGenericTypeParametersNoCopy(); 83internal sealed override RoType? ComputeBaseTypeWithoutDesktopQuirk() => SpecializeBaseType(Instantiation); 84internal abstract RoType? SpecializeBaseType(RoType[] instantiation); 86internal sealed override IEnumerable<RoType> ComputeDirectlyImplementedInterfaces() => SpecializeInterfaces(Instantiation); 87internal abstract IEnumerable<RoType> SpecializeInterfaces(RoType[] instantiation); 103RoType[] runtimeTypeArguments = new RoType[count]; 115if (!(typeArgument is RoType roTypeArgument && roTypeArgument.Loader == Loader)) 223internal sealed override RoType? GetRoElementType() => null; 225internal sealed override RoType[] GetGenericTypeArgumentsNoCopy() => Array.Empty<RoType>(); 226protected internal sealed override RoType[] GetGenericArgumentsNoCopy() => GetGenericTypeParametersNoCopy(); 250internal sealed override RoType[] Instantiation => GetGenericTypeParametersNoCopy();
System\Reflection\TypeLoading\Types\RoExceptionType.cs (8)
33protected sealed override RoType ComputeDeclaringType() => throw null!; 35internal sealed override RoType[] GetGenericTypeParametersNoCopy() => throw null!; 40protected internal sealed override RoType ComputeEnumUnderlyingType() => throw null!; 41internal sealed override RoType SpecializeBaseType(RoType[] instantiation) => throw null!; 42internal sealed override IEnumerable<RoType> SpecializeInterfaces(RoType[] instantiation) => throw null!; 43internal sealed override IEnumerable<RoType> GetNestedTypesCore(NameFilter? filter) => throw null!;
System\Reflection\TypeLoading\Types\RoFunctionPointerType.cs (18)
30internal RoFunctionPointerType(EcmaModule module, MethodSignature<RoType> signature) 37ImmutableArray<RoType> sigParameterTypes = signature.ParameterTypes; 38_parameterTypes = new RoType[sigParameterTypes.Length]; 54internal static SignatureCallingConvention GetCallingConvention(MethodSignature<RoType> signature, out bool isUnmanaged) 173protected sealed override RoType? ComputeDeclaringType() => null; 181internal sealed override RoType? GetRoElementType() => null; 184internal sealed override RoType[] GetGenericTypeParametersNoCopy() => Array.Empty<RoType>(); 185internal sealed override RoType[] GetGenericTypeArgumentsNoCopy() => Array.Empty<RoType>(); 186protected internal sealed override RoType[] GetGenericArgumentsNoCopy() => Array.Empty<RoType>(); 196protected internal sealed override RoType ComputeEnumUnderlyingType() => throw new ArgumentException(SR.Arg_MustBeEnum); 202internal sealed override IEnumerable<RoType> GetNestedTypesCore(NameFilter? filter) => Array.Empty<RoType>(); 207internal sealed override RoType? ComputeBaseTypeWithoutDesktopQuirk() => null; 208internal sealed override IEnumerable<RoType> ComputeDirectlyImplementedInterfaces() => Array.Empty<RoType>();
System\Reflection\TypeLoading\Types\RoGenericParameterType.cs (19)
41internal sealed override RoType? GetRoElementType() => null; 45internal sealed override RoType[] GetGenericTypeParametersNoCopy() => Array.Empty<RoType>(); 46internal sealed override RoType[] GetGenericTypeArgumentsNoCopy() => Array.Empty<RoType>(); 47protected internal sealed override RoType[] GetGenericArgumentsNoCopy() => Array.Empty<RoType>(); 56private RoType[] GetGenericParameterConstraintsNoCopy() => _lazyConstraints ??= ComputeGenericParameterConstraints(); 57protected abstract RoType[] ComputeGenericParameterConstraints(); 58private volatile RoType[]? _lazyConstraints; 64protected internal sealed override RoType ComputeEnumUnderlyingType() => throw new ArgumentException(SR.Arg_MustBeEnum); 66internal sealed override RoType? ComputeBaseTypeWithoutDesktopQuirk() 68RoType[] constraints = GetGenericParameterConstraintsNoCopy(); 69foreach (RoType constraint in constraints) 77internal sealed override IEnumerable<RoType> ComputeDirectlyImplementedInterfaces() 79RoType[] constraints = GetGenericParameterConstraintsNoCopy(); 80foreach (RoType constraint in constraints) 93internal sealed override IEnumerable<RoType> GetNestedTypesCore(NameFilter? filter) => Array.Empty<RoType>();
System\Reflection\TypeLoading\Types\RoHasElementType.cs (12)
16private readonly RoType _elementType; 18protected RoHasElementType(RoType elementType) 52protected sealed override RoType? ComputeDeclaringType() => null; 60internal sealed override RoType GetRoElementType() => _elementType; 63internal sealed override RoType[] GetGenericTypeParametersNoCopy() => Array.Empty<RoType>(); 64internal sealed override RoType[] GetGenericTypeArgumentsNoCopy() => Array.Empty<RoType>(); 65protected internal sealed override RoType[] GetGenericArgumentsNoCopy() => _elementType.GetGenericArgumentsNoCopy(); 77protected internal sealed override RoType ComputeEnumUnderlyingType() => throw new ArgumentException(SR.Arg_MustBeEnum); 85internal sealed override IEnumerable<RoType> GetNestedTypesCore(NameFilter? filter) => Array.Empty<RoType>();
System\Reflection\TypeLoading\Types\RoInstantiationProviderType.cs (1)
18internal abstract RoType[] Instantiation { get; }
System\Reflection\TypeLoading\Types\RoModifiedFunctionPointerType.cs (2)
31RoModifiedType parameter = Create((RoType)parameterUnmodifiedTypes[i]); 36_returnType = Create((RoType)functionPointerType._returnType);
System\Reflection\TypeLoading\Types\RoModifiedGenericType.cs (2)
26RoModifiedType argument = Create((RoType)unmodifiedTypes[i]); 33protected internal sealed override RoType[] GetGenericArgumentsNoCopy() => _argumentTypes;
System\Reflection\TypeLoading\Types\RoModifiedHasElementType.cs (2)
16public RoModifiedHasElementType(RoType unmodifiedType) : base(unmodifiedType) 22internal sealed override RoType? GetRoElementType() => _elementModifiedType;
System\Reflection\TypeLoading\Types\RoModifiedStandaloneType.cs (1)
13public RoModifiedStandaloneType(RoType delegatingType) : base(delegatingType) { }
System\Reflection\TypeLoading\Types\RoModifiedType.cs (12)
22private readonly RoType _unmodifiedType; 24protected RoModifiedType(RoType unmodifiedType) 29public static RoModifiedType Create(RoType unmodifiedType) 151protected override RoType? ComputeDeclaringType() => throw new NotSupportedException(SR.NotSupported_ModifiedType); 167internal override RoType? GetRoElementType() => null; 172internal override RoType[] GetGenericTypeParametersNoCopy() => _unmodifiedType.GetGenericTypeParametersNoCopy(); 173internal override RoType[] GetGenericTypeArgumentsNoCopy() => _unmodifiedType.GetGenericTypeArgumentsNoCopy(); 174protected internal override RoType[] GetGenericArgumentsNoCopy() => _unmodifiedType.GetGenericArgumentsNoCopy(); 186protected internal override RoType ComputeEnumUnderlyingType() => throw new NotSupportedException(SR.NotSupported_ModifiedType); 188internal override RoType? ComputeBaseTypeWithoutDesktopQuirk() => throw new NotSupportedException(SR.NotSupported_ModifiedType); 189internal override IEnumerable<RoType> ComputeDirectlyImplementedInterfaces() => throw new NotSupportedException(SR.NotSupported_ModifiedType); 197internal override IEnumerable<RoType> GetNestedTypesCore(NameFilter? filter) => throw new NotSupportedException(SR.NotSupported_ModifiedType);
System\Reflection\TypeLoading\Types\RoPinnedType.cs (1)
12internal RoPinnedType(RoType unmodifiedType)
System\Reflection\TypeLoading\Types\RoPointerType.cs (5)
14internal RoPointerType(RoType elementType) 15: base((RoType)elementType.UnderlyingSystemType) 32internal sealed override RoType? ComputeBaseTypeWithoutDesktopQuirk() => null; 33internal sealed override IEnumerable<RoType> ComputeDirectlyImplementedInterfaces() => Array.Empty<RoType>();
System\Reflection\TypeLoading\Types\RoStubType.cs (9)
46protected sealed override RoType ComputeDeclaringType() => throw null!; 54internal sealed override RoType GetRoElementType() => throw null!; 57internal sealed override RoType[] GetGenericTypeParametersNoCopy() => throw null!; 58internal sealed override RoType[] GetGenericTypeArgumentsNoCopy() => throw null!; 59protected internal sealed override RoType[] GetGenericArgumentsNoCopy() => throw null!; 71protected internal sealed override RoType ComputeEnumUnderlyingType() => throw null!; 73internal sealed override RoType ComputeBaseTypeWithoutDesktopQuirk() => throw null!; 74internal sealed override IEnumerable<RoType> ComputeDirectlyImplementedInterfaces() => throw null!; 82internal sealed override IEnumerable<RoType> GetNestedTypesCore(NameFilter? filter) => throw null!;
System\Reflection\TypeLoading\Types\RoType.cs (31)
25if (obj is RoType objType) 80internal abstract RoType[] GetGenericTypeParametersNoCopy(); 84internal abstract RoType? GetRoElementType(); 92internal abstract RoType[] GetGenericTypeArgumentsNoCopy(); 105protected internal abstract RoType[] GetGenericArgumentsNoCopy(); 140protected abstract RoType? ComputeDeclaringType(); 141internal RoType? GetRoDeclaringType() => _lazyDeclaringType ??= ComputeDeclaringType(); 142internal RoType? Call_ComputeDeclaringType() => ComputeDeclaringType(); 143private volatile RoType? _lazyDeclaringType; 160internal RoType? GetRoBaseType() => object.ReferenceEquals(_lazyBaseType, Sentinels.RoType) ? (_lazyBaseType = ComputeBaseType()) : _lazyBaseType; 161private RoType? ComputeBaseType() 163RoType? baseType = ComputeBaseTypeWithoutDesktopQuirk(); 174private volatile RoType? _lazyBaseType = Sentinels.RoType; 193internal abstract RoType? ComputeBaseTypeWithoutDesktopQuirk(); 208internal abstract IEnumerable<RoType> ComputeDirectlyImplementedInterfaces(); 210internal RoType[] GetInterfacesNoCopy() => _lazyInterfaces ??= ComputeInterfaceClosure(); 211private RoType[] ComputeInterfaceClosure() 213HashSet<RoType> ifcs = new HashSet<RoType>(); 215RoType? baseType = ComputeBaseTypeWithoutDesktopQuirk(); 218foreach (RoType ifc in baseType.GetInterfacesNoCopy()) 224foreach (RoType ifc in ComputeDirectlyImplementedInterfaces()) 229foreach (RoType indirectIfc in ifc.GetInterfacesNoCopy()) 238return Array.Empty<RoType>(); 241var arr = new RoType[ifcs.Count]; 246private volatile RoType[]? _lazyInterfaces; 261if (!(c is RoType roType && roType.Loader == Loader)) 300for (RoType? type = this; type != null; type = type.GetRoBaseType()) 330protected internal abstract RoType ComputeEnumUnderlyingType(); 331private volatile RoType? _lazyUnderlyingEnumType; 385internal abstract IEnumerable<RoType> GetNestedTypesCore(NameFilter? filter);
System\Reflection\TypeLoading\Types\RoWrappedType.cs (2)
14internal RoWrappedType(RoType unmodifiedType) 20internal RoType UnmodifiedType { get; }