generate-memoized-type-modes.json-TestReplayInputs.h [plain text]
#ifndef generate_memoized_type_modes_json_TestReplayInputs_h
#define generate_memoized_type_modes_json_TestReplayInputs_h
#if ENABLE(WEB_REPLAY)
#include "InternalNamespaceHeaderIncludeDummy.h"
#include <platform/ExternalNamespaceHeaderIncludeDummy.h>
namespace Test {
class ScalarInput;
class MapInput;
}
namespace JSC {
template<> struct TEST_EXPORT_MACRO InputTraits<Test::ScalarInput> {
static InputQueue queue() { return InputQueue::ScriptMemoizedData; }
static const String& type();
static void encode(JSC::EncodedValue&, const Test::ScalarInput&);
static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::ScalarInput>&);
};
template<> struct TEST_EXPORT_MACRO InputTraits<Test::MapInput> {
static InputQueue queue() { return InputQueue::ScriptMemoizedData; }
static const String& type();
static void encode(JSC::EncodedValue&, const Test::MapInput&);
static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::MapInput>&);
};
}
namespace Test {
class ScalarInput : public NondeterministicInput<ScalarInput> {
public:
TEST_EXPORT_MACRO ScalarInput(ScalarType data);
virtual ~ScalarInput();
ScalarType data() const { return m_data; }
private:
ScalarType m_data;
};
class MapInput : public NondeterministicInput<MapInput> {
public:
TEST_EXPORT_MACRO MapInput(std::unique_ptr<MapType> data);
virtual ~MapInput();
const MapType& data() const { return *m_data; }
private:
std::unique_ptr<MapType> m_data;
};
}
SPECIALIZE_TYPE_TRAITS_BEGIN(Test::ScalarInput)
static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::ScalarInput>::type(); }
SPECIALIZE_TYPE_TRAITS_END()
SPECIALIZE_TYPE_TRAITS_BEGIN(Test::MapInput)
static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::MapInput>::type(); }
SPECIALIZE_TYPE_TRAITS_END()
#define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \
macro(ScalarInput) \
macro(MapInput) \
\
#endif // ENABLE(WEB_REPLAY)
#endif // generate-memoized-type-modes.json-TestReplayInputs_h