@Override public SuspendedContext get() { return SuspendedContext.create(source.getContext(), debugger.getEnv()); } });
private List<DebuggerNode> collectDebuggerNodes(DebuggerNode source, SuspendAnchor suspendAnchor) { EventContext context = source.getContext(); List<DebuggerNode> nodes = new ArrayList<>(); nodes.add(source);
boolean hitStepping = s.step(this, source.getContext(), suspendAnchor); boolean hitBreakpoint = breaks != null && !breaks.isEmpty(); Object newReturnValue = returnValue; } else { if (Debugger.TRACE) { trace("ignored suspended reason: strategy(%s) from source:%s context:%s location:%s", s, source, source.getContext(), source.getSuspendAnchors()); throw new KillException(source.getContext().getInstrumentedNode());
if (ignoreLanguageContextInitialization.get() && !source.getContext().isLanguageContextInitialized()) { return; if (event != null) { if (Debugger.TRACE) { trace("ignored suspended reason: recursive from source:%s context:%s location:%s", source, source.getContext(), source.getSuspendAnchors()); trace("ignored suspended reason: duplicate from source:%s context:%s location:%s", source, source.getContext(), source.getSuspendAnchors()); List<DebuggerNode> nodes = collectDebuggerNodes(source.getContext(), suspendAnchor); for (DebuggerNode node : nodes) { if (node == source) { boolean hitStepping = s.step(this, source.getContext(), suspendAnchor); boolean hitBreakpoint = breaks != null && !breaks.isEmpty(); if (hitStepping || hitBreakpoint) { s.consume(); doSuspend(SuspendedContext.create(source.getContext()), suspendAnchor, frame, inputValuesProvider, returnValue, breaks, breakpointFailures); } else { if (Debugger.TRACE) { trace("ignored suspended reason: strategy(%s) from source:%s context:%s location:%s", s, source, source.getContext(), source.getSuspendAnchors());
if (ignoreLanguageContextInitialization.get() && !source.getContext().isLanguageContextInitialized()) { return returnValue; if (event != null) { if (Debugger.TRACE) { trace("ignored suspended reason: recursive from source:%s context:%s location:%s", source, source.getContext(), source.getSuspendAnchors()); trace("ignored suspended reason: duplicate from source:%s context:%s location:%s", source, source.getContext(), source.getSuspendAnchors());
private Object notifyCallerReturn(SteppingStrategy s, DebuggerNode source, SuspendAnchor suspendAnchor, Object returnValue) { if (ignoreLanguageContextInitialization.get() && !source.getContext().isLanguageContextInitialized()) { return returnValue;