Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CheckGenericParameters()

void System.Reflection.NullabilityInfoContext.CheckGenericParameters ( NullabilityInfo nullability,
MemberInfo metaMember,
Type metaType )
inlineprivate

Definition at line 392 of file NullabilityInfoContext.cs.

393 {
394 if (metaType.IsGenericParameter)
395 {
397 if (state == NullabilityState.NotNull && !ParseNullableState(metaType.GetCustomAttributesData(), 0, ref state))
398 {
400 }
401 nullability.ReadState = state;
402 nullability.WriteState = state;
403 }
404 else
405 {
406 if (!metaType.ContainsGenericParameters)
407 {
408 return;
409 }
410 if (nullability.GenericTypeArguments.Length != 0)
411 {
412 Type[] genericArguments = metaType.GetGenericArguments();
413 for (int i = 0; i < genericArguments.Length; i++)
414 {
415 if (genericArguments[i].IsGenericParameter)
416 {
417 NullabilityInfo nullabilityInfo = GetNullabilityInfo(metaMember, genericArguments[i], genericArguments[i].GetCustomAttributesData(), i + 1);
418 nullability.GenericTypeArguments[i].ReadState = nullabilityInfo.ReadState;
419 nullability.GenericTypeArguments[i].WriteState = nullabilityInfo.WriteState;
420 }
421 else
422 {
423 UpdateGenericArrayElements(nullability.GenericTypeArguments[i].ElementType, metaMember, genericArguments[i]);
424 }
425 }
426 }
427 else
428 {
430 }
431 }
432 }
NullabilityInfo GetNullabilityInfo(MemberInfo memberInfo, Type type, IList< CustomAttributeData > customAttributes)
static bool ParseNullableState(IList< CustomAttributeData > customAttributes, int index, ref NullabilityState state)
NullabilityState GetNullableContext(MemberInfo memberInfo)
void UpdateGenericArrayElements(NullabilityInfo elementState, MemberInfo metaMember, Type metaType)

References System.Reflection.NullabilityInfoContext.GetNullabilityInfo(), System.Reflection.NullabilityInfoContext.GetNullableContext(), System.Reflection.NullabilityInfoContext.ParseNullableState(), System.state, and System.Reflection.NullabilityInfoContext.UpdateGenericArrayElements().

Referenced by System.Reflection.NullabilityInfoContext.CheckParameterMetadataType(), and System.Reflection.NullabilityInfoContext.TryLoadGenericMetaTypeNullability().