3 instantiations of ArrayValue
illink (3)
Linker.Dataflow\ArrayValue.cs (3)
23
result = MultiValueLattice.Meet(result, new MultiValue(new
ArrayValue
(sizeValue, elementType)));
31
return new
ArrayValue
(new ConstIntValue(size), elementType);
87
var newValue = new
ArrayValue
(Size.DeepCopy(), ElementType);
22 references to ArrayValue
illink (22)
Linker.Dataflow\ArrayValue.cs (4)
29
public static
ArrayValue
Create(int size, TypeReference elementType)
64
public bool Equals(
ArrayValue
? otherArr)
87
var
newValue = new ArrayValue(Size.DeepCopy(), ElementType);
96
System.Diagnostics.Debug.Assert(v is not
ArrayValue
);
Linker.Dataflow\FlowAnnotations.cs (1)
900
"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)
549
currentStack.Push(new StackSlot(
ArrayValue
.Create(count.Value, arrayElementType)));
1214
if (v is
ArrayValue
arr)
1237
private static void MarkArrayValuesAsUnknown(
ArrayValue
arrValue, int curBasicBlock)
1260
if (array is
ArrayValue
arrValue)
1269
StoreMethodLocalValue(arrValue.IndexValues,
ArrayValue
.SanitizeArrayElementValue(valueToStore.Value), indexToStoreAtInt.Value, curBasicBlock, MaxTrackedArrayValues);
1303
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)
961
bool hasTypeArguments = (argumentValues[2].AsSingleValue() as
ArrayValue
)?.Size.AsConstInt() != 0;
1123
if ((argumentValue as
ArrayValue
)?.TryGetValueByIndex(0, out var underlyingMultiValue) == true)
1302
1 => (argumentValues[0].AsSingleValue() as
ArrayValue
)?.Size.AsConstInt(),
1303
2 => (argumentValues[1].AsSingleValue() as
ArrayValue
)?.Size.AsConstInt(),
1304
4 => (argumentValues[2].AsSingleValue() as
ArrayValue
)?.Size.AsConstInt(),
1305
5 => (argumentValues[3].AsSingleValue() as
ArrayValue
)?.Size.AsConstInt(),
1409
if (argumentValues[argsParam].AsSingleValue() is
ArrayValue
arrayValue &&
1594
if (typesValue is not
ArrayValue
array)