4 writes to _values
ILLink.RoslynAnalyzer (4)
src\tools\illink\src\ILLink.Shared\DataFlow\ValueSet.cs (4)
152
public ValueSet (TValue value) =>
_values
= value;
154
public ValueSet (IEnumerable<TValue> values) =>
_values
= new EnumerableValues (values);
156
private ValueSet (EnumerableValues values) =>
_values
= values;
158
private ValueSet (ValueSetSentinel sentinel) =>
_values
= sentinel;
45 references to _values
ILLink.RoslynAnalyzer (45)
src\tools\illink\src\ILLink.Shared\DataFlow\ValueSet.cs (45)
163
public bool HasMultipleValues =>
_values
is EnumerableValues;
169
if (
_values
== null)
170
return other.
_values
== null;
171
if (other.
_values
== null)
174
if (
_values
is EnumerableValues enumerableValues) {
175
if (other.
_values
is EnumerableValues otherValuesSet) {
177
} else if (other.
_values
is TValue otherValue) {
180
Debug.Assert (other.
_values
== UnknownSentinel);
183
} else if (
_values
is TValue value) {
184
if (other.
_values
is EnumerableValues otherEnumerableValues) {
186
} else if (other.
_values
is TValue otherValue) {
189
Debug.Assert (other.
_values
== UnknownSentinel);
193
Debug.Assert (
_values
== UnknownSentinel);
194
return other.
_values
== UnknownSentinel;
203
if (
_values
== null)
206
if (
_values
is EnumerableValues enumerableValues)
209
return
_values
.GetHashCode ();
212
public Enumerable GetKnownValues () => new Enumerable (
_values
== UnknownSentinel ? null :
_values
);
217
if (
_values
is null)
219
if (
_values
is EnumerableValues valuesSet)
221
if (
_values
is TValue thisValue)
223
Debug.Assert (
_values
== UnknownSentinel);
229
if (left.
_values
== null)
231
if (right.
_values
== null)
234
if (left.
_values
== UnknownSentinel || right.
_values
== UnknownSentinel)
237
if (left.
_values
is not EnumerableValues && right.Contains ((TValue) left.
_values
))
240
if (right.
_values
is not EnumerableValues && left.Contains ((TValue) right.
_values
))
254
if (left.
_values
== null || right.
_values
== null)
257
if (left.
_values
== UnknownSentinel)
260
if (right.
_values
== UnknownSentinel)
263
if (left.
_values
is not EnumerableValues)
264
return right.Contains ((TValue) left.
_values
) ? left.DeepCopy () : Empty;
266
if (right.
_values
is not EnumerableValues)
267
return left.Contains ((TValue) right.
_values
) ? right.DeepCopy () : Empty;
274
public bool IsEmpty () =>
_values
== null;
276
public bool IsUnknown () =>
_values
== UnknownSentinel;
293
if (
_values
is null)
296
if (
_values
== UnknownSentinel)
300
if (
_values
is not EnumerableValues) {
301
if (
_values
is IDeepCopyValue<TValue> copyValue)