std::unique_ptr RemoteObject::fromValue()

in lib/Debugger.Protocol/Generated/protocol/Runtime.cpp [50:107]


std::unique_ptr<RemoteObject> RemoteObject::fromValue(protocol::Value* value, ErrorSupport* errors)
{
    if (!value || value->type() != protocol::Value::TypeObject) {
        errors->addError("object expected");
        return nullptr;
    }

    std::unique_ptr<RemoteObject> result(new RemoteObject());
    protocol::DictionaryValue* object = DictionaryValue::cast(value);
    errors->push();
    protocol::Value* typeValue = object->get("type");
    errors->setName("type");
    result->m_type = ValueConversions<String>::fromValue(typeValue, errors);
    protocol::Value* subtypeValue = object->get("subtype");
    if (subtypeValue) {
        errors->setName("subtype");
        result->m_subtype = ValueConversions<String>::fromValue(subtypeValue, errors);
    }
    protocol::Value* classNameValue = object->get("className");
    if (classNameValue) {
        errors->setName("className");
        result->m_className = ValueConversions<String>::fromValue(classNameValue, errors);
    }
    protocol::Value* valueValue = object->get("value");
    if (valueValue) {
        errors->setName("value");
        result->m_value = ValueConversions<protocol::Value>::fromValue(valueValue, errors);
    }
    protocol::Value* unserializableValueValue = object->get("unserializableValue");
    if (unserializableValueValue) {
        errors->setName("unserializableValue");
        result->m_unserializableValue = ValueConversions<String>::fromValue(unserializableValueValue, errors);
    }
    protocol::Value* descriptionValue = object->get("description");
    if (descriptionValue) {
        errors->setName("description");
        result->m_description = ValueConversions<String>::fromValue(descriptionValue, errors);
    }
    protocol::Value* objectIdValue = object->get("objectId");
    if (objectIdValue) {
        errors->setName("objectId");
        result->m_objectId = ValueConversions<String>::fromValue(objectIdValue, errors);
    }
    protocol::Value* previewValue = object->get("preview");
    if (previewValue) {
        errors->setName("preview");
        result->m_preview = ValueConversions<protocol::Runtime::ObjectPreview>::fromValue(previewValue, errors);
    }
    protocol::Value* customPreviewValue = object->get("customPreview");
    if (customPreviewValue) {
        errors->setName("customPreview");
        result->m_customPreview = ValueConversions<protocol::Runtime::CustomPreview>::fromValue(customPreviewValue, errors);
    }
    errors->pop();
    if (errors->hasErrors())
        return nullptr;
    return result;
}