internal MethodExitEventArgs(VirtualMachine virtualMachine, SuspendPolicy suspendPolicy, EventRequest request, ThreadReference thread, Location location, IValue returnValue)
            : base(virtualMachine, suspendPolicy, request, thread, location)
        {
            Contract.Requires<ArgumentNullException>(returnValue != null, "returnValue");

            _returnValue = returnValue;
        }
Esempio n. 2
0
        internal ExceptionEventArgs(VirtualMachine virtualMachine, SuspendPolicy suspendPolicy, EventRequest request, ThreadReference thread, Location location, IObjectReference exception, ILocation catchLocation)
            : base(virtualMachine, suspendPolicy, request, thread, location)
        {
            Contract.Requires<ArgumentNullException>(exception != null, "exception");

            _exception = exception;
            _catchLocation = catchLocation;
        }
        internal ClassUnloadEventArgs(VirtualMachine virtualMachine, SuspendPolicy suspendPolicy, EventRequest request, string signature)
            : base(virtualMachine, suspendPolicy, request)
        {
            Contract.Requires<ArgumentNullException>(signature != null, "signature");
            Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(signature));

            _signature = signature;
        }
        internal ClassPrepareEventArgs(VirtualMachine virtualMachine, SuspendPolicy suspendPolicy, EventRequest request, ThreadReference thread, string signature, ReferenceType type)
            : base(virtualMachine, suspendPolicy, request, thread)
        {
            Contract.Requires<ArgumentNullException>(signature != null, "signature");
            Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(signature));

            _signature = signature;
            _type = type;
        }
        internal FieldAccessEventArgs(VirtualMachine virtualMachine, SuspendPolicy suspendPolicy, EventRequest request, ThreadReference thread, Location location, IField field, IObjectReference instance)
            : base(virtualMachine, suspendPolicy, request, thread, location)
        {
            Contract.Requires<ArgumentNullException>(field != null, "field");
            Contract.Requires(field.GetIsStatic() || instance != null);

            _field = field;
            _instance = instance;
        }
 internal ThreadLocationEventArgs(VirtualMachine virtualMachine, SuspendPolicy suspendPolicy, EventRequest request, ThreadReference thread, Location location)
     : base(virtualMachine, suspendPolicy, request, thread)
 {
     _location = location;
 }
 internal FieldModificationEventArgs(VirtualMachine virtualMachine, SuspendPolicy suspendPolicy, EventRequest request, ThreadReference thread, Location location, IField field, IObjectReference instance, IValue newValue)
     : base(virtualMachine, suspendPolicy, request, thread, location, field, instance)
 {
     _newValue = newValue;
 }
 internal MonitorWaitEventArgs(VirtualMachine virtualMachine, SuspendPolicy suspendPolicy, EventRequest request, ThreadReference thread, Location location, IObjectReference @object, TimeSpan timeout)
     : base(virtualMachine, suspendPolicy, request, thread, location, @object)
 {
     _timeout = timeout;
 }
Esempio n. 9
0
 internal ThreadEventArgs(VirtualMachine virtualMachine, SuspendPolicy suspendPolicy, EventRequest request, ThreadReference thread)
     : base(virtualMachine, suspendPolicy, request)
 {
     _thread = thread;
 }
Esempio n. 10
0
        internal EventRequest GetEventRequest(EventKind eventKind, RequestId requestId)
        {
            if (requestId.Id == 0)
            {
                return(null);
            }

            IEnumerable <EventRequest> requests = null;

            switch (eventKind)
            {
            case EventKind.SingleStep:
                requests = GetStepRequests().Cast <EventRequest>();
                break;

            case EventKind.Breakpoint:
                requests = GetBreakpointRequests().Cast <EventRequest>();
                break;

            case EventKind.Exception:
                requests = GetExceptionRequests().Cast <EventRequest>();
                break;

            case EventKind.ThreadStart:
                requests = GetThreadStartRequests().Cast <EventRequest>();
                break;

            case EventKind.ClassPrepare:
                requests = GetClassPrepareRequests().Cast <EventRequest>();
                break;

            case EventKind.ClassUnload:
                requests = GetClassUnloadRequests().Cast <EventRequest>();
                break;

            case EventKind.FieldAccess:
                requests = GetAccessWatchpointRequests().Cast <EventRequest>();
                break;

            case EventKind.FieldModification:
                requests = GetModificationWatchpointRequests().Cast <EventRequest>();
                break;

            case EventKind.MethodEntry:
                requests = GetMethodEntryRequests().Cast <EventRequest>();
                break;

            case EventKind.MethodExit:
                requests = GetMethodExitRequest().Cast <EventRequest>();
                break;

            case EventKind.VirtualMachineDeath:
                requests = GetVirtualMachineDeathRequests().Cast <EventRequest>();
                break;

            case EventKind.ThreadDeath:
                //case EventKind.ThreadEnd:
                requests = GetThreadDeathRequests().Cast <EventRequest>();
                break;

            case EventKind.FramePop:
            case EventKind.UserDefined:
            case EventKind.ClassLoad:
            case EventKind.ExceptionCatch:
            case EventKind.VirtualMachineDisconnected:
            case EventKind.VirtualMachineStart:
                //case EventKind.VirtualMachineInit:
                // these requests don't have a mirror in this API
                break;

            case EventKind.Invalid:
            default:
                break;
            }

            EventRequest request = null;

            if (requests != null)
            {
                request = requests.FirstOrDefault(i => i.RequestId == requestId);
            }

            return(request);
        }