59 references to ValueUsageInfo
Microsoft.CodeAnalysis.Workspaces (59)
FindSymbols\FindReferences\Finders\AbstractReferenceFinder.cs (9)
659return SymbolUsageInfo.Create(ValueUsageInfo.WritableReference); 663return SymbolUsageInfo.Create(ValueUsageInfo.ReadableWritableReference); 667return SymbolUsageInfo.Create(ValueUsageInfo.ReadableReference); 671return SymbolUsageInfo.Create(ValueUsageInfo.Write); 684return SymbolUsageInfo.Create(ValueUsageInfo.Name); 689return SymbolUsageInfo.Create(ValueUsageInfo.Name); 720var valueUsageInfo = ValueUsageInfo.Read; 722valueUsageInfo |= ValueUsageInfo.Write;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs (32)
24/// Returns the <see cref="ValueUsageInfo"/> for the given operation. 34public static ValueUsageInfo GetValueUsageInfo(this IOperation operation, ISymbol containingSymbol) 62return ValueUsageInfo.Write; 79return ValueUsageInfo.Write; 90return ValueUsageInfo.Write; 100return ValueUsageInfo.Write; 108return ValueUsageInfo.Write; 116return ValueUsageInfo.Write; 122return ValueUsageInfo.ReadWrite; 127return ValueUsageInfo.Write; 134? ValueUsageInfo.ReadWrite 135: ValueUsageInfo.Write; 140return ValueUsageInfo.ReadableWritableReference; 144return ValueUsageInfo.ReadWrite; 148return ValueUsageInfo.ReadWrite; 156~(ValueUsageInfo.Write | ValueUsageInfo.Reference); 160return ValueUsageInfo.Name; 167return ValueUsageInfo.ReadableReference; 170return ValueUsageInfo.WritableReference; 173return ValueUsageInfo.ReadableWritableReference; 176return ValueUsageInfo.Read; 183RefKind.RefReadOnly => ValueUsageInfo.ReadableReference, 184RefKind.Ref => ValueUsageInfo.ReadableWritableReference, 185_ => ValueUsageInfo.Read, 197return ValueUsageInfo.Read; 204? ValueUsageInfo.ReadWrite 205: ValueUsageInfo.Write; 213return ValueUsageInfo.Write; 222return ValueUsageInfo.ReadableWritableReference; 225return ValueUsageInfo.ReadableReference; 230return ValueUsageInfo.Read;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SymbolUsageInfo.cs (5)
15/// For methods, fields, properties, events, locals and parameters, this corresponds to values from <see cref="ValueUsageInfo"/>. 20public static readonly SymbolUsageInfo None = Create(ValueUsageInfo.None); 23public ValueUsageInfo? ValueUsageInfoOpt { get; } 29public SymbolUsageInfo(ValueUsageInfo? valueUsageInfoOpt, TypeOrNamespaceUsageInfo? typeOrNamespaceUsageInfoOpt) 37public static SymbolUsageInfo Create(ValueUsageInfo valueUsageInfo)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\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;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (5)
93private void OnWriteReferenceFound(ISymbol symbol, IOperation operation, ValueUsageInfo valueUsageInfo) 96var isRef = valueUsageInfo == ValueUsageInfo.ReadableWritableReference; 111var valueUsageInfo = operation.GetValueUsageInfo(_currentContainingSymbol); 198OnWriteReferenceFound(symbolOpt, write, ValueUsageInfo.Write); 274OnWriteReferenceFound(operation.Symbol, operation, ValueUsageInfo.Write);