3 instantiations of ArrayValue
illink (3)
Linker.Dataflow\ArrayValue.cs (3)
22
result = MultiValueLattice.Meet(result, new MultiValue(new
ArrayValue
(sizeValue, elementType)));
30
return new
ArrayValue
(new ConstIntValue(size), elementType);
86
var newValue = new
ArrayValue
(Size.DeepCopy(), ElementType);
22 references to ArrayValue
illink (22)
Linker.Dataflow\ArrayValue.cs (4)
28
public static
ArrayValue
Create(int size, TypeReference elementType)
63
public bool Equals(
ArrayValue
? otherArr)
86
var
newValue = new ArrayValue(Size.DeepCopy(), ElementType);
95
System.Diagnostics.Debug.Assert(v is not
ArrayValue
);
Linker.Dataflow\FlowAnnotations.cs (1)
829
"EmptyTypes" when field.DeclaringType.IsTypeOf(WellKnownType.System_Type) =>
ArrayValue
.Create(0, field.DeclaringType),
Linker.Dataflow\HandleCallAction.cs (1)
81
AddReturnValue(
ArrayValue
.Create(0, ((GenericInstanceMethod)calledMethod.Method).GenericArguments[0]));
Linker.Dataflow\MethodBodyScanner.cs (6)
540
currentStack.Push(new StackSlot(
ArrayValue
.Create(count.Value, (TypeReference)operation.Operand)));
1188
if (v is
ArrayValue
arr)
1211
private static void MarkArrayValuesAsUnknown(
ArrayValue
arrValue, int curBasicBlock)
1234
if (array is
ArrayValue
arrValue)
1243
StoreMethodLocalValue(arrValue.IndexValues,
ArrayValue
.SanitizeArrayElementValue(valueToStore.Value), indexToStoreAtInt.Value, curBasicBlock, MaxTrackedArrayValues);
1277
if (arrayToLoadFrom.Value.AsSingleValue() is not
ArrayValue
arr)
src\tools\illink\src\ILLink.Shared\TrimAnalysis\ArrayValue.cs (2)
39
if (v is
ArrayValue
)
46
return new(input.AsEnumerable().Select(v => v is
ArrayValue
? UnknownValue.Instance : v));
src\tools\illink\src\ILLink.Shared\TrimAnalysis\HandleCallAction.cs (8)
960
bool hasTypeArguments = (argumentValues[2].AsSingleValue() as
ArrayValue
)?.Size.AsConstInt() != 0;
1121
if ((argumentValue as
ArrayValue
)?.TryGetValueByIndex(0, out var underlyingMultiValue) == true)
1300
1 => (argumentValues[0].AsSingleValue() as
ArrayValue
)?.Size.AsConstInt(),
1301
2 => (argumentValues[1].AsSingleValue() as
ArrayValue
)?.Size.AsConstInt(),
1302
4 => (argumentValues[2].AsSingleValue() as
ArrayValue
)?.Size.AsConstInt(),
1303
5 => (argumentValues[3].AsSingleValue() as
ArrayValue
)?.Size.AsConstInt(),
1407
if (argumentValues[argsParam].AsSingleValue() is
ArrayValue
arrayValue &&
1592
if (typesValue is not
ArrayValue
array)