예제 #1
0
 public ArrayElementAddress(DebuggerRuntimeImpl runtime, ArrayILValue arrayValue, uint index)
     : base(runtime, arrayValue.Type.GetElementType())
 {
     Debug.Assert(arrayValue.Type.IsArray);
     this.arrayValue = arrayValue;
     this.index      = index;
 }
예제 #2
0
 public ValueTypeFieldAddress(DebuggerRuntimeImpl runtime, AddressILValue objValue, DmdFieldInfo field)
     : base(runtime, field.FieldType)
 {
     Debug.Assert(field.ReflectedType.IsValueType);
     this.objValue = objValue;
     this.field    = field;
 }
예제 #3
0
 public ReferenceTypeFieldAddress(DebuggerRuntimeImpl runtime, DbgDotNetValue objValue, DmdFieldInfo field)
     : base(runtime, field.FieldType)
 {
     Debug.Assert(!field.ReflectedType.IsValueType && !objValue.Type.IsArray);
     this.objValue = objValue;
     this.field    = field;
 }
예제 #4
0
 public InterpreterLocalsProvider(DebuggerRuntimeImpl runtime)
 {
     localsProvider     = null !;
     realLocalVariables = null !;
     localVariables     = null !;
     this.runtime       = runtime;
     extraLocals        = new Dictionary <int, DbgDotNetValue>();
 }
예제 #5
0
 public TypeILValueImpl(DebuggerRuntimeImpl runtime, DbgDotNetValue objValue, DmdType?type = null)
 {
     this.runtime        = runtime;
     __objValue_DONT_USE = objValue ?? throw new ArgumentNullException(nameof(objValue));
     Type = type ?? objValue.Type;
 }
예제 #6
0
 protected TypeILValueImpl(DebuggerRuntimeImpl runtime, DmdType type)
 {
     this.runtime        = runtime;
     __objValue_DONT_USE = null;
     Type = type ?? throw new ArgumentNullException(nameof(type));
 }
예제 #7
0
 public ArrayILValue(DebuggerRuntimeImpl runtime, DbgDotNetValue arrayValue)
     : base(runtime, arrayValue)
 {
     cachedArrayLength = cachedArrayLength_uninitialized;
 }
 public BoxedValueTypeILValue(DebuggerRuntimeImpl runtime, ILValue ilValue, DbgDotNetValue value, DmdType type) : base(runtime, value, type)
 {
     this.ilValue = ilValue;
 }
예제 #9
0
 public InterpreterLocalsProvider(DebuggerRuntimeImpl runtime)
 {
     this.runtime = runtime;
     extraLocals  = new Dictionary <int, DbgDotNetValue>();
 }
예제 #10
0
 public RuntimeFieldHandleILValue(DebuggerRuntimeImpl runtime, DmdFieldInfo field)
     : base(runtime, field.AppDomain.GetWellKnownType(DmdWellKnownType.System_RuntimeFieldHandle))
 {
     Field = field;
 }
예제 #11
0
 protected AddressILValue(DebuggerRuntimeImpl runtime, DmdType locationType)
 {
     this.runtime = runtime;
     Type         = locationType.MakeByRefType();
 }
예제 #12
0
 public ArgumentAddress(DebuggerRuntimeImpl runtime, DmdType argumentType, int index)
     : base(runtime, argumentType)
 {
     this.argumentType = argumentType;
     this.index        = index;
 }
예제 #13
0
 public LocalAddress(DebuggerRuntimeImpl runtime, DmdType localType, int index)
     : base(runtime, localType)
 {
     this.localType = localType;
     this.index     = index;
 }
예제 #14
0
 public ConstantStringILValueImpl(DebuggerRuntimeImpl runtime, DbgDotNetValue value, string s) : base(runtime, value) => Value = s;
예제 #15
0
 public StaticFieldAddress(DebuggerRuntimeImpl runtime, DmdFieldInfo field)
     : base(runtime, field.FieldType)
 {
     this.field = field;
 }
예제 #16
0
 public UnboxAddressILValue(DebuggerRuntimeImpl runtime, DbgDotNetValue dnValue)
     : base(runtime, dnValue.Type)
 {
     this.dnValue = dnValue;
 }
예제 #17
0
 public ByRefILValueImpl(DebuggerRuntimeImpl runtime, DbgDotNetValue byRefValue)
     : base(runtime, byRefValue.Type.GetElementType())
 {
     this.byRefValue = byRefValue;
 }
예제 #18
0
 public RuntimeTypeHandleILValue(DebuggerRuntimeImpl runtime, DmdType type)
     : base(runtime, type.AppDomain.GetWellKnownType(DmdWellKnownType.System_RuntimeTypeHandle))
 {
     this.type = type;
 }
예제 #19
0
 public PointerILValue(DebuggerRuntimeImpl runtime, DbgDotNetValue pointerValue)
     : base(runtime, pointerValue.Type.GetElementType())
 {
     this.pointerValue = pointerValue;
 }
예제 #20
0
 public RuntimeMethodHandleILValue(DebuggerRuntimeImpl runtime, DmdMethodBase method)
     : base(runtime, method.AppDomain.GetWellKnownType(DmdWellKnownType.System_RuntimeMethodHandle))
 {
     this.method = method;
 }
예제 #21
0
 public ArrayElementAddress(DebuggerRuntimeImpl runtime, ArrayILValue arrayValue, uint index)
     : base(runtime, arrayValue.Type !.GetElementType() !)