restartFrameRequest method

  1. @override
Future<void> restartFrameRequest(
  1. Request request,
  2. RestartFrameArguments args,
  3. void sendResponse()
)

Handles the clients "restartFrame" request for the frame in args.frameId.

Implementation

@override
Future<void> restartFrameRequest(
  Request request,
  RestartFrameArguments args,
  void Function() sendResponse,
) async {
  final data = isolateManager.getStoredData(args.frameId);
  if (data == null) {
    // Thread/frame is no longer valid.
    return;
  }

  final thread = data.thread;
  final frame = data.data;
  final frameIndex = frame is vm.Frame ? frame.index : null;
  if (frameIndex == null) {
    return;
  }

  await isolateManager.rewindThread(thread.threadId, frameIndex: frameIndex);
  sendResponse();
}