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);
422
Debug.Assert(flowCaptureReference.GetValueUsageInfo(OwningSymbol).HasFlag(
ValueUsageInfo
.Write));
482
Debug.Assert(operation.GetValueUsageInfo(OwningSymbol).HasFlag(
ValueUsageInfo
.Read),
502
Debug.Assert(operation.GetValueUsageInfo(OwningSymbol).HasFlag(
ValueUsageInfo
.Write),
504
Debug.Assert(operation.GetValueUsageInfo(OwningSymbol).HasFlag(
ValueUsageInfo
.Reference),
509
if (operation.GetValueUsageInfo(OwningSymbol).HasFlag(
ValueUsageInfo
.Write))
642
if (operation.GetValueUsageInfo(OwningSymbol).HasFlag(
ValueUsageInfo
.Write))
668
Debug.Assert(operation.GetValueUsageInfo(OwningSymbol).HasFlag(
ValueUsageInfo
.Read));
669
if (!operation.GetValueUsageInfo(OwningSymbol).HasFlag(
ValueUsageInfo
.Read))
680
if (operation.GetValueUsageInfo(OwningSymbol).HasFlag(
ValueUsageInfo
.Write))
683
Debug.Assert(operation.GetValueUsageInfo(OwningSymbol).HasFlag(
ValueUsageInfo
.Reference));
703
if (!operation.GetValueUsageInfo(OwningSymbol).HasFlag(
ValueUsageInfo
.Read))
718
Debug.Assert(operation.GetValueUsageInfo(OwningSymbol).HasFlag(
ValueUsageInfo
.Read));
719
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;
64
return
ValueUsageInfo
.Write;
75
return
ValueUsageInfo
.Write;
85
return
ValueUsageInfo
.Write;
93
return
ValueUsageInfo
.Write;
101
return
ValueUsageInfo
.Write;
107
return
ValueUsageInfo
.ReadWrite;
115
?
ValueUsageInfo
.ReadWrite
116
:
ValueUsageInfo
.Write;
120
return
ValueUsageInfo
.ReadWrite;
128
~(
ValueUsageInfo
.Write |
ValueUsageInfo
.Reference);
134
return
ValueUsageInfo
.Name;
141
return
ValueUsageInfo
.ReadableReference;
144
return
ValueUsageInfo
.WritableReference;
147
return
ValueUsageInfo
.ReadableWritableReference;
150
return
ValueUsageInfo
.Read;
157
RefKind.RefReadOnly =>
ValueUsageInfo
.ReadableReference,
158
RefKind.Ref =>
ValueUsageInfo
.ReadableWritableReference,
159
_ =>
ValueUsageInfo
.Read,
171
return
ValueUsageInfo
.Read;
178
?
ValueUsageInfo
.ReadWrite
179
:
ValueUsageInfo
.Write;
187
return
ValueUsageInfo
.Write;
196
return
ValueUsageInfo
.ReadableWritableReference;
199
return
ValueUsageInfo
.ReadableReference;
204
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;