369 references to FlowAnalysisAnnotations
Microsoft.CodeAnalysis.CSharp (369)
FlowAnalysis\NullableWalker.cs (176)
827if ((annotations & FlowAnalysisAnnotations.AllowNull) != 0) 845var badState = symbolType.Type.IsPossiblyNullableReferenceTypeTypeParameter() && (annotations & FlowAnalysisAnnotations.NotNull) == 0 1096var symbolAnnotations = GetAccessibleBackingField(property, containingType) is { } field 1105var overriddenAnnotations = overriddenProperty.GetFlowAnalysisAnnotations(); 1372var annotations = parameter.FlowAnalysisAnnotations; 1373var hasNotNull = (annotations & FlowAnalysisAnnotations.NotNull) == FlowAnalysisAnnotations.NotNull; 1434FlowAnalysisAnnotations annotations = parameter.FlowAnalysisAnnotations; 1437bool hasNotNullWhenTrue = (annotations & FlowAnalysisAnnotations.NotNull) == FlowAnalysisAnnotations.NotNullWhenTrue; 1438bool hasMaybeNullWhenFalse = (annotations & FlowAnalysisAnnotations.MaybeNull) == FlowAnalysisAnnotations.MaybeNullWhenFalse; 1445bool hasNotNullWhenFalse = (annotations & FlowAnalysisAnnotations.NotNull) == FlowAnalysisAnnotations.NotNullWhenFalse; 1446bool hasMaybeNullWhenTrue = (annotations & FlowAnalysisAnnotations.MaybeNull) == FlowAnalysisAnnotations.MaybeNullWhenTrue; 1489((method.FlowAnalysisAnnotations & FlowAnalysisAnnotations.DoesNotReturn) == FlowAnalysisAnnotations.DoesNotReturn) && 2455/// This should often be checked together with <seealso cref="IsDisallowedNullAssignment(TypeWithState, FlowAnalysisAnnotations)"/> 2568FlowAnalysisAnnotations overriddenAnnotations, 2570FlowAnalysisAnnotations overridingAnnotations, 2596bool overridingHasNotNull = (overridingAnnotations & FlowAnalysisAnnotations.NotNull) == FlowAnalysisAnnotations.NotNull; 2597bool overriddenHasNotNull = (overriddenAnnotations & FlowAnalysisAnnotations.NotNull) == FlowAnalysisAnnotations.NotNull; 2604bool overridingHasMaybeNull = (overridingAnnotations & FlowAnalysisAnnotations.MaybeNull) == FlowAnalysisAnnotations.MaybeNull; 2605bool overriddenHasMaybeNull = (overriddenAnnotations & FlowAnalysisAnnotations.MaybeNull) == FlowAnalysisAnnotations.MaybeNull; 2630var destAnnotationsWhen = ToInwardAnnotations(makeUnconditionalAnnotation(overriddenAnnotations, sense)); 2640static bool isBadAssignment(TypeWithState valueState, TypeWithAnnotations destinationType, FlowAnalysisAnnotations destinationAnnotations) 2658static FlowAnalysisAnnotations makeUnconditionalAnnotation(FlowAnalysisAnnotations annotations, bool sense) 2662var unconditionalAnnotationWhenTrue = makeUnconditionalAnnotationCore(annotations, FlowAnalysisAnnotations.NotNullWhenTrue, FlowAnalysisAnnotations.NotNull); 2663return makeUnconditionalAnnotationCore(unconditionalAnnotationWhenTrue, FlowAnalysisAnnotations.MaybeNullWhenTrue, FlowAnalysisAnnotations.MaybeNull); 2666var unconditionalAnnotationWhenFalse = makeUnconditionalAnnotationCore(annotations, FlowAnalysisAnnotations.NotNullWhenFalse, FlowAnalysisAnnotations.NotNull); 2667return makeUnconditionalAnnotationCore(unconditionalAnnotationWhenFalse, FlowAnalysisAnnotations.MaybeNullWhenFalse, FlowAnalysisAnnotations.MaybeNull); 2671static FlowAnalysisAnnotations makeUnconditionalAnnotationCore(FlowAnalysisAnnotations annotations, FlowAnalysisAnnotations conditionalAnnotation, FlowAnalysisAnnotations replacementAnnotation) 3109var parameterAnnotations = GetParameterAnnotations(parameter); 3126internal static TypeWithState GetParameterState(TypeWithAnnotations parameterType, FlowAnalysisAnnotations parameterAnnotations) 3128if ((parameterAnnotations & FlowAnalysisAnnotations.AllowNull) != 0) 3133if ((parameterAnnotations & FlowAnalysisAnnotations.DisallowNull) != 0) 3156TryGetReturnType(out TypeWithAnnotations returnType, out FlowAnalysisAnnotations returnAnnotations)) 3237private bool TryGetReturnType(out TypeWithAnnotations type, out FlowAnalysisAnnotations annotations) 3243annotations = FlowAnalysisAnnotations.None; 3254annotations = FlowAnalysisAnnotations.None; 3268annotations = FlowAnalysisAnnotations.None; 3273annotations = FlowAnalysisAnnotations.None; 4271var annotations = createMethod.GetFlowAnalysisAnnotations(); 5838out FlowAnalysisAnnotations parameterAnnotations) 5863FlowAnalysisAnnotations parameterAnnotations; 6915FlowAnalysisAnnotations annotations; 7460private FlowAnalysisAnnotations GetRValueAnnotations(int containingSlotOpt, TypeSymbol? receiverTypeForMemberAccessOpt, Symbol? symbol) 7466return FlowAnalysisAnnotations.None; 7474return unionType.UnionValueDeclaredNullableFlowState.MayBeNull() ? FlowAnalysisAnnotations.MaybeNull : FlowAnalysisAnnotations.NotNull; 7477var annotations = symbol.GetFlowAnalysisAnnotations(); 7478return annotations & (FlowAnalysisAnnotations.MaybeNull | FlowAnalysisAnnotations.NotNull); 7481private FlowAnalysisAnnotations GetParameterAnnotations(ParameterSymbol parameter) 7486return FlowAnalysisAnnotations.None; 7488var annotations = parameter.FlowAnalysisAnnotations; 7495bool hasNotNullWhenTrue = (annotations & FlowAnalysisAnnotations.NotNull) == FlowAnalysisAnnotations.NotNullWhenTrue; 7496bool hasNotNullWhenFalse = (annotations & FlowAnalysisAnnotations.NotNull) == FlowAnalysisAnnotations.NotNullWhenFalse; 7499annotations &= ~FlowAnalysisAnnotations.NotNull; 7503bool hasMaybeNullWhenTrue = (annotations & FlowAnalysisAnnotations.MaybeNull) == FlowAnalysisAnnotations.MaybeNullWhenTrue; 7504bool hasMaybeNullWhenFalse = (annotations & FlowAnalysisAnnotations.MaybeNull) == FlowAnalysisAnnotations.MaybeNullWhenFalse; 7507annotations &= ~FlowAnalysisAnnotations.MaybeNull; 7518private static TypeWithAnnotations ApplyLValueAnnotations(TypeWithAnnotations declaredType, FlowAnalysisAnnotations flowAnalysisAnnotations) 7520if ((flowAnalysisAnnotations & FlowAnalysisAnnotations.DisallowNull) == FlowAnalysisAnnotations.DisallowNull) 7524else if ((flowAnalysisAnnotations & FlowAnalysisAnnotations.AllowNull) == FlowAnalysisAnnotations.AllowNull) 7535private static TypeWithState ApplyUnconditionalAnnotations(TypeWithState typeWithState, FlowAnalysisAnnotations annotations) 7537if ((annotations & FlowAnalysisAnnotations.NotNull) == FlowAnalysisAnnotations.NotNull) 7542if ((annotations & FlowAnalysisAnnotations.MaybeNull) == FlowAnalysisAnnotations.MaybeNull) 7550private static TypeWithAnnotations ApplyUnconditionalAnnotations(TypeWithAnnotations declaredType, FlowAnalysisAnnotations annotations) 7552if ((annotations & FlowAnalysisAnnotations.MaybeNull) == FlowAnalysisAnnotations.MaybeNull) 7557if ((annotations & FlowAnalysisAnnotations.NotNull) == FlowAnalysisAnnotations.NotNull) 7776(ParameterSymbol? parameter, TypeWithAnnotations parameterType, FlowAnalysisAnnotations parameterAnnotations, bool isExpandedParamsArgument) = 7850(ParameterSymbol? parameter, TypeWithAnnotations parameterType, FlowAnalysisAnnotations parameterAnnotations, _) = 7882if (!IsAnalyzingAttribute && method is not null && (method.FlowAnalysisAnnotations & FlowAnalysisAnnotations.DoesNotReturn) == FlowAnalysisAnnotations.DoesNotReturn) 8170ImmutableArray<FlowAnalysisAnnotations> parameterAnnotationsOpt, 8202private ImmutableArray<FlowAnalysisAnnotations> GetParametersAnnotations(ImmutableArray<BoundExpression> arguments, ImmutableArray<ParameterSymbol> parametersOpt, ImmutableArray<int> argsToParamsOpt, bool expanded) 8204ImmutableArray<FlowAnalysisAnnotations> parameterAnnotationsOpt = default; 8230private VisitResult VisitArgumentEvaluate(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations) 8242private VisitResult VisitArgumentEvaluateEpilogue(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations) 8253switch (annotations & (FlowAnalysisAnnotations.DoesNotReturnIfTrue | FlowAnalysisAnnotations.DoesNotReturnIfFalse)) 8255case FlowAnalysisAnnotations.DoesNotReturnIfTrue: 8262case FlowAnalysisAnnotations.DoesNotReturnIfFalse: 8300FlowAnalysisAnnotations parameterAnnotations, 8382private bool CheckDisallowedNullAssignment(TypeWithState state, FlowAnalysisAnnotations annotations, SyntaxNode node, BoundExpression? boundValueOpt = null) 8400private static bool IsDisallowedNullAssignment(TypeWithState valueState, FlowAnalysisAnnotations targetAnnotations) 8402return ((targetAnnotations & FlowAnalysisAnnotations.DisallowNull) != 0) && 8438FlowAnalysisAnnotations parameterAnnotations, 8473var leftAnnotations = GetLValueAnnotations(argument); 8492var leftAnnotations = GetLValueAnnotations(argument); 8531FlowAnalysisAnnotations notNullBasedOnParameters(FlowAnalysisAnnotations parameterAnnotations, ArrayBuilder<ParameterSymbol>? notNullParametersOpt, ParameterSymbol parameter) 8542return FlowAnalysisAnnotations.NotNull; 8550void trackNullableStateForAssignment(TypeSymbol? receiverType, BoundExpression parameterValue, TypeWithAnnotations lValueType, int targetSlot, TypeWithState parameterWithState, bool isSuppressed, FlowAnalysisAnnotations parameterAnnotations, RefKind refKind, ParameterSymbol parameter) 8575static bool hasConditionalPostCondition(TypeSymbol? receiverType, FlowAnalysisAnnotations annotations, RefKind refKind, ParameterSymbol parameter) 8577if ((((annotations & FlowAnalysisAnnotations.MaybeNullWhenTrue) != 0) ^ ((annotations & FlowAnalysisAnnotations.MaybeNullWhenFalse) != 0)) || 8578(((annotations & FlowAnalysisAnnotations.NotNullWhenTrue) != 0) ^ ((annotations & FlowAnalysisAnnotations.NotNullWhenFalse) != 0))) 8600static TypeWithState applyPostConditionsUnconditionally(TypeWithState typeWithState, FlowAnalysisAnnotations annotations) 8602if ((annotations & FlowAnalysisAnnotations.MaybeNull) != 0) 8608if ((annotations & FlowAnalysisAnnotations.NotNull) == FlowAnalysisAnnotations.NotNull) 8617static TypeWithState applyPostConditionsWhenTrue(TypeSymbol? receiverType, TypeWithState typeWithState, FlowAnalysisAnnotations annotations, RefKind refKind, ParameterSymbol parameter) 8619bool notNullWhenTrue = (annotations & FlowAnalysisAnnotations.NotNullWhenTrue) != 0; 8620bool maybeNullWhenTrue = (annotations & FlowAnalysisAnnotations.MaybeNullWhenTrue) != 0; 8621bool maybeNullWhenFalse = (annotations & FlowAnalysisAnnotations.MaybeNullWhenFalse) != 0; 8636static TypeWithState applyPostConditionsWhenFalse(TypeWithState typeWithState, FlowAnalysisAnnotations annotations) 8638bool notNullWhenFalse = (annotations & FlowAnalysisAnnotations.NotNullWhenFalse) != 0; 8639bool maybeNullWhenTrue = (annotations & FlowAnalysisAnnotations.MaybeNullWhenTrue) != 0; 8640bool maybeNullWhenFalse = (annotations & FlowAnalysisAnnotations.MaybeNullWhenFalse) != 0; 8659private void LearnFromPostConditions(BoundExpression argument, FlowAnalysisAnnotations parameterAnnotations) 8662bool notNullWhenTrue = (parameterAnnotations & FlowAnalysisAnnotations.NotNullWhenTrue) != 0; 8663bool notNullWhenFalse = (parameterAnnotations & FlowAnalysisAnnotations.NotNullWhenFalse) != 0; 8666bool maybeNullWhenTrue = (parameterAnnotations & FlowAnalysisAnnotations.MaybeNullWhenTrue) != 0; 8667bool maybeNullWhenFalse = (parameterAnnotations & FlowAnalysisAnnotations.MaybeNullWhenFalse) != 0; 8752private (ParameterSymbol? Parameter, TypeWithAnnotations Type, FlowAnalysisAnnotations Annotations, bool isExpandedParamsArgument) GetCorrespondingParameter( 8780return (parameter, paramsIterationType, FlowAnalysisAnnotations.None, isExpandedParamsArgument: true); 10574var parameterAnnotations = GetParameterAnnotations(parameter); 10746var parameterAnnotations = GetParameterAnnotations(parameter); 11327FlowAnalysisAnnotations leftAnnotations; 11393var annotations = IsAnalyzingAttribute ? FlowAnalysisAnnotations.None : property.GetFlowAnalysisAnnotations(); 11424private FlowAnalysisAnnotations GetLValueAnnotations(BoundExpression expr) 11430return FlowAnalysisAnnotations.None; 11433var annotations = expr switch 11439=> ToInwardAnnotations(GetParameterAnnotations(parameter) & ~FlowAnalysisAnnotations.NotNull), // NotNull is enforced upon method exit 11440_ => FlowAnalysisAnnotations.None 11443return annotations & (FlowAnalysisAnnotations.DisallowNull | FlowAnalysisAnnotations.AllowNull); 11446private static FlowAnalysisAnnotations GetFieldAnnotations(FieldSymbol field) 11453private FlowAnalysisAnnotations GetObjectInitializerMemberLValueAnnotations(Symbol memberSymbol) 11459return FlowAnalysisAnnotations.None; 11462var annotations = memberSymbol switch { PropertySymbol prop => prop.GetFlowAnalysisAnnotations(), FieldSymbol field => GetFieldAnnotations(field), _ => FlowAnalysisAnnotations.None }; 11464return annotations & (FlowAnalysisAnnotations.DisallowNull | FlowAnalysisAnnotations.AllowNull); 11467private static FlowAnalysisAnnotations ToInwardAnnotations(FlowAnalysisAnnotations outwardAnnotations) 11469var annotations = FlowAnalysisAnnotations.None; 11470if ((outwardAnnotations & FlowAnalysisAnnotations.MaybeNull) != 0) 11473annotations |= FlowAnalysisAnnotations.AllowNull; 11475if ((outwardAnnotations & FlowAnalysisAnnotations.NotNull) == FlowAnalysisAnnotations.NotNull) 11478annotations |= FlowAnalysisAnnotations.DisallowNull; 11666var leftAnnotations = GetLValueAnnotations(variable.Expression); 12115var leftArgumentAnnotations = GetLValueAnnotations(node.Left); 12284FlowAnalysisAnnotations memberAnnotations = GetRValueAnnotations(containingSlotOpt: -1, receiverTypeForMemberAccessOpt: node.ReceiverOpt.Type, symbol: updatedProperty); 12425var memberAnnotations = GetRValueAnnotations(containingSlotOpt: -1, receiverTypeForMemberAccessOpt: receiverType.Type, symbol: member);
Lowering\IteratorRewriter\IteratorFinallyMethodSymbol.cs (2)
150public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Lowering\SynthesizedMethodBaseSymbol.cs (3)
205public sealed override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => BaseMethod.ReturnTypeFlowAnalysisAnnotations; 209public sealed override FlowAnalysisAnnotations FlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.FieldSymbol.cs (2)
44public override FlowAnalysisAnnotations FlowAnalysisAnnotations 45=> FlowAnalysisAnnotations.None;
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.SynthesizedMethodBase.cs (2)
104public sealed override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\ErrorMethodSymbol.cs (4)
175public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None; 179public override FlowAnalysisAnnotations FlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\FieldSymbol.cs (1)
70public abstract FlowAnalysisAnnotations FlowAnalysisAnnotations { get; }
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (4)
845public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None; 847public override FlowAnalysisAnnotations FlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\FunctionPointers\FunctionPointerParameterSymbol.cs (2)
91internal override FlowAnalysisAnnotations FlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\Metadata\PE\PEFieldSymbol.cs (24)
57public bool SetFlowAnalysisAnnotations(FlowAnalysisAnnotations value) 59Debug.Assert((value & ~(FlowAnalysisAnnotations.DisallowNull | FlowAnalysisAnnotations.AllowNull | FlowAnalysisAnnotations.MaybeNull | FlowAnalysisAnnotations.NotNull)) == 0); 62if ((value & FlowAnalysisAnnotations.DisallowNull) != 0) bitsToSet |= PackedFlags.HasDisallowNullAttribute; 63if ((value & FlowAnalysisAnnotations.AllowNull) != 0) bitsToSet |= PackedFlags.HasAllowNullAttribute; 64if ((value & FlowAnalysisAnnotations.MaybeNull) != 0) bitsToSet |= PackedFlags.HasMaybeNullAttribute; 65if ((value & FlowAnalysisAnnotations.NotNull) != 0) bitsToSet |= PackedFlags.HasNotNullAttribute; 70public bool TryGetFlowAnalysisAnnotations(out FlowAnalysisAnnotations value) 73value = FlowAnalysisAnnotations.None; 74if ((theBits & PackedFlags.HasDisallowNullAttribute) != 0) value |= FlowAnalysisAnnotations.DisallowNull; 75if ((theBits & PackedFlags.HasAllowNullAttribute) != 0) value |= FlowAnalysisAnnotations.AllowNull; 76if ((theBits & PackedFlags.HasMaybeNullAttribute) != 0) value |= FlowAnalysisAnnotations.MaybeNull; 77if ((theBits & PackedFlags.HasNotNullAttribute) != 0) value |= FlowAnalysisAnnotations.NotNull; 425public override FlowAnalysisAnnotations FlowAnalysisAnnotations 429FlowAnalysisAnnotations value; 439private static FlowAnalysisAnnotations DecodeFlowAnalysisAttributes(PEModule module, FieldDefinitionHandle handle) 441FlowAnalysisAnnotations annotations = FlowAnalysisAnnotations.None; 442if (module.HasAttribute(handle, AttributeDescription.AllowNullAttribute)) annotations |= FlowAnalysisAnnotations.AllowNull; 443if (module.HasAttribute(handle, AttributeDescription.DisallowNullAttribute)) annotations |= FlowAnalysisAnnotations.DisallowNull; 444if (module.HasAttribute(handle, AttributeDescription.MaybeNullAttribute)) annotations |= FlowAnalysisAnnotations.MaybeNull; 445if (module.HasAttribute(handle, AttributeDescription.NotNullAttribute)) annotations |= FlowAnalysisAnnotations.NotNull;
Symbols\Metadata\PE\PEMethodSymbol.cs (4)
688public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => Signature.ReturnParam.FlowAnalysisAnnotations; 692public override FlowAnalysisAnnotations FlowAnalysisAnnotations 703return _packedFlags.DoesNotReturn ? FlowAnalysisAnnotations.DoesNotReturn : FlowAnalysisAnnotations.None;
Symbols\Metadata\PE\PEParameterSymbol.cs (18)
137public bool SetFlowAnalysisAnnotations(FlowAnalysisAnnotations value) 143public bool TryGetFlowAnalysisAnnotations(out FlowAnalysisAnnotations value) 146value = (FlowAnalysisAnnotations)((theBits >> FlowAnalysisAnnotationsOffset) & FlowAnalysisAnnotationsMask); 793internal override FlowAnalysisAnnotations FlowAnalysisAnnotations 797FlowAnalysisAnnotations value; 807private static FlowAnalysisAnnotations DecodeFlowAnalysisAttributes(PEModule module, ParameterHandle handle) 809FlowAnalysisAnnotations annotations = FlowAnalysisAnnotations.None; 810if (module.HasAttribute(handle, AttributeDescription.AllowNullAttribute)) annotations |= FlowAnalysisAnnotations.AllowNull; 811if (module.HasAttribute(handle, AttributeDescription.DisallowNullAttribute)) annotations |= FlowAnalysisAnnotations.DisallowNull; 815annotations |= FlowAnalysisAnnotations.MaybeNull; 819annotations |= (when ? FlowAnalysisAnnotations.MaybeNullWhenTrue : FlowAnalysisAnnotations.MaybeNullWhenFalse); 824annotations |= FlowAnalysisAnnotations.NotNull; 828annotations |= (when ? FlowAnalysisAnnotations.NotNullWhenTrue : FlowAnalysisAnnotations.NotNullWhenFalse); 833annotations |= (condition ? FlowAnalysisAnnotations.DoesNotReturnIfTrue : FlowAnalysisAnnotations.DoesNotReturnIfFalse);
Symbols\MethodSymbol.cs (2)
258public abstract FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations { get; } 265public abstract FlowAnalysisAnnotations FlowAnalysisAnnotations { get; }
Symbols\ParameterSymbol.cs (1)
419internal abstract FlowAnalysisAnnotations FlowAnalysisAnnotations { get; }
Symbols\ReducedExtensionMethodSymbol.cs (2)
500public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => _reducedFrom.ReturnTypeFlowAnalysisAnnotations; 504public override FlowAnalysisAnnotations FlowAnalysisAnnotations => _reducedFrom.FlowAnalysisAnnotations;
Symbols\SignatureOnlyMethodSymbol.cs (4)
79public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None; 83public override FlowAnalysisAnnotations FlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\SignatureOnlyParameterSymbol.cs (1)
95internal override FlowAnalysisAnnotations FlowAnalysisAnnotations { get { throw ExceptionUtilities.Unreachable(); } }
Symbols\Source\FieldSymbolWithAttributesAndModifiers.cs (8)
250public override FlowAnalysisAnnotations FlowAnalysisAnnotations 253private static FlowAnalysisAnnotations DecodeFlowAnalysisAttributes(FieldWellKnownAttributeData attributeData) 255var annotations = FlowAnalysisAnnotations.None; 258if (attributeData.HasAllowNullAttribute) annotations |= FlowAnalysisAnnotations.AllowNull; 259if (attributeData.HasDisallowNullAttribute) annotations |= FlowAnalysisAnnotations.DisallowNull; 260if (attributeData.HasMaybeNullAttribute) annotations |= FlowAnalysisAnnotations.MaybeNull; 261if (attributeData.HasNotNullAttribute) annotations |= FlowAnalysisAnnotations.NotNull;
Symbols\Source\SourceClonedParameterSymbol.cs (2)
152internal override FlowAnalysisAnnotations FlowAnalysisAnnotations 154get { return FlowAnalysisAnnotations.None; }
Symbols\Source\SourceComplexParameterSymbol.cs (15)
148internal override FlowAnalysisAnnotations FlowAnalysisAnnotations 156private static FlowAnalysisAnnotations DecodeFlowAnalysisAttributes(ParameterWellKnownAttributeData attributeData) 160return FlowAnalysisAnnotations.None; 162FlowAnalysisAnnotations annotations = FlowAnalysisAnnotations.None; 163if (attributeData.HasAllowNullAttribute) annotations |= FlowAnalysisAnnotations.AllowNull; 164if (attributeData.HasDisallowNullAttribute) annotations |= FlowAnalysisAnnotations.DisallowNull; 168annotations |= FlowAnalysisAnnotations.MaybeNull; 174annotations |= (when ? FlowAnalysisAnnotations.MaybeNullWhenTrue : FlowAnalysisAnnotations.MaybeNullWhenFalse); 180annotations |= FlowAnalysisAnnotations.NotNull; 186annotations |= (when ? FlowAnalysisAnnotations.NotNullWhenTrue : FlowAnalysisAnnotations.NotNullWhenFalse); 192annotations |= (condition ? FlowAnalysisAnnotations.DoesNotReturnIfTrue : FlowAnalysisAnnotations.DoesNotReturnIfFalse);
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (4)
1286if ((baseMethod.FlowAnalysisAnnotations & FlowAnalysisAnnotations.DoesNotReturn) == FlowAnalysisAnnotations.DoesNotReturn && 1287(overrideMethod.FlowAnalysisAnnotations & FlowAnalysisAnnotations.DoesNotReturn) != FlowAnalysisAnnotations.DoesNotReturn)
Symbols\Source\SourceMethodSymbolWithAttributes.cs (10)
108public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => 689public override FlowAnalysisAnnotations FlowAnalysisAnnotations 697private static FlowAnalysisAnnotations DecodeFlowAnalysisAttributes(MethodWellKnownAttributeData attributeData) 698=> attributeData?.HasDoesNotReturnAttribute == true ? FlowAnalysisAnnotations.DoesNotReturn : FlowAnalysisAnnotations.None; 1630private static FlowAnalysisAnnotations DecodeReturnTypeAnnotationAttributes(ReturnTypeWellKnownAttributeData attributeData) 1632FlowAnalysisAnnotations annotations = FlowAnalysisAnnotations.None; 1637annotations |= FlowAnalysisAnnotations.MaybeNull; 1641annotations |= FlowAnalysisAnnotations.NotNull;
Symbols\Source\SourcePropertyAccessorSymbol.cs (9)
382public sealed override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations 388return FlowAnalysisAnnotations.None; 391var result = FlowAnalysisAnnotations.None; 394result |= FlowAnalysisAnnotations.MaybeNull; 398result |= FlowAnalysisAnnotations.NotNull; 846var annotations = ReturnTypeFlowAnalysisAnnotations; 847if ((annotations & FlowAnalysisAnnotations.MaybeNull) != 0) 851if ((annotations & FlowAnalysisAnnotations.NotNull) != 0)
Symbols\Source\SourceSimpleParameterSymbol.cs (2)
132internal override FlowAnalysisAnnotations FlowAnalysisAnnotations 134get { return FlowAnalysisAnnotations.None; }
Symbols\Source\ThisParameterSymbol.cs (2)
78internal sealed override FlowAnalysisAnnotations FlowAnalysisAnnotations 80get { return FlowAnalysisAnnotations.None; }
Symbols\SymbolExtensions.cs (7)
455internal static FlowAnalysisAnnotations GetFlowAnalysisAnnotations(this PropertySymbol property) 457var annotations = property.GetOwnOrInheritedGetMethod()?.ReturnTypeFlowAnalysisAnnotations ?? FlowAnalysisAnnotations.None; 469annotations |= FlowAnalysisAnnotations.AllowNull; 473annotations |= FlowAnalysisAnnotations.DisallowNull; 480internal static FlowAnalysisAnnotations GetFlowAnalysisAnnotations(this Symbol? symbol) 488_ => FlowAnalysisAnnotations.None
Symbols\Synthesized\SynthesizedAccessorValueParameterSymbol.cs (8)
34internal override FlowAnalysisAnnotations FlowAnalysisAnnotations 38var result = FlowAnalysisAnnotations.None; 43result |= FlowAnalysisAnnotations.DisallowNull; 47result |= FlowAnalysisAnnotations.AllowNull; 91var annotations = FlowAnalysisAnnotations; 92if ((annotations & FlowAnalysisAnnotations.DisallowNull) != 0) 96if ((annotations & FlowAnalysisAnnotations.AllowNull) != 0)
Symbols\Synthesized\SynthesizedBackingFieldSymbol.cs (1)
142if (FlowAnalysisAnnotations != FlowAnalysisAnnotations.None)
Symbols\Synthesized\SynthesizedDelegateSymbol.cs (2)
172public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\Synthesized\SynthesizedEmbeddedAttributePropertySymbol.cs (2)
93public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (4)
145public sealed override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None; 149public sealed override FlowAnalysisAnnotations FlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\Synthesized\SynthesizedFieldSymbolBase.cs (2)
91public override FlowAnalysisAnnotations FlowAnalysisAnnotations 92=> FlowAnalysisAnnotations.None;
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (4)
120public sealed override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None; 216public sealed override FlowAnalysisAnnotations FlowAnalysisAnnotations 218get { return FlowAnalysisAnnotations.None; }
Symbols\Synthesized\SynthesizedImplementationMethod.cs (2)
106public sealed override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\Synthesized\SynthesizedInstanceConstructor.cs (2)
159public sealed override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\Synthesized\SynthesizedInteractiveInitializerMethod.cs (2)
149public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (4)
233public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None; 237public override FlowAnalysisAnnotations FlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\Synthesized\SynthesizedMethodSymbol.cs (2)
92public sealed override FlowAnalysisAnnotations FlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\Synthesized\SynthesizedParameterSymbol.cs (3)
118internal override FlowAnalysisAnnotations FlowAnalysisAnnotations 120get { return FlowAnalysisAnnotations.None; } 421internal override FlowAnalysisAnnotations FlowAnalysisAnnotations
Symbols\Synthesized\SynthesizedSealedPropertyAccessor.cs (2)
197public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\Synthesized\SynthesizedSimpleProgramEntryPointSymbol.cs (4)
179public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None; 183public override FlowAnalysisAnnotations FlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\Synthesized\SynthesizedStaticConstructor.cs (4)
143public override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => FlowAnalysisAnnotations.None; 147public override FlowAnalysisAnnotations FlowAnalysisAnnotations => FlowAnalysisAnnotations.None;
Symbols\TypeWithState.cs (6)
40public static TypeWithState Create(TypeWithAnnotations typeWithAnnotations, FlowAnalysisAnnotations annotations = FlowAnalysisAnnotations.None) 48if ((annotations & FlowAnalysisAnnotations.MaybeNull) == FlowAnalysisAnnotations.MaybeNull) 52else if ((annotations & FlowAnalysisAnnotations.NotNull) == FlowAnalysisAnnotations.NotNull)
Symbols\Wrapped\WrappedFieldSymbol.cs (1)
49public override FlowAnalysisAnnotations FlowAnalysisAnnotations
Symbols\Wrapped\WrappedMethodSymbol.cs (2)
316public sealed override FlowAnalysisAnnotations ReturnTypeFlowAnalysisAnnotations => UnderlyingMethod.ReturnTypeFlowAnalysisAnnotations; 320public sealed override FlowAnalysisAnnotations FlowAnalysisAnnotations => UnderlyingMethod.FlowAnalysisAnnotations;
Symbols\Wrapped\WrappedParameterSymbol.cs (1)
146internal override FlowAnalysisAnnotations FlowAnalysisAnnotations