public LocalVariableIdentifierExpression(MethodInfo method, ISymUnmanagedVariable symVar)
		{
			if (method == null) throw new ArgumentNullException("method");
			if (symVar == null) throw new ArgumentNullException("symVar");
			
			this.method = method;
			this.symVar = symVar;
			this.name = symVar.Name;
		}
 public void GetLocals(uint cLocals, out uint pcLocals, ISymUnmanagedVariable[] locals)
 {
     Debugger.Interop.CorSym.ISymUnmanagedVariable[] array_locals = new Debugger.Interop.CorSym.ISymUnmanagedVariable[locals.Length];
     for (int i = 0; (i < locals.Length); i = (i + 1))
     {
         if ((locals[i] != null))
         {
             array_locals[i] = locals[i].WrappedObject;
         }
     }
     this.WrappedObject.GetLocals(cLocals, out pcLocals, array_locals);
     for (int i = 0; (i < locals.Length); i = (i + 1))
     {
         if ((array_locals[i] != null))
         {
             locals[i] = ISymUnmanagedVariable.Wrap(array_locals[i]);
         }
         else
         {
             locals[i] = null;
         }
     }
 }
Esempio n. 3
0
		ICorDebugValue GetLocalVariableCorValue(ISymUnmanagedVariable symVar)
		{
			try {
				return CorILFrame.GetLocalVariable((uint)symVar.AddressField1);
			} catch (COMException e) {
				if ((uint)e.ErrorCode == 0x80131304) throw new GetValueException("Unavailable in optimized code");
				throw;
			}
		}
Esempio n. 4
0
		/// <summary> Returns value of give local variable </summary>
		public Value GetLocalVariableValue(ISymUnmanagedVariable symVar)
		{
			return new Value(this.Process, new LocalVariableIdentifierExpression(MethodInfo, symVar), GetLocalVariableCorValue(symVar));
		}
Esempio n. 5
0
		ICorDebugValue GetCorValueOfLocalVariable(ISymUnmanagedVariable symVar)
		{
			if (this.HasExpired) throw new CannotGetValueException("FUNCTION_HAS_EXPIRED");
			
			try {
				return CorILFrame.GetLocalVariable((uint)symVar.AddressField1);
			} catch (COMException e) {
				if ((uint)e.ErrorCode == 0x80131304) throw new CannotGetValueException("Unavailable in optimized code");
				throw;
			}
		}
Esempio n. 6
0
		LocalVariable GetLocalVariable(ISymUnmanagedVariable symVar)
		{
			return new LocalVariable(
				symVar.Name,
				process,
				new IExpirable[] {this},
				new IMutable[] {process.DebugeeState},
				delegate { return GetCorValueOfLocalVariable(symVar); }
			);
		}
Esempio n. 7
0
		/// <summary> Returns expression for the given local variable </summary>
		public Expression GetExpressionForLocalVariable(ISymUnmanagedVariable symVar)
		{
			return new LocalVariableIdentifierExpression(this, symVar);
		}
Esempio n. 8
0
        public override bool Equals(object o)
        {
            ISymUnmanagedVariable casted = o as ISymUnmanagedVariable;

            return((casted != null) && (casted.WrappedObject == wrappedObject));
        }