3 types derived from Value
ILCompiler.Compiler (3)
Compiler\TypePreinit.cs (3)
2316private abstract class BaseValueTypeValue : Value 3075private abstract class ByRefValueBase : Value, INativeIntConvertibleValue 3175private abstract class ReferenceTypeValue : Value
97 references to Value
ILCompiler.Compiler (97)
Compiler\TypePreinit.cs (97)
42private readonly Dictionary<FieldDesc, Value> _fieldValues = new Dictionary<FieldDesc, Value>(); 134Status status = nestedPreinit.TryScanMethod(type.GetStaticConstructor(), null, recursionProtect, ref instructionCounter, out Value _); 167private Status TryScanMethod(MethodDesc method, Value[] parameters, Stack<MethodDesc> recursionProtect, ref int instructionCounter, out Value returnValue) 179private Status TryScanMethod(MethodIL methodIL, Value[] parameters, Stack<MethodDesc> recursionProtect, ref int instructionCounter, out Value returnValue) 206Value[] locals = new Value[localTypes.Length]; 393Value value = stack.PopIntoLocation(field.FieldType); 421Value fieldValue; 468if (fieldValue == null || !fieldValue.TryCreateByRef(out Value byRefValue)) 519Value[] methodParams = new Value[numParams]; 532Value retVal; 600Value[] ctorParameters = new Value[ctorSig.Length + 1]; 608Value instance; 735Value value = stack.PopIntoLocation(field.FieldType); 774Value fieldValue = loadableInstance.GetField(field); 1105Value[] storage = opcode is ILOpcode.ldloca or ILOpcode.ldloca_s ? locals : parameters; 1111Value localValue = storage[index]; 1112if (localValue == null || !localValue.TryCreateByRef(out Value byrefValue)) 1401|| !Value.TryCompareEquality(value1.Value, value2.Value, out compareResult)) 1602Value value = stack.PopIntoLocation(elementType); 1664if (!arrayInstance.TryLoadElement(index, out Value value)) 1696Value value = stack.PopIntoLocation(type); 1714&& objInst.TryUnboxAny(type, out Value unboxed)) 1751&& byRefVal.TryLoad(type, out Value dereferenced)) 1783Value val = opcode switch 1891private bool TryHandleIntrinsicCall(MethodDesc method, Value[] parameters, out Value retVal) 2051public void Push(StackValueKind kind, Value val) 2061public void PushFromLocation(TypeDesc locationType, Value value) 2105public Value PopIntoLocation(TypeDesc locationType) 2249bool TrySetField(FieldDesc field, Value value); 2250Value GetField(FieldDesc field); 2269bool TryAssign(Value value); 2274public abstract bool TryCompareEquality(Value value, out bool result); 2276public static bool TryCompareEquality(Value value1, Value value2, out bool result) 2291public virtual bool TryCreateByRef(out Value value) 2313public virtual Value Clone() => ThrowInvalidProgram<Value>(); 2339public override Value Clone() 2344public override bool TryCreateByRef(out Value value) 2350bool IAssignableValue.TryAssign(Value value) 2367public override bool TryCompareEquality(Value value, out bool result) 2481public override bool TryCompareEquality(Value value, out bool result) 2514public override bool TryCreateByRef(out Value value) 2528public override bool TryCompareEquality(Value value, out bool result) 2545bool IHasInstanceFields.TrySetField(FieldDesc field, Value value) 2568Value IHasInstanceFields.GetField(FieldDesc field) 2649public override bool TryCompareEquality(Value value, out bool result) 2672public override bool TryCreateByRef(out Value value) 2678public override Value Clone() 2683bool IAssignableValue.TryAssign(Value value) 2705public override bool TryCompareEquality(Value value, out bool result) 2722public override bool TryStore(Value value) 2739public override bool TryLoad(TypeDesc type, out Value value) 2755public override Value Clone() => this; // The reference is immutable 2772bool IHasInstanceFields.TrySetField(FieldDesc field, Value value) 2781Value IHasInstanceFields.GetField(FieldDesc field) 2824public override bool TryCompareEquality(Value value, out bool result) 2859public override bool TryCompareEquality(Value value, out bool result) 2932public override bool TryCompareEquality(Value value, out bool result) 2949public override Value Clone() 2954public override bool TryCreateByRef(out Value value) 2969public override bool TryCompareEquality(Value value, out bool result) 2986public bool TrySetField(FieldDesc field, Value value) 3013public Value GetField(FieldDesc field) 3049public override bool TryCompareEquality(Value value, out bool result) 3072public override Value Clone() => this; // Immutable 3077public virtual bool TryStore(Value value) => false; 3078public virtual bool TryLoad(TypeDesc type, out Value value) 3099public override bool TryCompareEquality(Value value, out bool result) 3112Value IHasInstanceFields.GetField(FieldDesc field) => new FieldAccessor(PointedToBytes, PointedToOffset).GetField(field); 3113bool IHasInstanceFields.TrySetField(FieldDesc field, Value value) => new FieldAccessor(PointedToBytes, PointedToOffset).TrySetField(field, value); 3131public override bool TryStore(Value value) 3145public override bool TryLoad(TypeDesc type, out Value value) 3160public override Value Clone() => this; // Immutable 3181public override bool TryCompareEquality(Value value, out bool result) 3370public bool TryStoreElement(int index, Value value) 3383public bool TryLoadElement(int index, out Value value) 3527Value IHasInstanceFields.GetField(FieldDesc field) => new FieldAccessor(_value).GetField(field); 3528bool IHasInstanceFields.TrySetField(FieldDesc field, Value value) => false; 3545public static bool TryBox(DefType type, Value value, AllocationSite allocationSite, out ObjectInstance result) 3561public bool TryUnboxAny(TypeDesc type, out Value value) 3577Value IHasInstanceFields.GetField(FieldDesc field) => new FieldAccessor(_data).GetField(field); 3578bool IHasInstanceFields.TrySetField(FieldDesc field, Value value) => new FieldAccessor(_data).TrySetField(field, value); 3648public bool TrySetField(FieldDesc field, Value value) 3702public readonly Value Value; 3704public StackEntry(StackValueKind valueKind, Value value) 3738private readonly Dictionary<FieldDesc, Value> _fieldValues; 3741public NestedPreinitResult(Dictionary<FieldDesc, Value> fieldValues, int baseInstructionCounter) 3744public bool TryGetFieldValue(TypePreinit context, FieldDesc field, out Value value) 3746Value fieldValue = _fieldValues[field];