CIDR: debugger: (testing) Inline CidrDebuggingFixture.collectVars()

GitOrigin-RevId: f73471e131f7c589126952d74a2aa4d77fe4da23
This commit is contained in:
Eldar Abusalimov
2019-10-01 21:12:59 +00:00
committed by intellij-monorepo-bot
parent a83cb32937
commit bcdc198ddb
@@ -194,13 +194,24 @@ public class XDebuggerTestUtil {
return collectFramesWithSelected(thread, timeout, XDebuggerTestUtil::waitFor);
}
public static Pair<List<XStackFrame>, XStackFrame> collectFramesWithSelected(XExecutionStack thread, long timeout, BiFunction<Semaphore, Long, Boolean> waitFunction) {
public static Pair<List<XStackFrame>, XStackFrame> collectFramesWithSelected(XExecutionStack thread,
long timeout,
BiFunction<Semaphore, Long, Boolean> waitFunction) {
XTestStackFrameContainer container = new XTestStackFrameContainer();
thread.computeStackFrames(0, container);
List<XStackFrame> all = container.waitFor(timeout, waitFunction).first;
return Pair.create(all, container.frameToSelect);
}
public static XStackFrame getFrameAt(@NotNull XDebugSession session, int frameIndex) {
final XExecutionStack activeThread = getActiveThread(session);
return getFrameAt(activeThread, frameIndex);
}
public static XStackFrame getFrameAt(@NotNull XExecutionStack thread, int frameIndex) {
return frameIndex == 0 ? thread.getTopFrame() : collectFrames(thread).get(frameIndex);
}
@NotNull
public static List<XValue> collectChildren(XValueContainer value) {
return collectChildren(value, XDebuggerTestUtil::waitFor);