src\11b41c7305441175\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (36)
21using PropertySetAnalysisData = DictionaryAnalysisData<AbstractLocation, PropertySetAbstractValue>;
29AbstractLocationDataFlowOperationVisitor<PropertySetAnalysisData, PropertySetAnalysisContext, PropertySetAnalysisResult, PropertySetAbstractValue>
89protected override PropertySetAbstractValue GetAbstractDefaultValue(ITypeSymbol? type) => ValueDomain.Bottom;
93protected override PropertySetAbstractValue GetAbstractValue(AbstractLocation location)
94=> this.CurrentAnalysisData.TryGetValue(location, out var value) ? value : ValueDomain.Bottom;
100protected override void SetAbstractValue(AbstractLocation location, PropertySetAbstractValue value)
102if (value != PropertySetAbstractValue.Unknown
132protected override void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, PropertySetAbstractValue value)
136protected override void SetAbstractValueForAssignment(IOperation target, IOperation? assignedValueOperation, PropertySetAbstractValue assignedValue, bool mayBeAssignment = false)
140protected override void SetAbstractValueForTupleElementAssignment(AnalysisEntity tupleElementEntity, IOperation assignedValueOperation, PropertySetAbstractValue assignedValue)
144public override PropertySetAbstractValue VisitObjectCreation(IObjectCreationOperation operation, object? argument)
146PropertySetAbstractValue abstractValue = base.VisitObjectCreation(operation, argument);
155abstractValue = PropertySetAbstractValue.GetInstance(constructorMapper.PropertyAbstractValues);
203(PropertySetAbstractValue abstractValue) => hazardousUsageEvaluator.InvocationEvaluator!(
212protected override PropertySetAbstractValue VisitAssignmentOperation(IAssignmentOperation operation, object? argument)
214PropertySetAbstractValue? baseValue = base.VisitAssignmentOperation(operation, argument);
311PropertySetAbstractValue propertySetAbstractValue = this.GetAbstractValue(location);
326return baseValue ?? PropertySetAbstractValue.Unknown.ReplaceAt(index, propertySetAbstractValueKind);
384out var propertySetAbstractValue))
386propertySetAbstractValue = PropertySetAbstractValue.Unknown;
414initializationHazardousUsageEvaluator?.ValueEvaluator!(PropertySetAbstractValue.Unknown);
453public override PropertySetAbstractValue VisitInvocation_NonLambdaOrDelegateOrLocalFunction(IMethodSymbol method, IOperation? visitedInstance, ImmutableArray<IArgumentOperation> visitedArguments, bool invokedAsDelegate, IOperation originalOperation, PropertySetAbstractValue defaultValue)
455PropertySetAbstractValue baseValue = base.VisitInvocation_NonLambdaOrDelegateOrLocalFunction(method, visitedInstance, visitedArguments, invokedAsDelegate, originalOperation, defaultValue);
468(PropertySetAbstractValue abstractValue) => argumentHazardousUsageEvaluator.ValueEvaluator!(abstractValue));
492(PropertySetAbstractValue abstractValue) => hazardousUsageEvaluator!.InvocationEvaluator!(method, abstractValue));
595Func<PropertySetAbstractValue, HazardousUsageEvaluationResult> evaluationFunction,
596Func<AbstractLocation, PropertySetAbstractValue>? locationToAbstractValueMapping = null)
604PropertySetAbstractValue locationAbstractValue = locationToAbstractValueMapping(location);
632public override PropertySetAbstractValue VisitInvocation_LocalFunction(IMethodSymbol localFunction, ImmutableArray<IArgumentOperation> visitedArguments, IOperation originalOperation, PropertySetAbstractValue defaultValue)
634PropertySetAbstractValue baseValue = base.VisitInvocation_LocalFunction(localFunction, visitedArguments, originalOperation, defaultValue);
640public override PropertySetAbstractValue VisitInvocation_Lambda(IFlowAnonymousFunctionOperation lambda, ImmutableArray<IArgumentOperation> visitedArguments, IOperation originalOperation, PropertySetAbstractValue defaultValue)
642PropertySetAbstractValue baseValue = base.VisitInvocation_Lambda(lambda, visitedArguments, originalOperation, defaultValue);
661(PropertySetAbstractValue abstractValue) => hazardousUsageEvaluator.ValueEvaluator!(abstractValue));
src\11b41c7305441175\PropertySetAnalysisContext.cs (7)
18using InterproceduralPropertySetAnalysisData = InterproceduralAnalysisData<DictionaryAnalysisData<AbstractLocation, PropertySetAbstractValue>, PropertySetAnalysisContext, PropertySetAbstractValue>;
19using PropertySetAnalysisData = DictionaryAnalysisData<AbstractLocation, PropertySetAbstractValue>;
25internal sealed class PropertySetAnalysisContext : AbstractDataFlowAnalysisContext<PropertySetAnalysisData, PropertySetAnalysisContext, PropertySetAnalysisResult, PropertySetAbstractValue>
28AbstractValueDomain<PropertySetAbstractValue> valueDomain,
71AbstractValueDomain<PropertySetAbstractValue> valueDomain,
167protected override bool ComputeEqualsByHashCodeParts(AbstractDataFlowAnalysisContext<PropertySetAnalysisData, PropertySetAnalysisContext, PropertySetAnalysisResult, PropertySetAbstractValue> obj)