Web Inspector: no need to allocate protocolErrors array for every dispatched backend...
[WebKit-https.git] / Source / JavaScriptCore / inspector / scripts / tests / expected / type-declaration-object-type.json-result
1 ### Begin File: InspectorAlternateBackendDispatchers.h
2 /*
3  * Copyright (C) 2013 Google Inc. All rights reserved.
4  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
5  * Copyright (C) 2014 University of Washington. All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
18  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
20  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
26  * THE POSSIBILITY OF SUCH DAMAGE.
27  */
28
29 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
30 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
31
32 #ifndef InspectorAlternateBackendDispatchers_h
33 #define InspectorAlternateBackendDispatchers_h
34
35 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
36
37 #include "InspectorProtocolTypes.h"
38 #include <JavaScriptCore/InspectorBackendDispatcher.h>
39
40 namespace Inspector {
41
42 class AlternateBackendDispatcher {
43 public:
44     void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
45     BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
46 private:
47     RefPtr<BackendDispatcher> m_backendDispatcher;
48 };
49
50
51
52
53 } // namespace Inspector
54
55 #endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
56
57 #endif // !defined(InspectorAlternateBackendDispatchers_h)
58 ### End File: InspectorAlternateBackendDispatchers.h
59
60 ### Begin File: InspectorBackendCommands.js
61 /*
62  * Copyright (C) 2013 Google Inc. All rights reserved.
63  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
64  * Copyright (C) 2014 University of Washington. All rights reserved.
65  *
66  * Redistribution and use in source and binary forms, with or without
67  * modification, are permitted provided that the following conditions
68  * are met:
69  * 1. Redistributions of source code must retain the above copyright
70  *    notice, this list of conditions and the following disclaimer.
71  * 2. Redistributions in binary form must reproduce the above copyright
72  *    notice, this list of conditions and the following disclaimer in the
73  *    documentation and/or other materials provided with the distribution.
74  *
75  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
76  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
77  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
78  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
79  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
80  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
81  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
82  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
83  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
84  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
85  * THE POSSIBILITY OF SUCH DAMAGE.
86  */
87
88 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
89 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
90 ### End File: InspectorBackendCommands.js
91
92 ### Begin File: InspectorBackendDispatchers.h
93 /*
94  * Copyright (C) 2013 Google Inc. All rights reserved.
95  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
96  * Copyright (C) 2014 University of Washington. All rights reserved.
97  *
98  * Redistribution and use in source and binary forms, with or without
99  * modification, are permitted provided that the following conditions
100  * are met:
101  * 1. Redistributions of source code must retain the above copyright
102  *    notice, this list of conditions and the following disclaimer.
103  * 2. Redistributions in binary form must reproduce the above copyright
104  *    notice, this list of conditions and the following disclaimer in the
105  *    documentation and/or other materials provided with the distribution.
106  *
107  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
108  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
109  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
110  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
111  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
112  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
113  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
114  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
115  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
116  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
117  * THE POSSIBILITY OF SUCH DAMAGE.
118  */
119
120 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
121 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
122
123 #ifndef InspectorBackendDispatchers_h
124 #define InspectorBackendDispatchers_h
125
126 #include "InspectorProtocolObjects.h"
127 #include <inspector/InspectorBackendDispatcher.h>
128 #include <wtf/text/WTFString.h>
129
130 namespace Inspector {
131
132 typedef String ErrorString;
133
134
135
136 } // namespace Inspector
137
138 #endif // !defined(InspectorBackendDispatchers_h)
139 ### End File: InspectorBackendDispatchers.h
140
141 ### Begin File: InspectorBackendDispatchers.cpp
142 /*
143  * Copyright (C) 2013 Google Inc. All rights reserved.
144  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
145  * Copyright (C) 2014 University of Washington. All rights reserved.
146  *
147  * Redistribution and use in source and binary forms, with or without
148  * modification, are permitted provided that the following conditions
149  * are met:
150  * 1. Redistributions of source code must retain the above copyright
151  *    notice, this list of conditions and the following disclaimer.
152  * 2. Redistributions in binary form must reproduce the above copyright
153  *    notice, this list of conditions and the following disclaimer in the
154  *    documentation and/or other materials provided with the distribution.
155  *
156  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
157  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
158  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
159  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
160  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
161  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
162  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
163  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
164  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
165  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
166  * THE POSSIBILITY OF SUCH DAMAGE.
167  */
168
169 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
170 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
171
172 #include "config.h"
173 #include "InspectorBackendDispatchers.h"
174
175 #include <inspector/InspectorFrontendChannel.h>
176 #include <inspector/InspectorValues.h>
177 #include <wtf/NeverDestroyed.h>
178 #include <wtf/text/CString.h>
179
180 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
181 #include "InspectorAlternateBackendDispatchers.h"
182 #endif
183
184 namespace Inspector {
185
186
187
188 } // namespace Inspector
189
190 ### End File: InspectorBackendDispatchers.cpp
191
192 ### Begin File: InspectorFrontendDispatchers.h
193 /*
194  * Copyright (C) 2013 Google Inc. All rights reserved.
195  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
196  * Copyright (C) 2014 University of Washington. All rights reserved.
197  *
198  * Redistribution and use in source and binary forms, with or without
199  * modification, are permitted provided that the following conditions
200  * are met:
201  * 1. Redistributions of source code must retain the above copyright
202  *    notice, this list of conditions and the following disclaimer.
203  * 2. Redistributions in binary form must reproduce the above copyright
204  *    notice, this list of conditions and the following disclaimer in the
205  *    documentation and/or other materials provided with the distribution.
206  *
207  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
208  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
209  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
210  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
211  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
212  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
213  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
214  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
215  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
216  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
217  * THE POSSIBILITY OF SUCH DAMAGE.
218  */
219
220 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
221 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
222
223 #ifndef InspectorFrontendDispatchers_h
224 #define InspectorFrontendDispatchers_h
225
226 #include "InspectorProtocolObjects.h"
227 #include <inspector/InspectorFrontendChannel.h>
228 #include <inspector/InspectorValues.h>
229 #include <wtf/text/WTFString.h>
230
231 namespace Inspector {
232
233
234
235 } // namespace Inspector
236
237 #endif // !defined(InspectorFrontendDispatchers_h)
238 ### End File: InspectorFrontendDispatchers.h
239
240 ### Begin File: InspectorFrontendDispatchers.cpp
241 /*
242  * Copyright (C) 2013 Google Inc. All rights reserved.
243  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
244  * Copyright (C) 2014 University of Washington. All rights reserved.
245  *
246  * Redistribution and use in source and binary forms, with or without
247  * modification, are permitted provided that the following conditions
248  * are met:
249  * 1. Redistributions of source code must retain the above copyright
250  *    notice, this list of conditions and the following disclaimer.
251  * 2. Redistributions in binary form must reproduce the above copyright
252  *    notice, this list of conditions and the following disclaimer in the
253  *    documentation and/or other materials provided with the distribution.
254  *
255  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
256  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
257  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
258  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
259  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
260  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
261  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
262  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
263  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
264  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
265  * THE POSSIBILITY OF SUCH DAMAGE.
266  */
267
268 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
269 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
270
271 #include "config.h"
272 #include "InspectorFrontendDispatchers.h"
273
274 #include <wtf/text/CString.h>
275
276 namespace Inspector {
277
278 } // namespace Inspector
279
280 ### End File: InspectorFrontendDispatchers.cpp
281
282 ### Begin File: InspectorProtocolObjects.h
283 /*
284  * Copyright (C) 2013 Google Inc. All rights reserved.
285  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
286  * Copyright (C) 2014 University of Washington. All rights reserved.
287  *
288  * Redistribution and use in source and binary forms, with or without
289  * modification, are permitted provided that the following conditions
290  * are met:
291  * 1. Redistributions of source code must retain the above copyright
292  *    notice, this list of conditions and the following disclaimer.
293  * 2. Redistributions in binary form must reproduce the above copyright
294  *    notice, this list of conditions and the following disclaimer in the
295  *    documentation and/or other materials provided with the distribution.
296  *
297  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
298  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
299  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
300  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
301  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
302  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
303  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
304  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
305  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
306  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
307  * THE POSSIBILITY OF SUCH DAMAGE.
308  */
309
310 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
311 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
312
313 #ifndef InspectorProtocolObjects_h
314 #define InspectorProtocolObjects_h
315
316 #include <inspector/InspectorProtocolTypes.h>
317 #include <wtf/Assertions.h>
318
319 namespace Inspector {
320
321
322
323 namespace Protocol {
324
325 // Forward declarations.
326 namespace Database {
327 class DummyObject;
328 class Error;
329 class ObjectWithPropertyNameConflicts;
330 class OptionalParameterBundle;
331 class ParameterBundle;
332 } // Database
333
334 namespace Test {
335 class ParameterBundle;
336 } // Test
337 // End of forward declarations.
338
339
340 // Typedefs.
341 namespace Database {
342 typedef Inspector::Protocol::Array<Inspector::Protocol::Database::Error> ErrorList;
343 } // Database
344 // End of typedefs.
345
346 String getEnumConstantValue(int code);
347
348 template<typename T> String getEnumConstantValue(T enumValue)
349 {
350     return getEnumConstantValue(static_cast<int>(enumValue));
351 }
352
353 namespace Database {
354 /* Database error. */
355 class Error : public Inspector::InspectorObjectBase {
356 public:
357     enum {
358         NoFieldsSet = 0,
359         MessageSet = 1 << 0,
360         CodeSet = 1 << 1,
361         AllFieldsSet = (MessageSet | CodeSet)
362     };
363
364     template<int STATE>
365     class Builder {
366     private:
367         RefPtr<InspectorObject> m_result;
368
369         template<int STEP> Builder<STATE | STEP>& castState()
370         {
371             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
372         }
373
374         Builder(Ref</*Error*/InspectorObject>&& object)
375             : m_result(WTF::move(object))
376         {
377             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
378         }
379         friend class Error;
380     public:
381
382         Builder<STATE | MessageSet>& setMessage(const String& value)
383         {
384             COMPILE_ASSERT(!(STATE & MessageSet), property_message_already_set);
385             m_result->setString(ASCIILiteral("message"), value);
386             return castState<MessageSet>();
387         }
388
389         Builder<STATE | CodeSet>& setCode(int value)
390         {
391             COMPILE_ASSERT(!(STATE & CodeSet), property_code_already_set);
392             m_result->setInteger(ASCIILiteral("code"), value);
393             return castState<CodeSet>();
394         }
395
396         Ref<Error> release()
397         {
398             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
399             COMPILE_ASSERT(sizeof(Error) == sizeof(InspectorObject), cannot_cast);
400
401             Ref<InspectorObject> result = m_result.releaseNonNull();
402             return WTF::move(*reinterpret_cast<Ref<Error>*>(&result));
403         }
404     };
405
406     /*
407      * Synthetic constructor:
408      * Ref<Error> result = Error::create()
409      *     .setMessage(...)
410      *     .setCode(...)
411      *     .release();
412      */
413     static Builder<NoFieldsSet> create()
414     {
415         return Builder<NoFieldsSet>(InspectorObject::create());
416     }
417 };
418
419 class OptionalParameterBundle : public Inspector::InspectorObjectBase {
420 public:
421     enum {
422         NoFieldsSet = 0,
423         AllFieldsSet = 0
424     };
425
426     template<int STATE>
427     class Builder {
428     private:
429         RefPtr<InspectorObject> m_result;
430
431         template<int STEP> Builder<STATE | STEP>& castState()
432         {
433             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
434         }
435
436         Builder(Ref</*OptionalParameterBundle*/InspectorObject>&& object)
437             : m_result(WTF::move(object))
438         {
439             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
440         }
441         friend class OptionalParameterBundle;
442     public:
443
444         Ref<OptionalParameterBundle> release()
445         {
446             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
447             COMPILE_ASSERT(sizeof(OptionalParameterBundle) == sizeof(InspectorObject), cannot_cast);
448
449             Ref<InspectorObject> result = m_result.releaseNonNull();
450             return WTF::move(*reinterpret_cast<Ref<OptionalParameterBundle>*>(&result));
451         }
452     };
453
454     /*
455      * Synthetic constructor:
456      * Ref<OptionalParameterBundle> result = OptionalParameterBundle::create()
457      *     .release();
458      */
459     static Builder<NoFieldsSet> create()
460     {
461         return Builder<NoFieldsSet>(InspectorObject::create());
462     }
463
464     void setColumnNames(RefPtr<Inspector::Protocol::Array<String>> value)
465     {
466         InspectorObjectBase::setArray(ASCIILiteral("columnNames"), WTF::move(value));
467     }
468
469     void setNotes(const String& value)
470     {
471         InspectorObjectBase::setString(ASCIILiteral("notes"), value);
472     }
473
474     void setTimestamp(double value)
475     {
476         InspectorObjectBase::setDouble(ASCIILiteral("timestamp"), value);
477     }
478
479     void setValues(RefPtr<Inspector::InspectorObject> value)
480     {
481         InspectorObjectBase::setObject(ASCIILiteral("values"), WTF::move(value));
482     }
483
484     void setPayload(RefPtr<Inspector::InspectorValue> value)
485     {
486         InspectorObjectBase::setValue(ASCIILiteral("payload"), WTF::move(value));
487     }
488
489     void setError(RefPtr<Inspector::Protocol::Database::Error> value)
490     {
491         InspectorObjectBase::setObject(ASCIILiteral("error"), WTF::move(value));
492     }
493
494     void setErrorList(RefPtr<Inspector::Protocol::Database::ErrorList> value)
495     {
496         InspectorObjectBase::setArray(ASCIILiteral("errorList"), WTF::move(value));
497     }
498 };
499
500 class ParameterBundle : public Inspector::InspectorObjectBase {
501 public:
502     enum {
503         NoFieldsSet = 0,
504         ColumnNamesSet = 1 << 0,
505         NotesSet = 1 << 1,
506         TimestampSet = 1 << 2,
507         ValuesSet = 1 << 3,
508         PayloadSet = 1 << 4,
509         ErrorSet = 1 << 5,
510         ErrorListSet = 1 << 6,
511         AllFieldsSet = (ColumnNamesSet | NotesSet | TimestampSet | ValuesSet | PayloadSet | ErrorSet | ErrorListSet)
512     };
513
514     template<int STATE>
515     class Builder {
516     private:
517         RefPtr<InspectorObject> m_result;
518
519         template<int STEP> Builder<STATE | STEP>& castState()
520         {
521             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
522         }
523
524         Builder(Ref</*ParameterBundle*/InspectorObject>&& object)
525             : m_result(WTF::move(object))
526         {
527             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
528         }
529         friend class ParameterBundle;
530     public:
531
532         Builder<STATE | ColumnNamesSet>& setColumnNames(RefPtr<Inspector::Protocol::Array<String>> value)
533         {
534             COMPILE_ASSERT(!(STATE & ColumnNamesSet), property_columnNames_already_set);
535             m_result->setArray(ASCIILiteral("columnNames"), value);
536             return castState<ColumnNamesSet>();
537         }
538
539         Builder<STATE | NotesSet>& setNotes(const String& value)
540         {
541             COMPILE_ASSERT(!(STATE & NotesSet), property_notes_already_set);
542             m_result->setString(ASCIILiteral("notes"), value);
543             return castState<NotesSet>();
544         }
545
546         Builder<STATE | TimestampSet>& setTimestamp(double value)
547         {
548             COMPILE_ASSERT(!(STATE & TimestampSet), property_timestamp_already_set);
549             m_result->setDouble(ASCIILiteral("timestamp"), value);
550             return castState<TimestampSet>();
551         }
552
553         Builder<STATE | ValuesSet>& setValues(RefPtr<Inspector::InspectorObject> value)
554         {
555             COMPILE_ASSERT(!(STATE & ValuesSet), property_values_already_set);
556             m_result->setObject(ASCIILiteral("values"), value);
557             return castState<ValuesSet>();
558         }
559
560         Builder<STATE | PayloadSet>& setPayload(RefPtr<Inspector::InspectorValue> value)
561         {
562             COMPILE_ASSERT(!(STATE & PayloadSet), property_payload_already_set);
563             m_result->setValue(ASCIILiteral("payload"), value);
564             return castState<PayloadSet>();
565         }
566
567         Builder<STATE | ErrorSet>& setError(RefPtr<Inspector::Protocol::Database::Error> value)
568         {
569             COMPILE_ASSERT(!(STATE & ErrorSet), property_error_already_set);
570             m_result->setObject(ASCIILiteral("error"), value);
571             return castState<ErrorSet>();
572         }
573
574         Builder<STATE | ErrorListSet>& setErrorList(RefPtr<Inspector::Protocol::Database::ErrorList> value)
575         {
576             COMPILE_ASSERT(!(STATE & ErrorListSet), property_errorList_already_set);
577             m_result->setArray(ASCIILiteral("errorList"), value);
578             return castState<ErrorListSet>();
579         }
580
581         Ref<ParameterBundle> release()
582         {
583             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
584             COMPILE_ASSERT(sizeof(ParameterBundle) == sizeof(InspectorObject), cannot_cast);
585
586             Ref<InspectorObject> result = m_result.releaseNonNull();
587             return WTF::move(*reinterpret_cast<Ref<ParameterBundle>*>(&result));
588         }
589     };
590
591     /*
592      * Synthetic constructor:
593      * Ref<ParameterBundle> result = ParameterBundle::create()
594      *     .setColumnNames(...)
595      *     .setNotes(...)
596      *     .setTimestamp(...)
597      *     .setValues(...)
598      *     .setPayload(...)
599      *     .setError(...)
600      *     .setErrorList(...)
601      *     .release();
602      */
603     static Builder<NoFieldsSet> create()
604     {
605         return Builder<NoFieldsSet>(InspectorObject::create());
606     }
607 };
608
609 /* Conflicted names may cause generated getters/setters to clash with built-in InspectorObject methods. */
610 class ObjectWithPropertyNameConflicts : public Inspector::InspectorObjectBase {
611 public:
612     enum {
613         NoFieldsSet = 0,
614         IntegerSet = 1 << 0,
615         ArraySet = 1 << 1,
616         StringSet = 1 << 2,
617         ValueSet = 1 << 3,
618         ObjectSet = 1 << 4,
619         AllFieldsSet = (IntegerSet | ArraySet | StringSet | ValueSet | ObjectSet)
620     };
621
622     template<int STATE>
623     class Builder {
624     private:
625         RefPtr<InspectorObject> m_result;
626
627         template<int STEP> Builder<STATE | STEP>& castState()
628         {
629             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
630         }
631
632         Builder(Ref</*ObjectWithPropertyNameConflicts*/InspectorObject>&& object)
633             : m_result(WTF::move(object))
634         {
635             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
636         }
637         friend class ObjectWithPropertyNameConflicts;
638     public:
639
640         Builder<STATE | IntegerSet>& setInteger(const String& value)
641         {
642             COMPILE_ASSERT(!(STATE & IntegerSet), property_integer_already_set);
643             m_result->setString(ASCIILiteral("integer"), value);
644             return castState<IntegerSet>();
645         }
646
647         Builder<STATE | ArraySet>& setArray(const String& value)
648         {
649             COMPILE_ASSERT(!(STATE & ArraySet), property_array_already_set);
650             m_result->setString(ASCIILiteral("array"), value);
651             return castState<ArraySet>();
652         }
653
654         Builder<STATE | StringSet>& setString(const String& value)
655         {
656             COMPILE_ASSERT(!(STATE & StringSet), property_string_already_set);
657             m_result->setString(ASCIILiteral("string"), value);
658             return castState<StringSet>();
659         }
660
661         Builder<STATE | ValueSet>& setValue(const String& value)
662         {
663             COMPILE_ASSERT(!(STATE & ValueSet), property_value_already_set);
664             m_result->setString(ASCIILiteral("value"), value);
665             return castState<ValueSet>();
666         }
667
668         Builder<STATE | ObjectSet>& setObject(const String& value)
669         {
670             COMPILE_ASSERT(!(STATE & ObjectSet), property_object_already_set);
671             m_result->setString(ASCIILiteral("object"), value);
672             return castState<ObjectSet>();
673         }
674
675         Ref<ObjectWithPropertyNameConflicts> release()
676         {
677             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
678             COMPILE_ASSERT(sizeof(ObjectWithPropertyNameConflicts) == sizeof(InspectorObject), cannot_cast);
679
680             Ref<InspectorObject> result = m_result.releaseNonNull();
681             return WTF::move(*reinterpret_cast<Ref<ObjectWithPropertyNameConflicts>*>(&result));
682         }
683     };
684
685     /*
686      * Synthetic constructor:
687      * Ref<ObjectWithPropertyNameConflicts> result = ObjectWithPropertyNameConflicts::create()
688      *     .setInteger(...)
689      *     .setArray(...)
690      *     .setString(...)
691      *     .setValue(...)
692      *     .setObject(...)
693      *     .release();
694      */
695     static Builder<NoFieldsSet> create()
696     {
697         return Builder<NoFieldsSet>(InspectorObject::create());
698     }
699 };
700
701 } // Database
702
703 namespace Test {
704 class ParameterBundle : public Inspector::InspectorObjectBase {
705 public:
706     enum {
707         NoFieldsSet = 0,
708         ColumnNamesSet = 1 << 0,
709         NotesSet = 1 << 1,
710         TimestampSet = 1 << 2,
711         ValuesSet = 1 << 3,
712         PayloadSet = 1 << 4,
713         ErrorSet = 1 << 5,
714         AllFieldsSet = (ColumnNamesSet | NotesSet | TimestampSet | ValuesSet | PayloadSet | ErrorSet)
715     };
716
717     template<int STATE>
718     class Builder {
719     private:
720         RefPtr<InspectorObject> m_result;
721
722         template<int STEP> Builder<STATE | STEP>& castState()
723         {
724             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
725         }
726
727         Builder(Ref</*ParameterBundle*/InspectorObject>&& object)
728             : m_result(WTF::move(object))
729         {
730             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
731         }
732         friend class ParameterBundle;
733     public:
734
735         Builder<STATE | ColumnNamesSet>& setColumnNames(RefPtr<Inspector::Protocol::Array<String>> value)
736         {
737             COMPILE_ASSERT(!(STATE & ColumnNamesSet), property_columnNames_already_set);
738             m_result->setArray(ASCIILiteral("columnNames"), value);
739             return castState<ColumnNamesSet>();
740         }
741
742         Builder<STATE | NotesSet>& setNotes(const String& value)
743         {
744             COMPILE_ASSERT(!(STATE & NotesSet), property_notes_already_set);
745             m_result->setString(ASCIILiteral("notes"), value);
746             return castState<NotesSet>();
747         }
748
749         Builder<STATE | TimestampSet>& setTimestamp(double value)
750         {
751             COMPILE_ASSERT(!(STATE & TimestampSet), property_timestamp_already_set);
752             m_result->setDouble(ASCIILiteral("timestamp"), value);
753             return castState<TimestampSet>();
754         }
755
756         Builder<STATE | ValuesSet>& setValues(RefPtr<Inspector::InspectorObject> value)
757         {
758             COMPILE_ASSERT(!(STATE & ValuesSet), property_values_already_set);
759             m_result->setObject(ASCIILiteral("values"), value);
760             return castState<ValuesSet>();
761         }
762
763         Builder<STATE | PayloadSet>& setPayload(RefPtr<Inspector::InspectorValue> value)
764         {
765             COMPILE_ASSERT(!(STATE & PayloadSet), property_payload_already_set);
766             m_result->setValue(ASCIILiteral("payload"), value);
767             return castState<PayloadSet>();
768         }
769
770         Builder<STATE | ErrorSet>& setError(RefPtr<Inspector::Protocol::Database::Error> value)
771         {
772             COMPILE_ASSERT(!(STATE & ErrorSet), property_error_already_set);
773             m_result->setObject(ASCIILiteral("error"), value);
774             return castState<ErrorSet>();
775         }
776
777         Ref<ParameterBundle> release()
778         {
779             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
780             COMPILE_ASSERT(sizeof(ParameterBundle) == sizeof(InspectorObject), cannot_cast);
781
782             Ref<InspectorObject> result = m_result.releaseNonNull();
783             return WTF::move(*reinterpret_cast<Ref<ParameterBundle>*>(&result));
784         }
785     };
786
787     /*
788      * Synthetic constructor:
789      * Ref<ParameterBundle> result = ParameterBundle::create()
790      *     .setColumnNames(...)
791      *     .setNotes(...)
792      *     .setTimestamp(...)
793      *     .setValues(...)
794      *     .setPayload(...)
795      *     .setError(...)
796      *     .release();
797      */
798     static Builder<NoFieldsSet> create()
799     {
800         return Builder<NoFieldsSet>(InspectorObject::create());
801     }
802 };
803
804 } // Test
805
806
807
808 } // namespace Protocol
809
810 } // namespace Inspector
811
812 #endif // !defined(InspectorProtocolObjects_h)
813 ### End File: InspectorProtocolObjects.h
814
815 ### Begin File: InspectorProtocolObjects.cpp
816 /*
817  * Copyright (C) 2013 Google Inc. All rights reserved.
818  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
819  * Copyright (C) 2014 University of Washington. All rights reserved.
820  *
821  * Redistribution and use in source and binary forms, with or without
822  * modification, are permitted provided that the following conditions
823  * are met:
824  * 1. Redistributions of source code must retain the above copyright
825  *    notice, this list of conditions and the following disclaimer.
826  * 2. Redistributions in binary form must reproduce the above copyright
827  *    notice, this list of conditions and the following disclaimer in the
828  *    documentation and/or other materials provided with the distribution.
829  *
830  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
831  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
832  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
833  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
834  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
835  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
836  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
837  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
838  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
839  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
840  * THE POSSIBILITY OF SUCH DAMAGE.
841  */
842
843 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
844 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
845
846 #include "config.h"
847 #include "InspectorProtocolObjects.h"
848
849 #include <wtf/text/CString.h>
850
851 namespace Inspector {
852
853 namespace Protocol {
854
855 static const char* const enum_constant_values[] = {
856 };
857
858 String getEnumConstantValue(int code) {
859     return enum_constant_values[code];
860 }
861
862
863
864 } // namespace Protocol
865
866 } // namespace Inspector
867
868 ### End File: InspectorProtocolObjects.cpp
869
870 ### Begin File: RWIProtocolBackendDispatchers.h
871 /*
872  * Copyright (C) 2013 Google Inc. All rights reserved.
873  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
874  * Copyright (C) 2014 University of Washington. All rights reserved.
875  *
876  * Redistribution and use in source and binary forms, with or without
877  * modification, are permitted provided that the following conditions
878  * are met:
879  * 1. Redistributions of source code must retain the above copyright
880  *    notice, this list of conditions and the following disclaimer.
881  * 2. Redistributions in binary form must reproduce the above copyright
882  *    notice, this list of conditions and the following disclaimer in the
883  *    documentation and/or other materials provided with the distribution.
884  *
885  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
886  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
887  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
888  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
889  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
890  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
891  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
892  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
893  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
894  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
895  * THE POSSIBILITY OF SUCH DAMAGE.
896  */
897
898 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
899 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
900
901 #include <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
902 #include <wtf/RetainPtr.h>
903
904
905
906 namespace Inspector {
907
908
909
910
911
912
913 } // namespace Inspector
914
915 ### End File: RWIProtocolBackendDispatchers.h
916
917 ### Begin File: RWIProtocolConfiguration.mm
918 /*
919  * Copyright (C) 2013 Google Inc. All rights reserved.
920  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
921  * Copyright (C) 2014 University of Washington. All rights reserved.
922  *
923  * Redistribution and use in source and binary forms, with or without
924  * modification, are permitted provided that the following conditions
925  * are met:
926  * 1. Redistributions of source code must retain the above copyright
927  *    notice, this list of conditions and the following disclaimer.
928  * 2. Redistributions in binary form must reproduce the above copyright
929  *    notice, this list of conditions and the following disclaimer in the
930  *    documentation and/or other materials provided with the distribution.
931  *
932  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
933  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
934  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
935  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
936  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
937  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
938  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
939  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
940  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
941  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
942  * THE POSSIBILITY OF SUCH DAMAGE.
943  */
944
945 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
946 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
947
948 #import "config.h"
949 #import "RWIProtocolConfiguration.h"
950
951 #import "RWIProtocolInternal.h"
952 #import "RWIProtocolBackendDispatchers.h"
953 #import <JavaScriptCore/AlternateDispatchableAgent.h>
954 #import <JavaScriptCore/AugmentableInspectorController.h>
955 #import <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
956 #import <JavaScriptCore/InspectorBackendDispatchers.h>
957
958 using namespace Inspector;
959
960 @implementation RWIProtocolConfiguration
961 {
962     AugmentableInspectorController* _controller;
963 }
964
965 - (instancetype)initWithController:(AugmentableInspectorController*)controller
966 {
967     self = [super init];
968     if (!self)
969         return nil;
970     ASSERT(controller);
971     _controller = controller;
972     return self;
973 }
974
975 - (void)dealloc
976 {
977     [super dealloc];
978 }
979
980 @end
981
982
983 ### End File: RWIProtocolConfiguration.mm
984
985 ### Begin File: RWIProtocolConfiguration.h
986 /*
987  * Copyright (C) 2013 Google Inc. All rights reserved.
988  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
989  * Copyright (C) 2014 University of Washington. All rights reserved.
990  *
991  * Redistribution and use in source and binary forms, with or without
992  * modification, are permitted provided that the following conditions
993  * are met:
994  * 1. Redistributions of source code must retain the above copyright
995  *    notice, this list of conditions and the following disclaimer.
996  * 2. Redistributions in binary form must reproduce the above copyright
997  *    notice, this list of conditions and the following disclaimer in the
998  *    documentation and/or other materials provided with the distribution.
999  *
1000  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1001  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1002  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1003  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1004  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1005  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1006  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1007  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1008  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1009  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1010  * THE POSSIBILITY OF SUCH DAMAGE.
1011  */
1012
1013 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1014 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1015
1016 #import "RWIProtocol.h"
1017
1018 __attribute__((visibility ("default")))
1019 @interface RWIProtocolConfiguration : NSObject
1020 @end
1021
1022
1023 ### End File: RWIProtocolConfiguration.h
1024
1025 ### Begin File: RWIProtocolBackendDispatchers.mm
1026 /*
1027  * Copyright (C) 2013 Google Inc. All rights reserved.
1028  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1029  * Copyright (C) 2014 University of Washington. All rights reserved.
1030  *
1031  * Redistribution and use in source and binary forms, with or without
1032  * modification, are permitted provided that the following conditions
1033  * are met:
1034  * 1. Redistributions of source code must retain the above copyright
1035  *    notice, this list of conditions and the following disclaimer.
1036  * 2. Redistributions in binary form must reproduce the above copyright
1037  *    notice, this list of conditions and the following disclaimer in the
1038  *    documentation and/or other materials provided with the distribution.
1039  *
1040  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1041  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1042  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1043  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1044  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1045  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1046  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1047  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1048  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1049  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1050  * THE POSSIBILITY OF SUCH DAMAGE.
1051  */
1052
1053 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1054 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1055
1056 #import "config.h"
1057 #import "RWIProtocolBackendDispatchers.h"
1058
1059 #include "RWIProtocolInternal.h"
1060 #include "RWIProtocolEnumConversionHelpers.h"
1061 #include <JavaScriptCore/InspectorFrontendChannel.h>
1062 #include <JavaScriptCore/InspectorValues.h>
1063
1064 namespace Inspector {
1065
1066
1067
1068
1069
1070 } // namespace Inspector
1071
1072 ### End File: RWIProtocolBackendDispatchers.mm
1073
1074 ### Begin File: RWIProtocolEnumConversionHelpers.h
1075 /*
1076  * Copyright (C) 2013 Google Inc. All rights reserved.
1077  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1078  * Copyright (C) 2014 University of Washington. All rights reserved.
1079  *
1080  * Redistribution and use in source and binary forms, with or without
1081  * modification, are permitted provided that the following conditions
1082  * are met:
1083  * 1. Redistributions of source code must retain the above copyright
1084  *    notice, this list of conditions and the following disclaimer.
1085  * 2. Redistributions in binary form must reproduce the above copyright
1086  *    notice, this list of conditions and the following disclaimer in the
1087  *    documentation and/or other materials provided with the distribution.
1088  *
1089  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1090  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1091  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1092  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1093  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1094  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1095  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1096  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1097  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1098  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1099  * THE POSSIBILITY OF SUCH DAMAGE.
1100  */
1101
1102 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1103 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1104
1105 #import "RWIProtocolArrayConversionHelpers.h"
1106
1107 namespace Inspector {
1108
1109 template<typename ObjCEnumType>
1110 ObjCEnumType fromProtocolString(const String& value);
1111
1112
1113
1114
1115
1116 } // namespace Inspector
1117
1118 ### End File: RWIProtocolEnumConversionHelpers.h
1119
1120 ### Begin File: RWIProtocolEventDispatchers.mm
1121 /*
1122  * Copyright (C) 2013 Google Inc. All rights reserved.
1123  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1124  * Copyright (C) 2014 University of Washington. All rights reserved.
1125  *
1126  * Redistribution and use in source and binary forms, with or without
1127  * modification, are permitted provided that the following conditions
1128  * are met:
1129  * 1. Redistributions of source code must retain the above copyright
1130  *    notice, this list of conditions and the following disclaimer.
1131  * 2. Redistributions in binary form must reproduce the above copyright
1132  *    notice, this list of conditions and the following disclaimer in the
1133  *    documentation and/or other materials provided with the distribution.
1134  *
1135  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1136  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1137  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1138  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1139  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1140  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1141  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1142  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1143  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1144  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1145  * THE POSSIBILITY OF SUCH DAMAGE.
1146  */
1147
1148 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1149 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1150
1151 #import "config.h"
1152 #import "RWIProtocolInternal.h"
1153
1154 #import "RWIProtocolEnumConversionHelpers.h"
1155 #import <JavaScriptCore/InspectorFrontendChannel.h>
1156 #import <JavaScriptCore/InspectorValues.h>
1157
1158 using namespace Inspector;
1159
1160
1161
1162
1163
1164
1165 ### End File: RWIProtocolEventDispatchers.mm
1166
1167 ### Begin File: RWIProtocol.h
1168 /*
1169  * Copyright (C) 2013 Google Inc. All rights reserved.
1170  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1171  * Copyright (C) 2014 University of Washington. All rights reserved.
1172  *
1173  * Redistribution and use in source and binary forms, with or without
1174  * modification, are permitted provided that the following conditions
1175  * are met:
1176  * 1. Redistributions of source code must retain the above copyright
1177  *    notice, this list of conditions and the following disclaimer.
1178  * 2. Redistributions in binary form must reproduce the above copyright
1179  *    notice, this list of conditions and the following disclaimer in the
1180  *    documentation and/or other materials provided with the distribution.
1181  *
1182  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1183  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1184  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1185  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1186  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1187  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1188  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1189  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1190  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1191  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1192  * THE POSSIBILITY OF SUCH DAMAGE.
1193  */
1194
1195 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1196 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1197
1198 #import <Foundation/Foundation.h>
1199
1200 #import <WebInspector/RWIProtocolJSONObject.h>
1201
1202
1203 @class RWIProtocolDatabaseError;
1204 @class RWIProtocolDatabaseOptionalParameterBundle;
1205 @class RWIProtocolDatabaseParameterBundle;
1206 @class RWIProtocolDatabaseObjectWithPropertyNameConflicts;
1207 @class RWIProtocolDatabaseDummyObject;
1208 @class RWIProtocolTestParameterBundle;
1209
1210
1211
1212
1213 __attribute__((visibility ("default")))
1214 @interface RWIProtocolDatabaseError : RWIProtocolJSONObject
1215 - (instancetype)initWithMessage:(NSString *)message code:(int)code;
1216 /* required */ @property (nonatomic, copy) NSString *message;
1217 /* required */ @property (nonatomic, assign) int code;
1218 @end
1219
1220 __attribute__((visibility ("default")))
1221 @interface RWIProtocolDatabaseOptionalParameterBundle : RWIProtocolJSONObject
1222 /* optional */ @property (nonatomic, copy) NSArray/*<NSString>*/ *columnNames;
1223 /* optional */ @property (nonatomic, copy) NSString *notes;
1224 /* optional */ @property (nonatomic, assign) double timestamp;
1225 /* optional */ @property (nonatomic, retain) RWIProtocolJSONObject *values;
1226 /* optional */ @property (nonatomic, retain) RWIProtocolJSONObject *payload;
1227 /* optional */ @property (nonatomic, retain) RWIProtocolDatabaseError *error;
1228 /* optional */ @property (nonatomic, copy) NSArray/*<RWIProtocolDatabaseError>*/ *errorList;
1229 @end
1230
1231 __attribute__((visibility ("default")))
1232 @interface RWIProtocolDatabaseParameterBundle : RWIProtocolJSONObject
1233 - (instancetype)initWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload error:(RWIProtocolDatabaseError *)error errorList:(NSArray/*<RWIProtocolDatabaseError>*/ *)errorList;
1234 /* required */ @property (nonatomic, copy) NSArray/*<NSString>*/ *columnNames;
1235 /* required */ @property (nonatomic, copy) NSString *notes;
1236 /* required */ @property (nonatomic, assign) double timestamp;
1237 /* required */ @property (nonatomic, retain) RWIProtocolJSONObject *values;
1238 /* required */ @property (nonatomic, retain) RWIProtocolJSONObject *payload;
1239 /* required */ @property (nonatomic, retain) RWIProtocolDatabaseError *error;
1240 /* required */ @property (nonatomic, copy) NSArray/*<RWIProtocolDatabaseError>*/ *errorList;
1241 @end
1242
1243 __attribute__((visibility ("default")))
1244 @interface RWIProtocolDatabaseObjectWithPropertyNameConflicts : RWIProtocolJSONObject
1245 - (instancetype)initWithInteger:(NSString *)integer array:(NSString *)array string:(NSString *)string value:(NSString *)value object:(NSString *)object;
1246 /* required */ @property (nonatomic, copy) NSString *integer;
1247 /* required */ @property (nonatomic, copy) NSString *array;
1248 /* required */ @property (nonatomic, copy) NSString *string;
1249 /* required */ @property (nonatomic, copy) NSString *value;
1250 /* required */ @property (nonatomic, copy) NSString *object;
1251 @end
1252
1253 __attribute__((visibility ("default")))
1254 @interface RWIProtocolDatabaseDummyObject : RWIProtocolJSONObject
1255 @end
1256
1257 __attribute__((visibility ("default")))
1258 @interface RWIProtocolTestParameterBundle : RWIProtocolJSONObject
1259 - (instancetype)initWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload error:(RWIProtocolDatabaseError *)error;
1260 /* required */ @property (nonatomic, copy) NSArray/*<NSString>*/ *columnNames;
1261 /* required */ @property (nonatomic, copy) NSString *notes;
1262 /* required */ @property (nonatomic, assign) double timestamp;
1263 /* required */ @property (nonatomic, retain) RWIProtocolJSONObject *values;
1264 /* required */ @property (nonatomic, retain) RWIProtocolJSONObject *payload;
1265 /* required */ @property (nonatomic, retain) RWIProtocolDatabaseError *error;
1266 @end
1267
1268
1269
1270
1271
1272
1273 ### End File: RWIProtocol.h
1274
1275 ### Begin File: RWIProtocolTypes.mm
1276 /*
1277  * Copyright (C) 2013 Google Inc. All rights reserved.
1278  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1279  * Copyright (C) 2014 University of Washington. All rights reserved.
1280  *
1281  * Redistribution and use in source and binary forms, with or without
1282  * modification, are permitted provided that the following conditions
1283  * are met:
1284  * 1. Redistributions of source code must retain the above copyright
1285  *    notice, this list of conditions and the following disclaimer.
1286  * 2. Redistributions in binary form must reproduce the above copyright
1287  *    notice, this list of conditions and the following disclaimer in the
1288  *    documentation and/or other materials provided with the distribution.
1289  *
1290  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1291  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1292  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1293  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1294  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1295  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1296  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1297  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1298  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1299  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1300  * THE POSSIBILITY OF SUCH DAMAGE.
1301  */
1302
1303 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1304 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1305
1306 #import "config.h"
1307 #import "RWIProtocolInternal.h"
1308
1309 #import "RWIProtocolEnumConversionHelpers.h"
1310 #import <JavaScriptCore/InspectorValues.h>
1311 #import <wtf/Assertions.h>
1312
1313 using namespace Inspector;
1314
1315
1316 @implementation RWIProtocolDatabaseError
1317
1318 - (instancetype)initWithMessage:(NSString *)message code:(int)code;
1319 {
1320     self = [super init];
1321     if (!self)
1322         return nil;
1323
1324     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message");
1325
1326     self.message = message;
1327     self.code = code;
1328
1329     return self;
1330 }
1331
1332 - (void)setMessage:(NSString *)message
1333 {
1334     [super setString:message forKey:@"message"];
1335 }
1336
1337 - (NSString *)message
1338 {
1339     return [super stringForKey:@"message"];
1340 }
1341
1342 - (void)setCode:(int)code
1343 {
1344     [super setInteger:code forKey:@"code"];
1345 }
1346
1347 - (int)code
1348 {
1349     return [super integerForKey:@"code"];
1350 }
1351
1352 @end
1353
1354 @implementation RWIProtocolDatabaseOptionalParameterBundle
1355
1356 - (void)setColumnNames:(NSArray/*<NSString>*/ *)columnNames
1357 {
1358     [super setInspectorArray:inspectorStringArray(columnNames) forKey:@"columnNames"];
1359 }
1360
1361 - (NSArray/*<NSString>*/ *)columnNames
1362 {
1363     return objcStringArray([super inspectorArrayForKey:@"columnNames"]);
1364 }
1365
1366 - (void)setNotes:(NSString *)notes
1367 {
1368     [super setString:notes forKey:@"notes"];
1369 }
1370
1371 - (NSString *)notes
1372 {
1373     return [super stringForKey:@"notes"];
1374 }
1375
1376 - (void)setTimestamp:(double)timestamp
1377 {
1378     [super setDouble:timestamp forKey:@"timestamp"];
1379 }
1380
1381 - (double)timestamp
1382 {
1383     return [super doubleForKey:@"timestamp"];
1384 }
1385
1386 - (void)setValues:(RWIProtocolJSONObject *)values
1387 {
1388     [super setObject:values forKey:@"values"];
1389 }
1390
1391 - (RWIProtocolJSONObject *)values
1392 {
1393     return (RWIProtocolJSONObject *)[super objectForKey:@"values"];
1394 }
1395
1396 - (void)setPayload:(RWIProtocolJSONObject *)payload
1397 {
1398     [super setObject:payload forKey:@"payload"];
1399 }
1400
1401 - (RWIProtocolJSONObject *)payload
1402 {
1403     return (RWIProtocolJSONObject *)[super objectForKey:@"payload"];
1404 }
1405
1406 - (void)setError:(RWIProtocolDatabaseError *)error
1407 {
1408     [super setObject:error forKey:@"error"];
1409 }
1410
1411 - (RWIProtocolDatabaseError *)error
1412 {
1413     return (RWIProtocolDatabaseError *)[super objectForKey:@"error"];
1414 }
1415
1416 - (void)setErrorList:(NSArray/*<RWIProtocolDatabaseError>*/ *)errorList
1417 {
1418     THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(errorList, [RWIProtocolDatabaseError class]);
1419     [super setInspectorArray:inspectorObjectArray(errorList) forKey:@"errorList"];
1420 }
1421
1422 - (NSArray/*<RWIProtocolDatabaseError>*/ *)errorList
1423 {
1424     return objcArray<RWIProtocolDatabaseError>([super inspectorArrayForKey:@"errorList"]);
1425 }
1426
1427 @end
1428
1429 @implementation RWIProtocolDatabaseParameterBundle
1430
1431 - (instancetype)initWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload error:(RWIProtocolDatabaseError *)error errorList:(NSArray/*<RWIProtocolDatabaseError>*/ *)errorList;
1432 {
1433     self = [super init];
1434     if (!self)
1435         return nil;
1436
1437     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(columnNames, @"columnNames");
1438     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(notes, @"notes");
1439     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(values, @"values");
1440     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload, @"payload");
1441     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(error, @"error");
1442     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(errorList, @"errorList");
1443     THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(errorList, [RWIProtocolDatabaseError class]);
1444
1445     self.columnNames = columnNames;
1446     self.notes = notes;
1447     self.timestamp = timestamp;
1448     self.values = values;
1449     self.payload = payload;
1450     self.error = error;
1451     self.errorList = errorList;
1452
1453     return self;
1454 }
1455
1456 - (void)setColumnNames:(NSArray/*<NSString>*/ *)columnNames
1457 {
1458     [super setInspectorArray:inspectorStringArray(columnNames) forKey:@"columnNames"];
1459 }
1460
1461 - (NSArray/*<NSString>*/ *)columnNames
1462 {
1463     return objcStringArray([super inspectorArrayForKey:@"columnNames"]);
1464 }
1465
1466 - (void)setNotes:(NSString *)notes
1467 {
1468     [super setString:notes forKey:@"notes"];
1469 }
1470
1471 - (NSString *)notes
1472 {
1473     return [super stringForKey:@"notes"];
1474 }
1475
1476 - (void)setTimestamp:(double)timestamp
1477 {
1478     [super setDouble:timestamp forKey:@"timestamp"];
1479 }
1480
1481 - (double)timestamp
1482 {
1483     return [super doubleForKey:@"timestamp"];
1484 }
1485
1486 - (void)setValues:(RWIProtocolJSONObject *)values
1487 {
1488     [super setObject:values forKey:@"values"];
1489 }
1490
1491 - (RWIProtocolJSONObject *)values
1492 {
1493     return (RWIProtocolJSONObject *)[super objectForKey:@"values"];
1494 }
1495
1496 - (void)setPayload:(RWIProtocolJSONObject *)payload
1497 {
1498     [super setObject:payload forKey:@"payload"];
1499 }
1500
1501 - (RWIProtocolJSONObject *)payload
1502 {
1503     return (RWIProtocolJSONObject *)[super objectForKey:@"payload"];
1504 }
1505
1506 - (void)setError:(RWIProtocolDatabaseError *)error
1507 {
1508     [super setObject:error forKey:@"error"];
1509 }
1510
1511 - (RWIProtocolDatabaseError *)error
1512 {
1513     return (RWIProtocolDatabaseError *)[super objectForKey:@"error"];
1514 }
1515
1516 - (void)setErrorList:(NSArray/*<RWIProtocolDatabaseError>*/ *)errorList
1517 {
1518     THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(errorList, [RWIProtocolDatabaseError class]);
1519     [super setInspectorArray:inspectorObjectArray(errorList) forKey:@"errorList"];
1520 }
1521
1522 - (NSArray/*<RWIProtocolDatabaseError>*/ *)errorList
1523 {
1524     return objcArray<RWIProtocolDatabaseError>([super inspectorArrayForKey:@"errorList"]);
1525 }
1526
1527 @end
1528
1529 @implementation RWIProtocolDatabaseObjectWithPropertyNameConflicts
1530
1531 - (instancetype)initWithInteger:(NSString *)integer array:(NSString *)array string:(NSString *)string value:(NSString *)value object:(NSString *)object;
1532 {
1533     self = [super init];
1534     if (!self)
1535         return nil;
1536
1537     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(integer, @"integer");
1538     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(array, @"array");
1539     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(string, @"string");
1540     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(value, @"value");
1541     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(object, @"object");
1542
1543     self.integer = integer;
1544     self.array = array;
1545     self.string = string;
1546     self.value = value;
1547     self.object = object;
1548
1549     return self;
1550 }
1551
1552 - (void)setInteger:(NSString *)integer
1553 {
1554     [super setString:integer forKey:@"integer"];
1555 }
1556
1557 - (NSString *)integer
1558 {
1559     return [super stringForKey:@"integer"];
1560 }
1561
1562 - (void)setArray:(NSString *)array
1563 {
1564     [super setString:array forKey:@"array"];
1565 }
1566
1567 - (NSString *)array
1568 {
1569     return [super stringForKey:@"array"];
1570 }
1571
1572 - (void)setString:(NSString *)string
1573 {
1574     [super setString:string forKey:@"string"];
1575 }
1576
1577 - (NSString *)string
1578 {
1579     return [super stringForKey:@"string"];
1580 }
1581
1582 - (void)setValue:(NSString *)value
1583 {
1584     [super setString:value forKey:@"value"];
1585 }
1586
1587 - (NSString *)value
1588 {
1589     return [super stringForKey:@"value"];
1590 }
1591
1592 - (void)setObject:(NSString *)object
1593 {
1594     [super setString:object forKey:@"object"];
1595 }
1596
1597 - (NSString *)object
1598 {
1599     return [super stringForKey:@"object"];
1600 }
1601
1602 @end
1603
1604 @implementation RWIProtocolDatabaseDummyObject
1605
1606 @end
1607
1608
1609 @implementation RWIProtocolTestParameterBundle
1610
1611 - (instancetype)initWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload error:(RWIProtocolDatabaseError *)error;
1612 {
1613     self = [super init];
1614     if (!self)
1615         return nil;
1616
1617     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(columnNames, @"columnNames");
1618     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(notes, @"notes");
1619     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(values, @"values");
1620     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload, @"payload");
1621     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(error, @"error");
1622
1623     self.columnNames = columnNames;
1624     self.notes = notes;
1625     self.timestamp = timestamp;
1626     self.values = values;
1627     self.payload = payload;
1628     self.error = error;
1629
1630     return self;
1631 }
1632
1633 - (void)setColumnNames:(NSArray/*<NSString>*/ *)columnNames
1634 {
1635     [super setInspectorArray:inspectorStringArray(columnNames) forKey:@"columnNames"];
1636 }
1637
1638 - (NSArray/*<NSString>*/ *)columnNames
1639 {
1640     return objcStringArray([super inspectorArrayForKey:@"columnNames"]);
1641 }
1642
1643 - (void)setNotes:(NSString *)notes
1644 {
1645     [super setString:notes forKey:@"notes"];
1646 }
1647
1648 - (NSString *)notes
1649 {
1650     return [super stringForKey:@"notes"];
1651 }
1652
1653 - (void)setTimestamp:(double)timestamp
1654 {
1655     [super setDouble:timestamp forKey:@"timestamp"];
1656 }
1657
1658 - (double)timestamp
1659 {
1660     return [super doubleForKey:@"timestamp"];
1661 }
1662
1663 - (void)setValues:(RWIProtocolJSONObject *)values
1664 {
1665     [super setObject:values forKey:@"values"];
1666 }
1667
1668 - (RWIProtocolJSONObject *)values
1669 {
1670     return (RWIProtocolJSONObject *)[super objectForKey:@"values"];
1671 }
1672
1673 - (void)setPayload:(RWIProtocolJSONObject *)payload
1674 {
1675     [super setObject:payload forKey:@"payload"];
1676 }
1677
1678 - (RWIProtocolJSONObject *)payload
1679 {
1680     return (RWIProtocolJSONObject *)[super objectForKey:@"payload"];
1681 }
1682
1683 - (void)setError:(RWIProtocolDatabaseError *)error
1684 {
1685     [super setObject:error forKey:@"error"];
1686 }
1687
1688 - (RWIProtocolDatabaseError *)error
1689 {
1690     return (RWIProtocolDatabaseError *)[super objectForKey:@"error"];
1691 }
1692
1693 @end
1694
1695
1696 ### End File: RWIProtocolTypes.mm
1697
1698 ### Begin File: RWIProtocolInternal.h
1699 /*
1700  * Copyright (C) 2013 Google Inc. All rights reserved.
1701  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1702  * Copyright (C) 2014 University of Washington. All rights reserved.
1703  *
1704  * Redistribution and use in source and binary forms, with or without
1705  * modification, are permitted provided that the following conditions
1706  * are met:
1707  * 1. Redistributions of source code must retain the above copyright
1708  *    notice, this list of conditions and the following disclaimer.
1709  * 2. Redistributions in binary form must reproduce the above copyright
1710  *    notice, this list of conditions and the following disclaimer in the
1711  *    documentation and/or other materials provided with the distribution.
1712  *
1713  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1714  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1715  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1716  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1717  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1718  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1719  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1720  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1721  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1722  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1723  * THE POSSIBILITY OF SUCH DAMAGE.
1724  */
1725
1726 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1727 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1728
1729 #import "RWIProtocol.h"
1730 #import "RWIProtocolJSONObjectInternal.h"
1731 #import <JavaScriptCore/AugmentableInspectorController.h>
1732 #import <JavaScriptCore/InspectorValues.h>
1733
1734
1735
1736
1737 ### End File: RWIProtocolInternal.h