in lib/Debugger.Protocol/Generated/protocol/Debugger.cpp [1213:1276]
DispatchResponse::Status DispatcherImpl::evaluateOnCallFrame(int callId, std::unique_ptr<DictionaryValue> requestMessageObject, ErrorSupport* errors)
{
// Prepare input parameters.
protocol::DictionaryValue* object = DictionaryValue::cast(requestMessageObject->get("params"));
errors->push();
protocol::Value* callFrameIdValue = object ? object->get("callFrameId") : nullptr;
errors->setName("callFrameId");
String in_callFrameId = ValueConversions<String>::fromValue(callFrameIdValue, errors);
protocol::Value* expressionValue = object ? object->get("expression") : nullptr;
errors->setName("expression");
String in_expression = ValueConversions<String>::fromValue(expressionValue, errors);
protocol::Value* objectGroupValue = object ? object->get("objectGroup") : nullptr;
Maybe<String> in_objectGroup;
if (objectGroupValue) {
errors->setName("objectGroup");
in_objectGroup = ValueConversions<String>::fromValue(objectGroupValue, errors);
}
protocol::Value* includeCommandLineAPIValue = object ? object->get("includeCommandLineAPI") : nullptr;
Maybe<bool> in_includeCommandLineAPI;
if (includeCommandLineAPIValue) {
errors->setName("includeCommandLineAPI");
in_includeCommandLineAPI = ValueConversions<bool>::fromValue(includeCommandLineAPIValue, errors);
}
protocol::Value* silentValue = object ? object->get("silent") : nullptr;
Maybe<bool> in_silent;
if (silentValue) {
errors->setName("silent");
in_silent = ValueConversions<bool>::fromValue(silentValue, errors);
}
protocol::Value* returnByValueValue = object ? object->get("returnByValue") : nullptr;
Maybe<bool> in_returnByValue;
if (returnByValueValue) {
errors->setName("returnByValue");
in_returnByValue = ValueConversions<bool>::fromValue(returnByValueValue, errors);
}
protocol::Value* generatePreviewValue = object ? object->get("generatePreview") : nullptr;
Maybe<bool> in_generatePreview;
if (generatePreviewValue) {
errors->setName("generatePreview");
in_generatePreview = ValueConversions<bool>::fromValue(generatePreviewValue, errors);
}
errors->pop();
if (errors->hasErrors()) {
reportProtocolError(callId, DispatchResponse::kInvalidParams, kInvalidParamsString, errors);
return DispatchResponse::kError;
}
// Declare output parameters.
std::unique_ptr<protocol::Runtime::RemoteObject> out_result;
Maybe<protocol::Runtime::ExceptionDetails> out_exceptionDetails;
std::unique_ptr<DispatcherBase::WeakPtr> weak = weakPtr();
DispatchResponse response = m_backend->evaluateOnCallFrame(in_callFrameId, in_expression, std::move(in_objectGroup), std::move(in_includeCommandLineAPI), std::move(in_silent), std::move(in_returnByValue), std::move(in_generatePreview), &out_result, &out_exceptionDetails);
if (response.status() == DispatchResponse::kFallThrough)
return response.status();
std::unique_ptr<protocol::DictionaryValue> result = DictionaryValue::create();
if (response.status() == DispatchResponse::kSuccess) {
result->setValue("result", ValueConversions<protocol::Runtime::RemoteObject>::toValue(out_result.get()));
if (out_exceptionDetails.isJust())
result->setValue("exceptionDetails", ValueConversions<protocol::Runtime::ExceptionDetails>::toValue(out_exceptionDetails.fromJust()));
}
if (weak->get())
weak->get()->sendResponse(callId, response, std::move(result));
return response.status();
}