(params: Dap.SetVariableParams)
| 179 | } |
| 180 | |
| 181 | async setVariable(params: Dap.SetVariableParams): Promise<Dap.SetVariableResult | Dap.Error> { |
| 182 | const object = this._referenceToObject.get(params.variablesReference); |
| 183 | if (!object) |
| 184 | return errors.createSilentError(localize('error.variableNotFound', 'Variable not found')); |
| 185 | |
| 186 | const expression = params.value; |
| 187 | if (!expression) |
| 188 | return errors.createUserError(localize('error.emptyExpression', 'Cannot set an empty value')); |
| 189 | |
| 190 | const evaluateResponse = object.scopeRef |
| 191 | ? await object.cdp.Debugger.evaluateOnCallFrame({ |
| 192 | expression, |
| 193 | callFrameId: object.scopeRef.callFrameId, |
| 194 | }) |
| 195 | : await object.cdp.Runtime.evaluate({ expression, silent: true }); |
| 196 | if (!evaluateResponse) |
| 197 | return errors.createUserError(localize('error.invalidExpression', 'Invalid expression')); |
| 198 | if (evaluateResponse.exceptionDetails) |
| 199 | return errorFromException(evaluateResponse.exceptionDetails); |
| 200 | |
| 201 | return this.handleSetVariableEvaluation(params, evaluateResponse, object); |
| 202 | } |
| 203 | |
| 204 | private async handleSetVariableEvaluation( |
| 205 | params: Dap.SetVariableParams, |
nothing calls this directly
no test coverage detected