internal string GetLocationString(Types.Location TheLocation) { // See if we can find a more common name for the location switch (TheLocation.Name) { // Crateria case "Power Bomb (Crateria surface)": return("Power Bomb (Landing Site)"); case "Missile (Crateria bottom)": return("Missile (Old MB)"); case "Missile (Crateria middle)": return("Missile (230 Missiles)"); case "Missile (Crateria moat)": return("Missile (Moat)"); // Green Brinstar case "Power Bomb (green Brinstar bottom)": return("Power Bomb (Etecoons)"); case "Missile (green Brinstar below super missile)": return("Missile (Early Supers Bridge)"); case "Super Missile (green Brinstar top)": return("Super Missile (Early Supers)"); case "Missile (green Brinstar behind reserve tank)": return("Missile (Brinstar Reserve 1)"); case "Missile (green Brinstar behind missile)": return("Missile (Brinstar Reserve 2)"); case "Super Missile (green Brinstar bottom)": return("Super Missile (Etecoons)"); // Pink Brinstar case "Super Missile (pink Brinstar)": return("Super Missile (Spore Spawn)"); case "Missile (pink Brinstar bottom)": return("Missile (Charge Missiles)"); case "Missile (pink Brinstar top)": return("Missile (Big Pink top)"); // Blue Brinstar case "Missile (blue Brinstar top)": return("Missile (Billy Mays 1)"); case "Missile (blue Brinstar behind missile)": return("Missile (Billy Mays 2)"); case "Missile (blue Brinstar middle)": return("Missile (Beta Missiles)"); case "Missile (blue Brinstar bottom)": return("Missile (Alpha Missiles)"); // Red Brinstar case "Power Bomb (red Brinstar sidehopper room)": return("Power Bomb (Beta PBs)"); case "Power Bomb (red Brinstar spike room)": return("Power Bomb (Alpha PBs)"); case "Missile (red Brinstar spike room)": return("Missile (Alpha PBs)"); // Others default: return(TheLocation.Name); } }
public BreakpointRequest(VirtualMachine virtualMachine, Location location) : base(virtualMachine) { Contract.Requires(virtualMachine != null); Contract.Requires <ArgumentNullException>(location != null, "location"); _location = location; Types.Location protocolLocation = new Types.Location(_location.Method.DeclaringType.TaggedReferenceTypeId, _location.Method.MethodId, checked ((ulong)_location.CodeIndex)); Modifiers.Add(Types.EventRequestModifier.LocationFilter(protocolLocation)); }
public BreakpointRequest(VirtualMachine virtualMachine, Location location) : base(virtualMachine) { Contract.Requires(virtualMachine != null); Contract.Requires<ArgumentNullException>(location != null, "location"); _location = location; Types.Location protocolLocation = new Types.Location(_location.Method.DeclaringType.TaggedReferenceTypeId, _location.Method.MethodId, checked((ulong)_location.CodeIndex)); Modifiers.Add(Types.EventRequestModifier.LocationFilter(protocolLocation)); }
internal Location GetMirrorOf(Types.Location location) { if (location.Method.Handle == 0 && location.Index == 0) { return(null); } ReferenceType type = GetMirrorOf(location.TypeTag, location.Class); Method method = GetMirrorOf(type, location.Method); long codeIndex = (long)location.Index; Location loc = new Location(this, method, codeIndex); return(loc); }
public void Exception(Types.SuspendPolicy suspendPolicy, RequestId requestId, ThreadId threadId, Types.Location location, TaggedObjectId exception, Types.Location catchLocation) { EventRequest request = VirtualMachine.EventRequestManager.GetEventRequest(EventKind.Exception, requestId); ThreadReference thread = VirtualMachine.GetMirrorOf(threadId); Location loc = VirtualMachine.GetMirrorOf(location); ObjectReference exceptionReference = VirtualMachine.GetMirrorOf(exception); Location catchLoc = VirtualMachine.GetMirrorOf(catchLocation); ExceptionEventArgs e = new ExceptionEventArgs(VirtualMachine, (SuspendPolicy)suspendPolicy, request, thread, loc, exceptionReference, catchLoc); VirtualMachine.EventQueue.OnException(e); }
public void MonitorContendedWaited(Types.SuspendPolicy suspendPolicy, RequestId requestId, ThreadId thread, TaggedObjectId @object, Types.Location location, bool timedOut) { throw new NotImplementedException(); }
public void MethodExit(Types.SuspendPolicy suspendPolicy, RequestId requestId, ThreadId thread, Types.Location location, Types.Value returnValue) { throw new NotImplementedException(); }
public void MethodEntry(Types.SuspendPolicy suspendPolicy, RequestId requestId, ThreadId thread, Types.Location location) { throw new NotImplementedException(); }
public void Breakpoint(Types.SuspendPolicy suspendPolicy, RequestId requestId, ThreadId threadId, Types.Location location) { ThreadReference thread = VirtualMachine.GetMirrorOf(threadId); EventRequest request = VirtualMachine.EventRequestManager.GetEventRequest(EventKind.Breakpoint, requestId); Location loc = VirtualMachine.GetMirrorOf(location); ThreadLocationEventArgs e = new ThreadLocationEventArgs(VirtualMachine, (SuspendPolicy)suspendPolicy, request, thread, loc); VirtualMachine.EventQueue.OnBreakpoint(e); }
public void FieldModification(Types.SuspendPolicy suspendPolicy, RequestId requestId, ThreadId thread, Types.Location location, TypeTag typeTag, ReferenceTypeId typeId, FieldId field, TaggedObjectId @object, Types.Value newValue) { throw new NotImplementedException(); }