4 writes to _values
ILLink.RoslynAnalyzer (4)
src\tools\illink\src\ILLink.Shared\DataFlow\ValueSet.cs (4)
156
public ValueSet(TValue value) =>
_values
= value;
158
public ValueSet(IEnumerable<TValue> values) =>
_values
= new EnumerableValues(values);
160
private ValueSet(EnumerableValues values) =>
_values
= values;
162
private ValueSet(ValueSetSentinel sentinel) =>
_values
= sentinel;
45 references to _values
ILLink.RoslynAnalyzer (45)
src\tools\illink\src\ILLink.Shared\DataFlow\ValueSet.cs (45)
167
public bool HasMultipleValues =>
_values
is EnumerableValues;
173
if (
_values
== null)
174
return other.
_values
== null;
175
if (other.
_values
== null)
178
if (
_values
is EnumerableValues enumerableValues)
180
if (other.
_values
is EnumerableValues otherValuesSet)
184
else if (other.
_values
is TValue otherValue)
190
Debug.Assert(other.
_values
== UnknownSentinel);
194
else if (
_values
is TValue value)
196
if (other.
_values
is EnumerableValues otherEnumerableValues)
200
else if (other.
_values
is TValue otherValue)
206
Debug.Assert(other.
_values
== UnknownSentinel);
212
Debug.Assert(
_values
== UnknownSentinel);
213
return other.
_values
== UnknownSentinel;
222
if (
_values
== null)
225
if (
_values
is EnumerableValues enumerableValues)
228
return
_values
.GetHashCode();
231
public Enumerable GetKnownValues() => new Enumerable(
_values
== UnknownSentinel ? null :
_values
);
236
if (
_values
is null)
238
if (
_values
is EnumerableValues valuesSet)
240
if (
_values
is TValue thisValue)
242
Debug.Assert(
_values
== UnknownSentinel);
248
if (left.
_values
== null)
250
if (right.
_values
== null)
253
if (left.
_values
== UnknownSentinel || right.
_values
== UnknownSentinel)
256
if (left.
_values
is not EnumerableValues && right.Contains((TValue)left.
_values
))
259
if (right.
_values
is not EnumerableValues && left.Contains((TValue)right.
_values
))
273
if (left.
_values
== null || right.
_values
== null)
276
if (left.
_values
== UnknownSentinel)
279
if (right.
_values
== UnknownSentinel)
282
if (left.
_values
is not EnumerableValues)
283
return right.Contains((TValue)left.
_values
) ? left.DeepCopy() : Empty;
285
if (right.
_values
is not EnumerableValues)
286
return left.Contains((TValue)right.
_values
) ? right.DeepCopy() : Empty;
293
public bool IsEmpty() =>
_values
== null;
295
public bool IsUnknown() =>
_values
== UnknownSentinel;
312
if (
_values
is null)
315
if (
_values
== UnknownSentinel)
319
if (
_values
is not EnumerableValues)
321
if (
_values
is IDeepCopyValue<TValue> copyValue)