Web Replay: code generator should take supplemental specifications and allow cross...
[WebKit-https.git] / Source / JavaScriptCore / replay / scripts / tests / expected / generate-input-with-guard.json-TestReplayInputs.h
1 /*
2  * Copyright (C) 2014 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * 1.  Redistributions of source code must retain the above copyright
9  *     notice, this list of conditions and the following disclaimer.
10  * 2.  Redistributions in binary form must reproduce the above copyright
11  *     notice, this list of conditions and the following disclaimer in the
12  *     documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
15  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
16  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
17  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
18  * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
19  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
20  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25  */
26
27 // DO NOT EDIT THIS FILE. It is automatically generated from generate-input-with-guard.json
28 // by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py
29
30 #ifndef generate_input_with_guard_json_TestReplayInputs_h
31 #define generate_input_with_guard_json_TestReplayInputs_h
32
33 #if ENABLE(WEB_REPLAY)
34 #include "InternalNamespaceHeaderIncludeDummy.h"
35 #include <platform/ExternalNamespaceHeaderIncludeDummy.h>
36
37
38
39 namespace Test {
40 #if ENABLE(DUMMY_FEATURE)
41 class GetCurrentTime;
42 #endif // ENABLE(DUMMY_FEATURE)
43 class SetRandomSeed;
44 } // namespace Test
45
46 namespace JSC {
47 #if ENABLE(DUMMY_FEATURE)
48 template<> struct TEST_EXPORT_MACRO InputTraits<Test::GetCurrentTime> {
49     static InputQueue queue() { return InputQueue::ScriptMemoizedData; }
50     static const String& type();
51
52     static void encode(JSC::EncodedValue&, const Test::GetCurrentTime&);
53     static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::GetCurrentTime>&);
54 };
55 #endif // ENABLE(DUMMY_FEATURE)
56
57 template<> struct TEST_EXPORT_MACRO InputTraits<Test::SetRandomSeed> {
58     static InputQueue queue() { return InputQueue::ScriptMemoizedData; }
59     static const String& type();
60
61     static void encode(JSC::EncodedValue&, const Test::SetRandomSeed&);
62     static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::SetRandomSeed>&);
63 };
64
65 } // namespace JSC
66
67 namespace Test {
68 #if ENABLE(DUMMY_FEATURE)
69 class GetCurrentTime : public NondeterministicInput<GetCurrentTime> {
70 public:
71     TEST_EXPORT_MACRO GetCurrentTime(double currentTime);
72     virtual ~GetCurrentTime();
73
74     double currentTime() const { return m_currentTime; }
75 private:
76     double m_currentTime;
77 };
78 #endif // ENABLE(DUMMY_FEATURE)
79
80 class SetRandomSeed : public NondeterministicInput<SetRandomSeed> {
81 public:
82     TEST_EXPORT_MACRO SetRandomSeed(uint64_t randomSeed);
83     virtual ~SetRandomSeed();
84
85     uint64_t randomSeed() const { return m_randomSeed; }
86 private:
87     uint64_t m_randomSeed;
88 };
89 } // namespace Test
90
91 #if ENABLE(DUMMY_FEATURE)
92 SPECIALIZE_TYPE_TRAITS_BEGIN(Test::GetCurrentTime)
93     static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::GetCurrentTime>::type(); }
94 SPECIALIZE_TYPE_TRAITS_END()
95 #endif // ENABLE(DUMMY_FEATURE)
96
97 SPECIALIZE_TYPE_TRAITS_BEGIN(Test::SetRandomSeed)
98     static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::SetRandomSeed>::type(); }
99 SPECIALIZE_TYPE_TRAITS_END()
100
101 #define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \
102     macro(GetCurrentTime) \
103     macro(SetRandomSeed) \
104     \
105 // end of TEST_REPLAY_INPUT_NAMES_FOR_EACH
106
107 #endif // ENABLE(WEB_REPLAY)
108
109 #endif // generate-input-with-guard.json-TestReplayInputs_h