52 references to ValueUsageInfo
ILLink.RoslynAnalyzer (52)
DataFlow\LocalDataFlowVisitor.cs (15)
193
=> ProcessBinderCall (operation, operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Write) ? "SetMember" : "GetMember", state);
196
=> ProcessBinderCall (operation, operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Write) ? "SetIndex" : "GetIndex", state);
398
Debug.Assert (flowCaptureReference.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Write));
453
Debug.Assert (operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Read),
472
Debug.Assert (operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Write),
474
Debug.Assert (operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Reference),
479
if (operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Write)) {
599
if (operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Write)) {
624
Debug.Assert (operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Read));
625
if (!operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Read))
636
if (operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Write)) {
638
Debug.Assert (operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Reference));
657
if (!operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Read))
672
Debug.Assert (operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Read));
673
if (!operation.GetValueUsageInfo (OwningSymbol).HasFlag (
ValueUsageInfo
.Read))
IOperationExtensions.cs (29)
14
/// Returns the <see cref="
ValueUsageInfo
"/> for the given operation.
17
public static
ValueUsageInfo
GetValueUsageInfo (this IOperation operation, ISymbol containingSymbol)
43
return
ValueUsageInfo
.Write;
60
return
ValueUsageInfo
.Write;
71
return
ValueUsageInfo
.Write;
81
return
ValueUsageInfo
.Write;
89
return
ValueUsageInfo
.Write;
97
return
ValueUsageInfo
.Write;
103
return
ValueUsageInfo
.ReadWrite;
110
?
ValueUsageInfo
.ReadWrite
111
:
ValueUsageInfo
.Write;
113
return
ValueUsageInfo
.ReadWrite;
119
~(
ValueUsageInfo
.Write |
ValueUsageInfo
.Reference);
123
return
ValueUsageInfo
.Name;
127
return
ValueUsageInfo
.ReadableReference;
130
return
ValueUsageInfo
.WritableReference;
133
return
ValueUsageInfo
.ReadableWritableReference;
136
return
ValueUsageInfo
.Read;
140
RefKind.RefReadOnly =>
ValueUsageInfo
.ReadableReference,
141
RefKind.Ref =>
ValueUsageInfo
.ReadableWritableReference,
142
_ =>
ValueUsageInfo
.Read,
149
return
ValueUsageInfo
.Read;
154
?
ValueUsageInfo
.ReadWrite
155
:
ValueUsageInfo
.Write;
159
return
ValueUsageInfo
.Write;
164
return
ValueUsageInfo
.ReadableWritableReference;
167
return
ValueUsageInfo
.ReadableReference;
172
return
ValueUsageInfo
.Read;
ValueUsageInfo.cs (8)
69
public static bool IsReadFrom (this
ValueUsageInfo
valueUsageInfo)
70
=> (valueUsageInfo &
ValueUsageInfo
.Read) != 0;
72
public static bool IsWrittenTo (this
ValueUsageInfo
valueUsageInfo)
73
=> (valueUsageInfo &
ValueUsageInfo
.Write) != 0;
75
public static bool IsNameOnly (this
ValueUsageInfo
valueUsageInfo)
76
=> (valueUsageInfo &
ValueUsageInfo
.Name) != 0;
78
public static bool IsReference (this
ValueUsageInfo
valueUsageInfo)
79
=> (valueUsageInfo &
ValueUsageInfo
.Reference) != 0;