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

◆ CheckNullabilityAttributes()

void System.Reflection.NullabilityInfoContext.CheckNullabilityAttributes ( NullabilityInfo nullability,
IList< CustomAttributeData > attributes )
inlineprivate

Definition at line 106 of file NullabilityInfoContext.cs.

107 {
108 foreach (CustomAttributeData attribute in attributes)
109 {
110 if (attribute.AttributeType.Namespace == "System.Diagnostics.CodeAnalysis")
111 {
112 if (attribute.AttributeType.Name == "NotNullAttribute" && nullability.ReadState == NullabilityState.Nullable)
113 {
114 nullability.ReadState = NullabilityState.NotNull;
115 break;
116 }
117 if ((attribute.AttributeType.Name == "MaybeNullAttribute" || attribute.AttributeType.Name == "MaybeNullWhenAttribute") && nullability.ReadState == NullabilityState.NotNull && !nullability.Type.IsValueType)
118 {
119 nullability.ReadState = NullabilityState.Nullable;
120 break;
121 }
122 if (attribute.AttributeType.Name == "DisallowNullAttribute" && nullability.WriteState == NullabilityState.Nullable)
123 {
124 nullability.WriteState = NullabilityState.NotNull;
125 break;
126 }
127 if (attribute.AttributeType.Name == "AllowNullAttribute" && nullability.WriteState == NullabilityState.NotNull && !nullability.Type.IsValueType)
128 {
129 nullability.WriteState = NullabilityState.Nullable;
130 break;
131 }
132 }
133 }
134 }

Referenced by System.Reflection.NullabilityInfoContext.Create(), System.Reflection.NullabilityInfoContext.Create(), and System.Reflection.NullabilityInfoContext.Create().