(
response: DebugProtocol.DisassembleResponse,
args: DebugProtocol.DisassembleArguments,
request?: DebugProtocol.Request)
| 613 | // valid. |
| 614 | // |
| 615 | public disassembleProtocolRequest( |
| 616 | response: DebugProtocol.DisassembleResponse, |
| 617 | args: DebugProtocol.DisassembleArguments, |
| 618 | request?: DebugProtocol.Request): Promise<void> |
| 619 | { |
| 620 | if (args.memoryReference === undefined) { |
| 621 | // This is our own request. |
| 622 | return this.customDisassembleRequest(response, args); |
| 623 | } |
| 624 | const seq = request?.seq; |
| 625 | return new Promise((resolve, reject) => { |
| 626 | if (GdbDisassembler.debug) { |
| 627 | this.handleMsg('log', `Debug-${seq}: Enqueuing ${JSON.stringify(request)}\n`); |
| 628 | } |
| 629 | const req: DisasmRequest = { |
| 630 | response: response, |
| 631 | args: args, |
| 632 | request: request, |
| 633 | resolve: resolve, |
| 634 | reject: reject |
| 635 | }; |
| 636 | this.disasmRequestQueue.push(req); |
| 637 | if (!this.disasmBusy) { |
| 638 | this.runDisasmRequest(); |
| 639 | } else if (this.doTiming) { |
| 640 | this.handleMsg('log', `Debug-${seq}: ******** Waiting for previous request to complete\n`); |
| 641 | } |
| 642 | }); |
| 643 | } |
| 644 | |
| 645 | // VSCode as a client, frequently makes duplicate requests, back to back before results for the first one are ready |
| 646 | // As a result, older results are not in cache yet, we end up doing work that was not needed. It also happens |
no test coverage detected