14 instantiations of PointsToAbstractValue
Microsoft.CodeAnalysis.AnalyzerUtilities (14)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAbstractValue.cs (14)
23public static PointsToAbstractValue Undefined { get; } = new PointsToAbstractValue(PointsToAbstractValueKind.Undefined, NullAbstractValue.Undefined); 24public static PointsToAbstractValue Invalid { get; } = new PointsToAbstractValue(PointsToAbstractValueKind.Invalid, NullAbstractValue.Invalid); 25public static PointsToAbstractValue Unknown { get; } = new PointsToAbstractValue(PointsToAbstractValueKind.Unknown, NullAbstractValue.MaybeNull); 26public static PointsToAbstractValue UnknownNull { get; } = new PointsToAbstractValue(PointsToAbstractValueKind.UnknownNull, NullAbstractValue.Null); 27public static PointsToAbstractValue UnknownNotNull { get; } = new PointsToAbstractValue(PointsToAbstractValueKind.UnknownNotNull, NullAbstractValue.NotNull); 28public static PointsToAbstractValue NoLocation { get; } = new PointsToAbstractValue(ImmutableHashSet.Create(AbstractLocation.NoLocation), NullAbstractValue.NotNull); 29public static PointsToAbstractValue NullLocation { get; } = new PointsToAbstractValue(ImmutableHashSet.Create(AbstractLocation.Null), NullAbstractValue.Null); 72return new PointsToAbstractValue(ImmutableHashSet.Create(location), mayBeNull ? NullAbstractValue.MaybeNull : NullAbstractValue.NotNull); 77return new PointsToAbstractValue(ImmutableHashSet.Create(lValueCapturedOperation)); 109return new PointsToAbstractValue(locations, nullState); 115return new PointsToAbstractValue(lValueCapturedOperations); 142return new PointsToAbstractValue(locations, NullAbstractValue.NotNull); 159return new PointsToAbstractValue(Locations, NullAbstractValue.Null); 178return new PointsToAbstractValue(Locations, NullAbstractValue.MaybeNull);
433 references to PointsToAbstractValue
Analyzer.Utilities.UnitTests (10)
FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysisTests.cs (10)
227(PointsToAbstractValue pointsToAbstractValue) => 402(IMethodSymbol method, IReadOnlyList<PointsToAbstractValue> argumentPointsToAbstractValues) => 423(PointsToAbstractValue pointsToAbstractValue) => 589(IMethodSymbol method, IReadOnlyList<ValueContentAbstractValue> argumentValueContentAbstractValues, IReadOnlyList<PointsToAbstractValue> argumentPointsToAbstractValues) => 826(IMethodSymbol constructorMethodSymbol, IReadOnlyList<PointsToAbstractValue> argumentPointsToAbstractValues) => 848(PointsToAbstractValue pointsToAbstractValue) => 951IReadOnlyList<PointsToAbstractValue> argumentPointsToAbstractValues) => 1041(PointsToAbstractValue pointsToAbstractValue) => 1145(PointsToAbstractValue pointsToAbstractValue) => 1158(PointsToAbstractValue pointsToAbstractValue) =>
Microsoft.CodeAnalysis.AnalyzerUtilities (423)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (3)
574(AnalysisEntity? Instance, PointsToAbstractValue PointsToValue)? invocationInstance, 575(AnalysisEntity Instance, PointsToAbstractValue PointsToValue)? thisOrMeInstanceForCaller, 577IDictionary<AnalysisEntity, PointsToAbstractValue>? pointsToValues,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (9)
28private readonly Dictionary<IFieldSymbol, PointsToAbstractValue>? _trackedInstanceFieldLocations; 47public ImmutableDictionary<IFieldSymbol, PointsToAbstractValue> TrackedInstanceFieldPointsToMap 81protected override DisposeAbstractValue HandleInstanceCreation(IOperation creation, PointsToAbstractValue instanceLocation, DisposeAbstractValue defaultValue) 115PointsToAbstractValue instanceLocation = GetPointsToAbstractValue(disposedInstance); 128PointsToAbstractValue instanceLocation = GetPointsToAbstractValue(invalidatedInstance); 170protected override void SetValueForParameterPointsToLocationOnEntry(IParameterSymbol parameter, PointsToAbstractValue pointsToAbstractValue) 290var instanceLocation = GetPointsToAbstractValue(originalOperation); 336var pointsToValue = GetPointsToAbstractValue(operation.Value); 405var pointsToAbstractValue = GetPointsToAbstractValue(operation);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisResult.cs (2)
16ImmutableDictionary<IFieldSymbol, PointsToAnalysis.PointsToAbstractValue>? trackedInstanceFieldPointsToMap) 22public ImmutableDictionary<IFieldSymbol, PointsToAnalysis.PointsToAbstractValue>? TrackedInstanceFieldPointsToMap { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateDataFlowOperationVisitor.cs (4)
66instanceLocation: PointsToAbstractValue.Unknown, 147(AnalysisEntity? Instance, PointsToAbstractValue PointsToValue)? invocationInstance, 148(AnalysisEntity Instance, PointsToAbstractValue PointsToValue)? thisOrMeInstanceForCaller, 150IDictionary<AnalysisEntity, PointsToAbstractValue>? pointsToValues,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (2)
116protected override void SetValueForParameterPointsToLocationOnEntry(IParameterSymbol parameter, PointsToAbstractValue pointsToAbstractValue) 151var pointsToLocation = GetPointsToAbstractValue(operation);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\DefaultPointsToValueGenerator.cs (11)
12/// Generates and stores the default <see cref="PointsToAbstractValue"/> for <see cref="AnalysisEntity"/> instances generated for member and element reference operations. 17private readonly ImmutableDictionary<AnalysisEntity, PointsToAbstractValue>.Builder _defaultPointsToValueMapBuilder; 22_defaultPointsToValueMapBuilder = ImmutableDictionary.CreateBuilder<AnalysisEntity, PointsToAbstractValue>(); 27public PointsToAbstractValue GetOrCreateDefaultValue(AnalysisEntity analysisEntity) 29if (!_defaultPointsToValueMapBuilder.TryGetValue(analysisEntity, out var value)) 35return PointsToAbstractValue.Undefined; 39return PointsToAbstractValue.NoLocation; 43return PointsToAbstractValue.Unknown; 46value = PointsToAbstractValue.Create(AbstractLocation.CreateAnalysisEntityDefaultLocation(analysisEntity), mayBeNull: true); 60public bool IsTrackedPointsToValue(PointsToAbstractValue value) => _trackedEntitiesBuilder.IsTrackedPointsToValue(value); 61public void AddTrackedPointsToValue(PointsToAbstractValue value) => _trackedEntitiesBuilder.AddTrackedPointsToValue(value);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAbstractValue.cs (18)
16public class PointsToAbstractValue : CacheBasedEquatable<PointsToAbstractValue> 23public static PointsToAbstractValue Undefined { get; } = new PointsToAbstractValue(PointsToAbstractValueKind.Undefined, NullAbstractValue.Undefined); 24public static PointsToAbstractValue Invalid { get; } = new PointsToAbstractValue(PointsToAbstractValueKind.Invalid, NullAbstractValue.Invalid); 25public static PointsToAbstractValue Unknown { get; } = new PointsToAbstractValue(PointsToAbstractValueKind.Unknown, NullAbstractValue.MaybeNull); 26public static PointsToAbstractValue UnknownNull { get; } = new PointsToAbstractValue(PointsToAbstractValueKind.UnknownNull, NullAbstractValue.Null); 27public static PointsToAbstractValue UnknownNotNull { get; } = new PointsToAbstractValue(PointsToAbstractValueKind.UnknownNotNull, NullAbstractValue.NotNull); 28public static PointsToAbstractValue NoLocation { get; } = new PointsToAbstractValue(ImmutableHashSet.Create(AbstractLocation.NoLocation), NullAbstractValue.NotNull); 29public static PointsToAbstractValue NullLocation { get; } = new PointsToAbstractValue(ImmutableHashSet.Create(AbstractLocation.Null), NullAbstractValue.Null); 67internal static PointsToAbstractValue Create(AbstractLocation location, bool mayBeNull) 75internal static PointsToAbstractValue Create(IOperation lValueCapturedOperation) 80internal static PointsToAbstractValue Create(ImmutableHashSet<AbstractLocation> locations, NullAbstractValue nullState) 112internal static PointsToAbstractValue Create(ImmutableHashSet<IOperation> lValueCapturedOperations) 118internal PointsToAbstractValue MakeNonNull() 145internal PointsToAbstractValue MakeNull() 162internal PointsToAbstractValue MakeMayBeNull() 194protected override bool ComputeEqualsByHashCodeParts(CacheBasedEquatable<PointsToAbstractValue> obj) 196var other = (PointsToAbstractValue)obj;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAbstractValueKind.cs (1)
8/// Kind for the <see cref="PointsToAbstractValue"/>.
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.CorePointsToAnalysisDataDomain.cs (11)
13using CorePointsToAnalysisData = DictionaryAnalysisData<AnalysisEntity, PointsToAbstractValue>; 15public partial class PointsToAnalysis : ForwardDataFlowAnalysis<PointsToAnalysisData, PointsToAnalysisContext, PointsToAnalysisResult, PointsToBlockAnalysisResult, PointsToAbstractValue> 20private sealed class CorePointsToAnalysisDataDomain : AnalysisEntityMapAbstractDomain<PointsToAbstractValue> 26AbstractValueDomain<PointsToAbstractValue> valueDomain, 36protected override PointsToAbstractValue GetDefaultValue(AnalysisEntity analysisEntity) => DefaultPointsToValueGenerator.GetOrCreateDefaultValue(analysisEntity); 38protected override bool CanSkipNewEntry(AnalysisEntity analysisEntity, PointsToAbstractValue value) 42protected override void OnNewMergedValue(PointsToAbstractValue value) 45protected override void AssertValidEntryForMergedMap(AnalysisEntity analysisEntity, PointsToAbstractValue value) 58Func<PointsToAbstractValue, ImmutableHashSet<AnalysisEntity>> getChildAnalysisEntities, 67var forwardEdgeValue = forwardEdgeAnalysisData[key]; 68if (backEdgeAnalysisData.TryGetValue(key, out var backEdgeValue) &&
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.cs (3)
21public partial class PointsToAnalysis : ForwardDataFlowAnalysis<PointsToAnalysisData, PointsToAnalysisContext, PointsToAnalysisResult, PointsToBlockAnalysisResult, PointsToAbstractValue> 23internal static readonly AbstractValueDomain<PointsToAbstractValue> ValueDomainInstance = PointsToAbstractValueDomain.Default; 118protected override PointsToAnalysisResult ToResult(PointsToAnalysisContext analysisContext, DataFlowAnalysisResult<PointsToBlockAnalysisResult, PointsToAbstractValue> dataFlowAnalysisResult)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.NullAbstractValueDomain.cs (1)
9public partial class PointsToAnalysis : ForwardDataFlowAnalysis<PointsToAnalysisData, PointsToAnalysisContext, PointsToAnalysisResult, PointsToBlockAnalysisResult, PointsToAbstractValue>
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToAbstractValueDomain.cs (26)
9public partial class PointsToAnalysis : ForwardDataFlowAnalysis<PointsToAnalysisData, PointsToAnalysisContext, PointsToAnalysisResult, PointsToBlockAnalysisResult, PointsToAbstractValue> 12/// Abstract value domain for <see cref="PointsToAnalysis"/> to merge and compare <see cref="PointsToAbstractValue"/> values. 14private sealed class PointsToAbstractValueDomain : AbstractValueDomain<PointsToAbstractValue> 22public override PointsToAbstractValue Bottom => PointsToAbstractValue.Undefined; 24public override PointsToAbstractValue UnknownOrMayBeValue => PointsToAbstractValue.Unknown; 26public override int Compare(PointsToAbstractValue oldValue, PointsToAbstractValue newValue, bool assertMonotonicity) 69public override PointsToAbstractValue Merge(PointsToAbstractValue value1, PointsToAbstractValue value2) 71PointsToAbstractValue result; 79PointsToAbstractValue.Unknown : 85PointsToAbstractValue.Unknown : 99result = PointsToAbstractValue.Unknown; 104PointsToAbstractValue.UnknownNull : 105PointsToAbstractValue.Unknown; 110PointsToAbstractValue.UnknownNull : 111PointsToAbstractValue.Unknown; 116PointsToAbstractValue.UnknownNotNull : 117PointsToAbstractValue.Unknown; 122PointsToAbstractValue.UnknownNotNull : 123PointsToAbstractValue.Unknown; 129result = PointsToAbstractValue.Create(mergedLValueCaptures); 138result = PointsToAbstractValue.Create(mergedLocations, mergedNullState);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToAnalysisDomain.cs (3)
11public partial class PointsToAnalysis : ForwardDataFlowAnalysis<PointsToAnalysisData, PointsToAnalysisContext, PointsToAnalysisResult, PointsToBlockAnalysisResult, PointsToAbstractValue> 16private sealed class PointsToAnalysisDomain : PredicatedAnalysisDataDomain<PointsToAnalysisData, PointsToAbstractValue> 26Func<PointsToAbstractValue, ImmutableHashSet<AnalysisEntity>> getChildAnalysisEntities,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (146)
20public partial class PointsToAnalysis : ForwardDataFlowAnalysis<PointsToAnalysisData, PointsToAnalysisContext, PointsToAnalysisResult, PointsToBlockAnalysisResult, PointsToAbstractValue> 26PredicateAnalysisEntityDataFlowOperationVisitor<PointsToAnalysisData, PointsToAnalysisContext, PointsToAnalysisResult, PointsToAbstractValue> 89private PointsToAbstractValue GetValueForEntityThatShouldNotBeTracked(AnalysisEntity analysisEntity) 92Debug.Assert(!CurrentAnalysisData.TryGetValue(analysisEntity, out var existingValue) || existingValue == PointsToAbstractValue.NoLocation); 95PointsToAbstractValue.NoLocation : 154protected override PointsToAbstractValue GetAbstractValue(AnalysisEntity analysisEntity) 161if (!CurrentAnalysisData.TryGetValue(analysisEntity, out var value)) 169protected override PointsToAbstractValue GetPointsToAbstractValue(IOperation operation) => base.GetCachedAbstractValue(operation); 171protected override PointsToAbstractValue GetAbstractDefaultValue(ITypeSymbol? type) => !PointsToAnalysis.ShouldBeTracked(type, IsDisposable) ? PointsToAbstractValue.NoLocation : PointsToAbstractValue.NullLocation; 175protected override void SetAbstractValue(AnalysisEntity analysisEntity, PointsToAbstractValue value) 184Debug.Assert(!CurrentAnalysisData.TryGetValue(analysisEntity, out var currentValue) || 209private static void SetAbstractValueCore(PointsToAnalysisData pointsToAnalysisData, AnalysisEntity analysisEntity, PointsToAbstractValue value) 212protected override void SetAbstractValueForTupleElementAssignment(AnalysisEntity tupleElementEntity, IOperation assignedValueOperation, PointsToAbstractValue assignedValue) 214if (assignedValue == PointsToAbstractValue.Undefined) 230SetAbstractValue(analysisEntity, PointsToAbstractValue.Unknown); 235if (pointsToAnalysisData.TryGetValue(analysisEntity, out var currentValue)) 242protected override PointsToAbstractValue GetDefaultValueForParameterOnEntry(IParameterSymbol parameter, AnalysisEntity analysisEntity) 244PointsToAbstractValue.Create( 247PointsToAbstractValue.NoLocation; 255var pointsToValue = GetAbstractValue(analysisEntity); 260private static PointsToAbstractValue GetResetValue(AnalysisEntity analysisEntity, PointsToAbstractValue currentValue) 268return PointsToAbstractValue.Unknown; 273protected override PointsToAbstractValue ComputeAnalysisValueForReferenceOperation(IOperation operation, PointsToAbstractValue defaultValue) 282Debug.Assert(operation.Type == null || !operation.Type.IsNonNullableValueType() || defaultValue == PointsToAbstractValue.NoLocation); 287protected override PointsToAbstractValue ComputeAnalysisValueForEscapedRefOrOutArgument(AnalysisEntity analysisEntity, IArgumentOperation operation, PointsToAbstractValue defaultValue) 297return PointsToAbstractValue.Create(location, mayBeNull: true); 344private protected override PointsToAbstractValue GetAbstractValueForImplicitWrappingTaskCreation(IOperation returnValueOperation, PointsToAbstractValue returnValue, PointsToAbstractValue implicitTaskPointsToValue) 462if (sourceAnalysisData.TryGetValue(key, out var existingPointsToValue)) 540if (!sourceAnalysisData.TryGetValue(analysisEntity, out var existingValue)) 545var newPointsToValue = nullState switch 551NullAbstractValue.Invalid => PointsToAbstractValue.Invalid, 610(AnalysisEntity? Instance, PointsToAbstractValue PointsToValue)? invocationInstance, 611(AnalysisEntity Instance, PointsToAbstractValue PointsToValue)? thisOrMeInstanceForCaller, 612ImmutableDictionary<IParameterSymbol, ArgumentInfo<PointsToAbstractValue>> argumentValuesMap, 613IDictionary<AnalysisEntity, PointsToAbstractValue>? pointsToValues, 634PointsToAbstractValue escapedInstancePointsToValue = GetPointsToAbstractValue(escapedInstance); 653PointsToAbstractValue escapedInstancePointsToValue) 674PointsToAbstractValue pointsToValueOfEscapedInstance) 678pointsToValueOfEscapedInstance == PointsToAbstractValue.NoLocation || 679pointsToValueOfEscapedInstance == PointsToAbstractValue.NullLocation) 693var pointsToValueOfEscapedChild = GetAbstractValue(childEntity); 697if (TryGetTaskWrappedValue(pointsToValueOfEscapedInstance, out var wrappedValue)) 703private void HandleEscapingLocations(PointsToAbstractValue pointsToValueOfEscapedInstance, ImmutableHashSet<AbstractLocation>.Builder builder) 730protected override void SetAbstractValueForAssignment(IOperation target, IOperation? assignedValueOperation, PointsToAbstractValue assignedValue, bool mayBeAssignment = false) 740protected override void SetAbstractValueForArrayElementInitializer(IArrayCreationOperation arrayCreation, ImmutableArray<AbstractIndex> indices, ITypeSymbol elementType, IOperation initializer, PointsToAbstractValue value) 751public override PointsToAbstractValue DefaultVisit(IOperation operation, object? argument) 763return PointsToAbstractValue.NullLocation; 767return PointsToAbstractValue.NoLocation; 772return PointsToAbstractValue.NoLocation; 778public override PointsToAbstractValue VisitIsType(IIsTypeOperation operation, object? argument) 781return PointsToAbstractValue.NoLocation; 784public override PointsToAbstractValue VisitInstanceReference(IInstanceReferenceOperation operation, object? argument) 788var value = currentInstanceOperation != null ? 795private PointsToAbstractValue VisitTypeCreationWithArgumentsAndInitializer<TOperation>( 798Func<TOperation, object?, PointsToAbstractValue?> baseVisit) 802var pointsToAbstractValue = PointsToAbstractValue.Create(location, mayBeNull: false); 810public override PointsToAbstractValue VisitObjectCreation(IObjectCreationOperation operation, object? argument) 815public override PointsToAbstractValue VisitDynamicObjectCreation(IDynamicObjectCreationOperation operation, object? argument) 820public override PointsToAbstractValue VisitAnonymousObjectCreation(IAnonymousObjectCreationOperation operation, object? argument) 825public override PointsToAbstractValue VisitReDimClause(IReDimClauseOperation operation, object? argument) 833var pointsToAbstractValue = PointsToAbstractValue.Create(location, mayBeNull: false); 841public override PointsToAbstractValue VisitTuple(ITupleOperation operation, object? argument) 843PointsToAbstractValue pointsToAbstractValue; 847pointsToAbstractValue = PointsToAbstractValue.Create(location, mayBeNull: false); 851pointsToAbstractValue = PointsToAbstractValue.Unknown; 859public override PointsToAbstractValue VisitDelegateCreation(IDelegateCreationOperation operation, object? argument) 863return PointsToAbstractValue.Unknown; 866return PointsToAbstractValue.Create(location, mayBeNull: false); 869public override PointsToAbstractValue VisitTypeParameterObjectCreation(ITypeParameterObjectCreationOperation operation, object? argument) 874public override PointsToAbstractValue VisitArrayInitializer(IArrayInitializerOperation operation, object? argument) 884public override PointsToAbstractValue VisitArrayCreation(IArrayCreationOperation operation, object? argument) 886var pointsToAbstractValue = operation.Type != null 887? PointsToAbstractValue.Create(AbstractLocation.CreateAllocationLocation(operation, operation.Type, DataFlowAnalysisContext), mayBeNull: false) 888: PointsToAbstractValue.Unknown; 892var initializerValue = Visit(operation.Initializer, argument); 897public override PointsToAbstractValue VisitInterpolatedString(IInterpolatedStringOperation operation, object? argument) 900return PointsToAbstractValue.NoLocation; 903public override PointsToAbstractValue VisitBinaryOperatorCore(IBinaryOperation operation, object? argument) 906return PointsToAbstractValue.Unknown; 909public override PointsToAbstractValue VisitSizeOf(ISizeOfOperation operation, object? argument) 912return PointsToAbstractValue.NoLocation; 915public override PointsToAbstractValue VisitTypeOf(ITypeOfOperation operation, object? argument) 918return PointsToAbstractValue.NoLocation; 921private PointsToAbstractValue VisitInvocationCommon(IOperation operation, IOperation? instance) 931var pointsToAbstractValue = PointsToAbstractValue.Create(location, mayBeNull: true); 936return PointsToAbstractValue.NoLocation; 940public override PointsToAbstractValue VisitInvocation_NonLambdaOrDelegateOrLocalFunction( 946PointsToAbstractValue defaultValue) 960var value = VisitInvocationCommon(originalOperation, visitedInstance); 1026public override PointsToAbstractValue VisitInvocation_LocalFunction( 1030PointsToAbstractValue defaultValue) 1036public override PointsToAbstractValue VisitInvocation_Lambda( 1040PointsToAbstractValue defaultValue) 1046public override PointsToAbstractValue VisitDynamicInvocation(IDynamicInvocationOperation operation, object? argument) 1068private PointsToAbstractValue GetValueBasedOnInstanceOrReferenceValue(IOperation? referenceOrInstance, IOperation operation, PointsToAbstractValue defaultValue) 1077NullAbstractValue.Invalid => PointsToAbstractValue.Invalid, 1083public override PointsToAbstractValue VisitFieldReference(IFieldReferenceOperation operation, object? argument) 1085var value = base.VisitFieldReference(operation, argument); 1097public override PointsToAbstractValue VisitPropertyReference(IPropertyReferenceOperation operation, object? argument) 1099var value = base.VisitPropertyReference(operation, argument); 1111public override PointsToAbstractValue VisitDynamicMemberReference(IDynamicMemberReferenceOperation operation, object? argument) 1113var value = base.VisitDynamicMemberReference(operation, argument); 1117public override PointsToAbstractValue VisitMethodReference(IMethodReferenceOperation operation, object? argument) 1119var value = base.VisitMethodReference(operation, argument); 1123public override PointsToAbstractValue VisitEventReference(IEventReferenceOperation operation, object? argument) 1125var value = base.VisitEventReference(operation, argument); 1129public override PointsToAbstractValue VisitArrayElementReference(IArrayElementReferenceOperation operation, object? argument) 1131var value = base.VisitArrayElementReference(operation, argument); 1135public override PointsToAbstractValue VisitDynamicIndexerAccess(IDynamicIndexerAccessOperation operation, object? argument) 1137var value = base.VisitDynamicIndexerAccess(operation, argument)!; 1141public override PointsToAbstractValue VisitConversion(IConversionOperation operation, object? argument) 1143var value = base.VisitConversion(operation, argument); 1169public override PointsToAbstractValue GetAssignedValueForPattern(IIsPatternOperation operation, PointsToAbstractValue operandValue) 1171var value = base.GetAssignedValueForPattern(operation, operandValue); 1191private static PointsToAbstractValue InferConversionCommon(ConversionInference inference, PointsToAbstractValue operandValue) 1207private PointsToAbstractValue HandleBoxingUnboxing( 1208PointsToAbstractValue value, 1216return PointsToAbstractValue.Create(location, mayBeNull: false); 1220return PointsToAbstractValue.NoLocation; 1228public override PointsToAbstractValue VisitFlowCapture(IFlowCaptureOperation operation, object? argument) 1230var value = base.VisitFlowCapture(operation, argument); 1234value = PointsToAbstractValue.Create(operation.Value); 1241public override PointsToAbstractValue VisitFlowCaptureReference(IFlowCaptureReferenceOperation operation, object? argument) 1243var value = base.VisitFlowCaptureReference(operation, argument); 1253public override PointsToAbstractValue ComputeValueForCompoundAssignment(ICompoundAssignmentOperation operation, PointsToAbstractValue targetValue, PointsToAbstractValue assignedValue, ITypeSymbol? targetType, ITypeSymbol? assignedValueType) 1264protected override PointsToAbstractValue VisitAssignmentOperation(IAssignmentOperation operation, object? argument) 1266var value = base.VisitAssignmentOperation(operation, argument); 1271public override PointsToAbstractValue VisitDeclarationExpression(IDeclarationExpressionOperation operation, object? argument) 1276public override PointsToAbstractValue VisitCaughtException(ICaughtExceptionOperation operation, object? argument) 1279return PointsToAbstractValue.UnknownNotNull;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysisContext.cs (5)
15using InterproceduralPointsToAnalysisData = InterproceduralAnalysisData<PointsToAnalysisData, PointsToAnalysisContext, PointsToAbstractValue>; 21public sealed class PointsToAnalysisContext : AbstractDataFlowAnalysisContext<PointsToAnalysisData, PointsToAnalysisContext, PointsToAnalysisResult, PointsToAbstractValue> 24AbstractValueDomain<PointsToAbstractValue> valueDomain, 50AbstractValueDomain<PointsToAbstractValue> valueDomain, 89protected override bool ComputeEqualsByHashCodeParts(AbstractDataFlowAnalysisContext<PointsToAnalysisData, PointsToAnalysisContext, PointsToAnalysisResult, PointsToAbstractValue> obj)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysisData.cs (19)
11using CorePointsToAnalysisData = DictionaryAnalysisData<AnalysisEntity, PointsToAbstractValue>; 18public sealed class PointsToAnalysisData : AnalysisEntityBasedPredicateAnalysisData<PointsToAbstractValue> 27internal PointsToAnalysisData(IDictionary<AnalysisEntity, PointsToAbstractValue> fromData, Func<ITypeSymbol?, bool> isDisposable) 37PredicatedAnalysisData<AnalysisEntity, PointsToAbstractValue> predicatedData1, 38PredicatedAnalysisData<AnalysisEntity, PointsToAbstractValue> predicatedData2, 40MapAbstractDomain<AnalysisEntity, PointsToAbstractValue> coreDataAnalysisDomain, 58private PointsToAnalysisData(PointsToAnalysisData data1, PointsToAnalysisData data2, MapAbstractDomain<AnalysisEntity, PointsToAbstractValue> coreDataAnalysisDomain) 68protected override AbstractValueDomain<PointsToAbstractValue> ValueDomain => PointsToAnalysis.ValueDomainInstance; 69public override AnalysisEntityBasedPredicateAnalysisData<PointsToAbstractValue> Clone() => new PointsToAnalysisData(this); 71public override int Compare(AnalysisEntityBasedPredicateAnalysisData<PointsToAbstractValue> other, MapAbstractDomain<AnalysisEntity, PointsToAbstractValue> coreDataAnalysisDomain) 74public override AnalysisEntityBasedPredicateAnalysisData<PointsToAbstractValue> WithMergedData(AnalysisEntityBasedPredicateAnalysisData<PointsToAbstractValue> data, MapAbstractDomain<AnalysisEntity, PointsToAbstractValue> coreDataAnalysisDomain) 82public override void SetAbstractValue(AnalysisEntity key, PointsToAbstractValue value) 88public override void Reset(Func<AnalysisEntity, PointsToAbstractValue, PointsToAbstractValue> getResetValue) 122internal static void AssertValidPointsToAnalysisData(IDictionary<AnalysisEntity, PointsToAbstractValue> map, Func<ITypeSymbol?, bool> isDisposable) 138PointsToAbstractValue value,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysisKind.cs (2)
19/// Partial analysis that tracks <see cref="PointsToAbstractValue"/> for <see cref="AnalysisEntity"/> 25/// Complete analysis that tracks <see cref="PointsToAbstractValue"/> for all <see cref="AnalysisEntity"/>.
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysisResult.cs (4)
12public sealed class PointsToAnalysisResult : DataFlowAnalysisResult<PointsToBlockAnalysisResult, PointsToAbstractValue> 18private readonly ImmutableHashSet<PointsToAbstractValue> _trackedPointsToValues; 21DataFlowAnalysisResult<PointsToBlockAnalysisResult, PointsToAbstractValue> corePointsToAnalysisResult, 61internal bool IsTrackedPointsToValue(PointsToAbstractValue value)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToBlockAnalysisResult.cs (2)
18Data = blockAnalysisData?.CoreAnalysisData.ToImmutableDictionary() ?? ImmutableDictionary<AnalysisEntity, PointsToAbstractValue>.Empty; 22public ImmutableDictionary<AnalysisEntity, PointsToAbstractValue> Data { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\TrackedEntitiesBuilder.cs (8)
14/// Stores all the <see cref="AnalysisEntity"/>s and <see cref="PointsToAbstractValue"/>s that got tracked during points to analysis 25/// Stores all the tracked <see cref="PointsToAbstractValue"/> that some entity from <see cref="AllEntities"/> 29private PooledHashSet<PointsToAbstractValue> PointsToValues { get; } 37PointsToValues = PooledHashSet<PointsToAbstractValue>.GetInstance(); 48public void AddEntityAndPointsToValue(AnalysisEntity analysisEntity, PointsToAbstractValue value) 56public void AddTrackedPointsToValue(PointsToAbstractValue value) 62public bool IsTrackedPointsToValue(PointsToAbstractValue value) 65public (ImmutableHashSet<AnalysisEntity>, ImmutableHashSet<PointsToAbstractValue>) ToImmutable()
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\ConstructorMapper.cs (4)
26/// <param name="argumentPointsToAbstractValues"><see cref="PointsToAbstractValue"/>s for the constructor's arguments.</param> 31IReadOnlyList<PointsToAbstractValue> argumentPointsToAbstractValues); 37/// <param name="argumentPointsToAbstractValues"><see cref="PointsToAbstractValue"/>s for the constructor's arguments.</param> 41IReadOnlyList<PointsToAbstractValue> argumentPointsToAbstractValues);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertyMapper.cs (4)
26/// Mapping from <see cref="PointsToAbstractValue"/> to a <see cref="PropertySetAbstractValueKind"/> 28/// <param name="pointsToAbstractValue">Property's assigned value's <see cref="PointsToAbstractValue"/>.</param> 30public delegate PropertySetAbstractValueKind PointsToAbstractValueCallback(PointsToAbstractValue pointsToAbstractValue); 111/// Callback for mapping from <see cref="PointsToAbstractValue"/> to a <see cref="PropertySetAbstractValueKind"/>, or null.
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (9)
127protected override void SetValueForParameterPointsToLocationOnEntry(IParameterSymbol parameter, PointsToAbstractValue pointsToAbstractValue) 162using var _ = ArrayBuilder<PointsToAbstractValue>.GetInstance(out var builder); 174using var _1 = ArrayBuilder<PointsToAbstractValue>.GetInstance(out var pointsToBuilder); 191PointsToAbstractValue pointsToAbstractValue = this.GetPointsToAbstractValue(operation); 244PointsToAbstractValue pointsToAbstractValue = this.GetPointsToAbstractValue(operation.Value); 311PointsToAbstractValue pointsToAbstractValue = this.GetPointsToAbstractValue(propertyReferenceOperation.Instance); 361kvp.Key, out var pointsToAbstractValue)) 603PointsToAbstractValue pointsToAbstractValue = this.GetPointsToAbstractValue(propertySetInstance); 710PointsToAbstractValue lValuePointsToAbstractValue = this.GetPointsToAbstractValue(flowCaptureReferenceOperation);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetCallbacks.cs (1)
24public static PropertySetAbstractValueKind FlagIfNull(PointsToAbstractValue pointsToAbstractValue)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\SourceInfo.cs (2)
14internal delegate bool PointsToCheck(ImmutableArray<PointsToAbstractValue> pointsTos); 15internal delegate bool ValueContentCheck(ImmutableArray<PointsToAbstractValue> pointsTos, ImmutableArray<ValueContentAbstractValue> valueContents);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocation.cs (3)
179var pointsToValue = pointsToAnalysisResult[operation]; 182SyntaxNode? TryGetSyntaxNodeToReportDiagnosticForPointsValue(PointsToAbstractValue pointsToValue, IOperation operation) 193pointsToAnalysisResult.TaskWrappedValuesMap.TryGetValue(pointsToValue, out var wrappedValue))
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocationDataFlowOperationVisitor.cs (13)
30protected void SetAbstractValue(PointsToAbstractValue instanceLocation, TAbstractAnalysisValue value) 57protected override void ResetReferenceTypeInstanceAnalysisData(PointsToAbstractValue pointsToAbstractValue) 61protected virtual TAbstractAnalysisValue HandleInstanceCreation(IOperation creation, PointsToAbstractValue instanceLocation, TAbstractAnalysisValue defaultValue) 73PointsToAbstractValue instanceLocation = GetPointsToAbstractValue(operation); 91protected abstract void SetValueForParameterPointsToLocationOnEntry(IParameterSymbol parameter, PointsToAbstractValue pointsToAbstractValue); 101TryGetPointsToAbstractValueAtEntryBlockEnd(analysisEntity, out var pointsToAbstractValue)) 148PointsToAbstractValue instanceLocation = GetPointsToAbstractValue(operation); 155PointsToAbstractValue instanceLocation = GetPointsToAbstractValue(operation); 162PointsToAbstractValue instanceLocation = GetPointsToAbstractValue(operation); 169PointsToAbstractValue instanceLocation = GetPointsToAbstractValue(operation); 176PointsToAbstractValue instanceLocation = GetPointsToAbstractValue(operation); 183PointsToAbstractValue instanceLocation = GetPointsToAbstractValue(operation); 190PointsToAbstractValue instanceLocation = GetPointsToAbstractValue(operation);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntity.cs (11)
43PointsToAbstractValue location, 69private AnalysisEntity(ISymbol? symbol, ImmutableArray<AbstractIndex> indices, PointsToAbstractValue location, ITypeSymbol type, AnalysisEntity? parent, AnalysisEntity? entityForInstanceLocation) 75private AnalysisEntity(IInstanceReferenceOperation instanceReferenceOperation, PointsToAbstractValue location) 82private AnalysisEntity(InterproceduralCaptureId captureId, ITypeSymbol capturedType, PointsToAbstractValue location) 88private AnalysisEntity(INamedTypeSymbol namedType, PointsToAbstractValue location, bool isThisOrMeInstance) 95ITypeSymbol type, PointsToAbstractValue instanceLocation, AnalysisEntity? parent, AnalysisEntity? entityForInstanceLocation) 104public static AnalysisEntity Create(IInstanceReferenceOperation instanceReferenceOperation, PointsToAbstractValue instanceLocation) 112PointsToAbstractValue instanceLocation) 117public static AnalysisEntity CreateThisOrMeInstance(INamedTypeSymbol typeSymbol, PointsToAbstractValue instanceLocation) 131var mergedInstanceLocation = PointsToAnalysis.PointsToAnalysis.ValueDomainInstance.Merge(InstanceLocation, analysisEntityToMerge.InstanceLocation); 200public PointsToAbstractValue InstanceLocation { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityDataFlowOperationVisitor.cs (17)
335protected override void ResetReferenceTypeInstanceAnalysisData(PointsToAbstractValue pointsToAbstractValue) 380PointsToAbstractValue newValueLocation = GetPointsToAbstractValue(assignedValueOperation); 428protected ImmutableHashSet<AnalysisEntity> GetChildAnalysisEntities(PointsToAbstractValue? instanceLocation) 433private ImmutableHashSet<AnalysisEntity> GetChildAnalysisEntities(PointsToAbstractValue? instanceLocation, Func<AnalysisEntity, bool>? predicate) 446protected static bool IsChildAnalysisEntity(AnalysisEntity entity, PointsToAbstractValue instanceLocation) 448return instanceLocation != PointsToAbstractValue.NoLocation && 466(AnalysisEntity? Instance, PointsToAbstractValue PointsToValue)? invocationInstance, 467(AnalysisEntity Instance, PointsToAbstractValue PointsToValue)? thisOrMeInstanceForCaller, 469IDictionary<AnalysisEntity, PointsToAbstractValue>? pointsToValues, 493using var _4 = PooledHashSet<PointsToAbstractValue>.GetInstance(out var worklistPointsToValues); 494using var _5 = PooledHashSet<PointsToAbstractValue>.GetInstance(out var processedPointsToValues); 569foreach (var pointsToValue in worklistPointsToValues) 611if (pointsToValues.TryGetValue(analysisEntity, out var pointsToValue)) 622void AddWorklistPointsToValue(PointsToAbstractValue pointsToValue) 631static bool ShouldProcessPointsToValue(PointsToAbstractValue pointsToValue) 633pointsToValue != PointsToAbstractValue.NoLocation; 754var assignedInstance = GetPointsToAbstractValue(operation.Value);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityFactory.cs (20)
34private readonly Dictionary<ISymbol, PointsToAbstractValue> _instanceLocationsForSymbols; 35private readonly Func<IOperation, PointsToAbstractValue>? _getPointsToAbstractValue; 46Func<IOperation, PointsToAbstractValue>? getPointsToAbstractValue, 53ImmutableDictionary<ISymbol, PointsToAbstractValue>? interproceduralCapturedVariablesMap, 85var instanceLocation = PointsToAbstractValue.Create(thisOrMeInstanceLocation, mayBeNull: false); 185var instanceLocation = _getPointsToAbstractValue(instanceReference); 345PointsToAbstractValue instanceLocation = _getPointsToAbstractValue(tupleOperation); 429var instanceLocation = PointsToAbstractValue.Create( 454PointsToAbstractValue? instanceLocation = null; 470var instancePointsToValue = _getPointsToAbstractValue!(instance); 471if (!ReferenceEquals(instancePointsToValue, PointsToAbstractValue.NoLocation)) 502NullAbstractValue.Null => PointsToAbstractValue.UnknownNull, 503NullAbstractValue.NotNull => PointsToAbstractValue.UnknownNotNull, 504_ => PointsToAbstractValue.Unknown, 515private PointsToAbstractValue? EnsureLocation(PointsToAbstractValue? instanceLocation, ISymbol? symbol, AnalysisEntity? parent) 544instanceLocation = PointsToAbstractValue.Create(location, mayBeNull: false); 554private AnalysisEntity Create(ISymbol? symbol, ImmutableArray<AbstractIndex> indices, ITypeSymbol type, PointsToAbstractValue? instanceLocation, AnalysisEntity? parent, AnalysisEntity? entityForInstanceLocation)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityMapAbstractDomain.cs (3)
19private static readonly Func<PointsToAbstractValue, bool> s_defaultIsTrackedPointsToValue = new(_ => true); 22private readonly Func<PointsToAbstractValue, bool> _isTrackedPointsToValue; 27Func<PointsToAbstractValue, bool> isTrackedPointsToValue)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\ArgumentInfo.cs (2)
18PointsToAbstractValue instanceLocation, 30public PointsToAbstractValue InstanceLocation { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysisResult.cs (2)
46Dictionary<PointsToAbstractValue, TAbstractAnalysisValue>? taskWrappedValuesMap, 223internal Dictionary<PointsToAbstractValue, TAbstractAnalysisValue>? TaskWrappedValuesMap { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysisResultBuilder.cs (1)
57Dictionary<PointsToAbstractValue, TAbstractAnalysisValue>? taskWrappedValuesMap,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (42)
161internal Dictionary<PointsToAbstractValue, TAbstractAnalysisValue>? TaskWrappedValuesMap { get; private set; } 197protected PointsToAbstractValue ThisOrMePointsToAbstractValue { get; } 401private static PointsToAbstractValue GetThisOrMeInstancePointsToValue(TAnalysisContext analysisContext) 408return PointsToAbstractValue.Create(thisOrMeLocation, mayBeNull: false); 412return PointsToAbstractValue.NoLocation; 808PointsToAbstractValue implicitTaskPointsToValue) 820_ = GetAbstractValueForReturnOperation(returnValue, out var implicitTaskPointsToValueOpt); 829private TAbstractAnalysisValue GetAbstractValueForReturnOperation(IOperation returnValueOperation, out PointsToAbstractValue? implicitTaskPointsToValue) 843implicitTaskPointsToValue = PointsToAbstractValue.Create(location, mayBeNull: false); 1103protected virtual PointsToAbstractValue GetPointsToAbstractValue(IOperation operation) 1107return PointsToAbstractValue.Unknown; 1152protected bool TryGetPointsToAbstractValueAtEntryBlockEnd(AnalysisEntity analysisEntity, [NotNullWhen(true)] out PointsToAbstractValue? pointsToAbstractValue) 1165if (inputData.TryGetValue(analysisEntity, out PointsToAbstractValue? pointsToAbstractValue)) 1179if (inputData == null || !inputData.TryGetValue(analysisEntity, out PointsToAbstractValue? pointsToAbstractValue)) 1189private protected void SetTaskWrappedValue(PointsToAbstractValue pointsToValueForTask, TAbstractAnalysisValue wrappedValue) 1200private protected bool TryGetTaskWrappedValue(PointsToAbstractValue pointsToAbstractValue, out TAbstractAnalysisValue wrappedValue) 1262var pointsToValue = GetPointsToAbstractValue(sourceOperand); 1953var pointsToValue = GetPointsToAbstractValue(flowCaptureReference); 2022protected abstract void ResetReferenceTypeInstanceAnalysisData(PointsToAbstractValue pointsToAbstractValue); 2048var pointsToValue = GetPointsToAbstractValue(operation); 2128(AnalysisEntity? Instance, PointsToAbstractValue PointsToValue)? invocationInstance, 2129(AnalysisEntity Instance, PointsToAbstractValue PointsToValue)? thisOrMeInstanceForCaller, 2131IDictionary<AnalysisEntity, PointsToAbstractValue>? pointsToValues, 2321if (analysisResult.TaskWrappedValuesMap is Dictionary<PointsToAbstractValue, TAbstractAnalysisValue> taskWrappedValuesMap) 2421var pointsToValue = GetPointsToAbstractValue(argument); 2459(AnalysisEntity?, PointsToAbstractValue)? GetInvocationInstance() 2472var instancePointsToValue = GetPointsToAbstractValue(instanceReceiver); 2477instancePointsToValue = PointsToAbstractValue.Unknown; 2489var instancePointsToValue = GetPointsToAbstractValue(originalOperation); 2496(AnalysisEntity, PointsToAbstractValue)? GetThisOrMeInstance() 2499ImmutableDictionary<IParameterSymbol, ArgumentInfo<TAbstractAnalysisValue>> GetArgumentValues(ref (AnalysisEntity? entity, PointsToAbstractValue pointsToValue)? invocationInstance) 2509instanceLocation: invocationInstance?.pointsToValue ?? PointsToAbstractValue.Unknown, 2521PointsToAbstractValue instanceLocation; 2594private ImmutableDictionary<ISymbol, PointsToAbstractValue> GetCapturedVariablesMap( 2603return ImmutableDictionary<ISymbol, PointsToAbstractValue>.Empty; 2609return ImmutableDictionary<ISymbol, PointsToAbstractValue>.Empty; 2613var builder = ImmutableDictionary.CreateBuilder<ISymbol, PointsToAbstractValue>(); 3204var pointsToValueOfTask = GetPointsToAbstractValue(operation); 3282private protected bool MarkEscapedLambdasAndLocalFunctions(PointsToAbstractValue pointsToAbstractValue) 3311PointsToAbstractValue invocationTarget, 3324PointsToAbstractValue? invocationTarget, 3868var pointsToValue = GetPointsToAbstractValue(operation.Operation);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\InterproceduralAnalysisData.cs (9)
31(AnalysisEntity?, PointsToAbstractValue)? invocationInstance, 32(AnalysisEntity, PointsToAbstractValue)? thisOrMeInstanceForCaller, 34ImmutableDictionary<ISymbol, PointsToAbstractValue> capturedVariablesMap, 58public (AnalysisEntity? Instance, PointsToAbstractValue PointsToValue)? InvocationInstance { get; } 59public (AnalysisEntity Instance, PointsToAbstractValue PointsToValue)? ThisOrMeInstanceForCaller { get; } 61public ImmutableDictionary<ISymbol, PointsToAbstractValue> CapturedVariablesMap { get; } 96(AnalysisEntity? Instance, PointsToAbstractValue PointsToValue)? instanceAndPointsToValue, 111(AnalysisEntity? Instance, PointsToAbstractValue PointsToValue)? left, 112(AnalysisEntity? Instance, PointsToAbstractValue PointsToValue)? right)