2 using System.Collections.Generic;
4 namespace Mono.Debugger.Soft
7 * Represents a value of a primitive type in the debuggee
9 public class PrimitiveValue : Value {
12 public PrimitiveValue (VirtualMachine vm, object value) : base (vm, 0) {
22 public override bool Equals (object obj) {
26 var primitive = obj as PrimitiveValue;
27 if (primitive != null)
28 return value == primitive.Value;
30 return base.Equals (obj);
33 public override int GetHashCode () {
34 return base.GetHashCode ();
37 public override string ToString () {
40 return "PrimitiveValue<" + (v != null ? v.ToString () : "(null)") + ">";
43 public Value InvokeMethod (ThreadMirror thread, MethodMirror method, IList<Value> arguments) {
44 return ObjectMirror.InvokeMethod (vm, thread, method, this, arguments, InvokeOptions.None);
47 public Value InvokeMethod (ThreadMirror thread, MethodMirror method, IList<Value> arguments, InvokeOptions options) {
48 return ObjectMirror.InvokeMethod (vm, thread, method, this, arguments, options);
51 public IAsyncResult BeginInvokeMethod (ThreadMirror thread, MethodMirror method, IList<Value> arguments, InvokeOptions options, AsyncCallback callback, object state) {
52 return ObjectMirror.BeginInvokeMethod (vm, thread, method, this, arguments, options, callback, state);
55 public Value EndInvokeMethod (IAsyncResult asyncResult) {
56 return ObjectMirror.EndInvokeMethodInternal (asyncResult);