52 references to ValueUsageInfo
ILLink.RoslynAnalyzer (52)
DataFlow\LocalDataFlowVisitor.cs (15)
197=> ProcessBinderCall(operation, operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Write) ? "SetMember" : "GetMember", state); 200=> ProcessBinderCall(operation, operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Write) ? "SetIndex" : "GetIndex", state); 422Debug.Assert(flowCaptureReference.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Write)); 482Debug.Assert(operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Read), 502Debug.Assert(operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Write), 504Debug.Assert(operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Reference), 509if (operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Write)) 642if (operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Write)) 668Debug.Assert(operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Read)); 669if (!operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Read)) 680if (operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Write)) 683Debug.Assert(operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Reference)); 703if (!operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Read)) 718Debug.Assert(operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Read)); 719if (!operation.GetValueUsageInfo(OwningSymbol).HasFlag(ValueUsageInfo.Read))
IOperationExtensions.cs (29)
14/// Returns the <see cref="ValueUsageInfo"/> for the given operation. 17public static ValueUsageInfo GetValueUsageInfo(this IOperation operation, ISymbol containingSymbol) 43return ValueUsageInfo.Write; 64return ValueUsageInfo.Write; 75return ValueUsageInfo.Write; 85return ValueUsageInfo.Write; 93return ValueUsageInfo.Write; 101return ValueUsageInfo.Write; 107return ValueUsageInfo.ReadWrite; 115? ValueUsageInfo.ReadWrite 116: ValueUsageInfo.Write; 120return ValueUsageInfo.ReadWrite; 128~(ValueUsageInfo.Write | ValueUsageInfo.Reference); 134return ValueUsageInfo.Name; 141return ValueUsageInfo.ReadableReference; 144return ValueUsageInfo.WritableReference; 147return ValueUsageInfo.ReadableWritableReference; 150return ValueUsageInfo.Read; 157RefKind.RefReadOnly => ValueUsageInfo.ReadableReference, 158RefKind.Ref => ValueUsageInfo.ReadableWritableReference, 159_ => ValueUsageInfo.Read, 171return ValueUsageInfo.Read; 178? ValueUsageInfo.ReadWrite 179: ValueUsageInfo.Write; 187return ValueUsageInfo.Write; 196return ValueUsageInfo.ReadableWritableReference; 199return ValueUsageInfo.ReadableReference; 204return ValueUsageInfo.Read;
ValueUsageInfo.cs (8)
69public static bool IsReadFrom(this ValueUsageInfo valueUsageInfo) 70=> (valueUsageInfo & ValueUsageInfo.Read) != 0; 72public static bool IsWrittenTo(this ValueUsageInfo valueUsageInfo) 73=> (valueUsageInfo & ValueUsageInfo.Write) != 0; 75public static bool IsNameOnly(this ValueUsageInfo valueUsageInfo) 76=> (valueUsageInfo & ValueUsageInfo.Name) != 0; 78public static bool IsReference(this ValueUsageInfo valueUsageInfo) 79=> (valueUsageInfo & ValueUsageInfo.Reference) != 0;