Exemple #1
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);
        }
        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;
        }