@@ -120,290 +120,14 @@ void JsonVisitor::endVisitNode(std::string &&str) {
120
120
printed_.back ().emplace_back (std::move (str));
121
121
}
122
122
123
- bool JsonVisitor::visitDocument (const Document &document) {
124
- visitNode ();
125
- return true ;
126
- }
127
-
128
- void JsonVisitor::endVisitDocument (const Document &document) {
129
- NodeFieldPrinter fields (*this , " Document" , document);
130
- fields.printPluralField (" definitions" , document.getDefinitions ());
131
- endVisitNode (fields.finishPrinting ());
132
- assert (printed_.size () == 1 );
133
- }
134
-
135
- bool JsonVisitor::visitOperationDefinition (const OperationDefinition &operationDefinition) {
136
- visitNode ();
137
- return true ;
138
- }
139
-
140
- void JsonVisitor::endVisitOperationDefinition (const OperationDefinition &operationDefinition) {
141
- NodeFieldPrinter fields (*this , " OperationDefinition" , operationDefinition);
142
-
143
- fields.printSingularPrimitiveField (" operation" , operationDefinition.getOperation ());
144
- fields.printNullableSingularObjectField (" name" , operationDefinition.getName ());
145
-
146
- fields.printNullablePluralField (
147
- " variableDefinitions" ,
148
- operationDefinition.getVariableDefinitions ());
149
-
150
- fields.printNullablePluralField (
151
- " directives" ,
152
- operationDefinition.getDirectives ());
153
-
154
- fields.printSingularObjectField (" selectionSet" );
155
-
156
- endVisitNode (fields.finishPrinting ());
157
- }
158
-
159
- bool JsonVisitor::visitVariableDefinition (const VariableDefinition &variableDefinition) {
160
- visitNode ();
161
- return true ;
162
- }
163
-
164
- void JsonVisitor::endVisitVariableDefinition (const VariableDefinition &variableDefinition) {
165
- NodeFieldPrinter fields (*this , " VariableDefinition" , variableDefinition);
166
- fields.printSingularObjectField (" variable" );
167
- fields.printSingularObjectField (" type" );
168
- fields.printNullableSingularObjectField (
169
- " defaultValue" ,
170
- variableDefinition.getDefaultValue ());
171
-
172
-
173
- endVisitNode (fields.finishPrinting ());
174
- }
175
-
176
- bool JsonVisitor::visitSelectionSet (const SelectionSet &selectionSet) {
177
- visitNode ();
178
- return true ;
179
- }
180
-
181
- void JsonVisitor::endVisitSelectionSet (const SelectionSet &selectionSet) {
182
- NodeFieldPrinter fields (*this , " SelectionSet" , selectionSet);
183
- fields.printPluralField (" selections" , selectionSet.getSelections ());
184
-
185
- endVisitNode (fields.finishPrinting ());
186
- }
187
-
188
- bool JsonVisitor::visitField (const Field &field) {
189
- visitNode ();
190
- return true ;
191
- }
192
-
193
- void JsonVisitor::endVisitField (const Field &field) {
194
- NodeFieldPrinter fields (*this , " Field" , field);
195
- fields.printNullableSingularObjectField (" alias" , field.getAlias ());
196
- fields.printSingularObjectField (" name" );
197
- fields.printNullablePluralField (" arguments" , field.getArguments ());
198
- fields.printNullablePluralField (" directives" , field.getDirectives ());
199
- fields.printNullableSingularObjectField (" selectionSet" , field.getSelectionSet ());
200
-
201
- endVisitNode (fields.finishPrinting ());
202
- }
203
-
204
- bool JsonVisitor::visitArgument (const Argument &argument) {
205
- visitNode ();
206
- return true ;
207
- }
208
-
209
- void JsonVisitor::endVisitArgument (const Argument &argument) {
210
- NodeFieldPrinter fields (*this , " Argument" , argument);
211
- fields.printSingularObjectField (" name" );
212
- fields.printSingularObjectField (" value" );
213
-
214
- endVisitNode (fields.finishPrinting ());
215
- }
216
-
217
- bool JsonVisitor::visitFragmentSpread (const FragmentSpread &fragmentSpread) {
218
- visitNode ();
219
- return true ;
220
- }
221
-
222
- void JsonVisitor::endVisitFragmentSpread (const FragmentSpread &fragmentSpread) {
223
- NodeFieldPrinter fields (*this , " FragmentSpread" , fragmentSpread);
224
- fields.printSingularObjectField (" name" );
225
- fields.printNullablePluralField (" directives" , fragmentSpread.getDirectives ());
226
-
227
- endVisitNode (fields.finishPrinting ());
228
- }
229
-
230
- bool JsonVisitor::visitInlineFragment (const InlineFragment &inlineFragment) {
231
- visitNode ();
232
- return true ;
233
- }
234
-
235
- void JsonVisitor::endVisitInlineFragment (const InlineFragment &inlineFragment) {
236
- NodeFieldPrinter fields (*this , " InlineFragment" , inlineFragment);
237
- fields.printNullableSingularObjectField (" typeCondition" , inlineFragment.getTypeCondition ());
238
- fields.printNullablePluralField (" directives" , inlineFragment.getDirectives ());
239
- fields.printSingularObjectField (" selectionSet" );
240
-
241
- endVisitNode (fields.finishPrinting ());
242
- }
243
-
244
- bool JsonVisitor::visitFragmentDefinition (const FragmentDefinition &fragmentDefinition) {
245
- visitNode ();
246
- return true ;
247
- }
248
-
249
- void JsonVisitor::endVisitFragmentDefinition (const FragmentDefinition &fragmentDefinition) {
250
- NodeFieldPrinter fields (*this , " FragmentDefinition" , fragmentDefinition);
251
-
252
- fields.printSingularObjectField (" name" );
253
- fields.printSingularObjectField (" typeCondition" );
254
- fields.printNullablePluralField (" directives" , fragmentDefinition.getDirectives ());
255
- fields.printSingularObjectField (" selectionSet" );
256
-
257
- endVisitNode (fields.finishPrinting ());
258
- }
259
-
260
- bool JsonVisitor::visitVariable (const Variable &variable) {
261
- visitNode ();
262
- return true ;
263
- }
264
-
265
- void JsonVisitor::endVisitVariable (const Variable &variable) {
266
- NodeFieldPrinter fields (*this , " Variable" , variable);
267
- fields.printSingularObjectField (" name" );
268
-
269
- endVisitNode (fields.finishPrinting ());
270
- }
271
-
272
- template <typename ValueNode>
273
- void JsonVisitor::endVisitValueRepresentedAsString (const char *valueKind, const ValueNode &value) {
274
- NodeFieldPrinter fields (*this , valueKind, value);
275
- fields.printSingularPrimitiveField (" value" , value.getValue ());
276
-
277
- printed_.back ().emplace_back (fields.finishPrinting ());
278
- }
279
-
280
- void JsonVisitor::endVisitIntValue (const IntValue &intValue) {
281
- endVisitValueRepresentedAsString (" IntValue" , intValue);
282
- }
283
-
284
- void JsonVisitor::endVisitFloatValue (const FloatValue &floatValue) {
285
- endVisitValueRepresentedAsString (" FloatValue" , floatValue);
286
- }
287
-
288
- void JsonVisitor::endVisitStringValue (const StringValue &stringValue) {
289
- endVisitValueRepresentedAsString (" StringValue" , stringValue);
290
- }
291
-
292
- void JsonVisitor::endVisitEnumValue (const EnumValue &enumValue) {
293
- endVisitValueRepresentedAsString (" EnumValue" , enumValue);
294
- }
295
-
296
- void JsonVisitor::endVisitNullValue (const NullValue &nullValue) {
297
- NodeFieldPrinter fields (*this , " NullValue" , nullValue);
298
-
299
- printed_.back ().emplace_back (fields.finishPrinting ());
300
- }
301
-
302
- void JsonVisitor::endVisitBooleanValue (const BooleanValue &booleanValue) {
303
- NodeFieldPrinter fields (*this , " BooleanValue" , booleanValue);
304
- fields.printSingularBooleanField (
305
- " value" ,
306
- booleanValue.getValue ());
307
-
308
- printed_.back ().emplace_back (fields.finishPrinting ());
309
- }
310
-
311
- bool JsonVisitor::visitListValue (const ListValue &arrayValue) {
312
- visitNode ();
313
- return true ;
314
- }
315
-
316
- void JsonVisitor::endVisitListValue (const ListValue &arrayValue) {
317
- NodeFieldPrinter fields (*this , " ListValue" , arrayValue);
318
- fields.printPluralField (" values" , arrayValue.getValues ());
319
-
320
- endVisitNode (fields.finishPrinting ());
321
- }
322
-
323
- bool JsonVisitor::visitObjectValue (const ObjectValue &objectValue) {
324
- visitNode ();
325
- return true ;
326
- }
327
-
328
- void JsonVisitor::endVisitObjectValue (const ObjectValue &objectValue) {
329
- NodeFieldPrinter fields (*this , " ObjectValue" , objectValue);
330
- fields.printPluralField (" fields" , objectValue.getFields ());
331
-
332
- endVisitNode (fields.finishPrinting ());
333
- }
334
-
335
- bool JsonVisitor::visitObjectField (const ObjectField &objectField) {
336
- visitNode ();
337
- return true ;
338
- }
339
-
340
- void JsonVisitor::endVisitObjectField (const ObjectField &objectField) {
341
- NodeFieldPrinter fields (*this , " ObjectField" , objectField);
342
- fields.printSingularObjectField (" name" );
343
- fields.printSingularObjectField (" value" );
344
-
345
- endVisitNode (fields.finishPrinting ());
346
- }
347
-
348
- bool JsonVisitor::visitDirective (const Directive &directive) {
349
- visitNode ();
350
- return true ;
351
- }
352
-
353
- void JsonVisitor::endVisitDirective (const Directive &directive) {
354
- NodeFieldPrinter fields (*this , " Directive" , directive);
355
- fields.printSingularObjectField (" name" );
356
- fields.printNullablePluralField (" arguments" , directive.getArguments ());
357
-
358
- endVisitNode (fields.finishPrinting ());
359
- }
360
-
361
- void JsonVisitor::endVisitName (const Name &name) {
362
- endVisitValueRepresentedAsString (" Name" , name);
363
- }
364
-
365
- bool JsonVisitor::visitNamedType (const NamedType &namedType) {
366
- visitNode ();
367
- return true ;
368
- }
369
-
370
- void JsonVisitor::endVisitNamedType (const NamedType &namedType) {
371
- NodeFieldPrinter fields (*this , " NamedType" , namedType);
372
- fields.printSingularObjectField (" name" );
373
-
374
- endVisitNode (fields.finishPrinting ());
375
- }
376
-
377
- bool JsonVisitor::visitListType (const ListType &listType) {
378
- visitNode ();
379
- return true ;
380
- }
381
-
382
- void JsonVisitor::endVisitListType (const ListType &listType) {
383
- NodeFieldPrinter fields (*this , " ListType" , listType);
384
- fields.printSingularObjectField (" type" );
385
-
386
- endVisitNode (fields.finishPrinting ());
387
- }
388
-
389
- bool JsonVisitor::visitNonNullType (const NonNullType &nonNullType) {
390
- visitNode ();
391
- return true ;
392
- }
393
-
394
- void JsonVisitor::endVisitNonNullType (const NonNullType &nonNullType) {
395
- NodeFieldPrinter fields (*this , " NonNullType" , nonNullType);
396
- fields.printSingularObjectField (" type" );
397
-
398
- endVisitNode (fields.finishPrinting ());
399
- }
400
-
401
123
std::string JsonVisitor::getResult () const {
402
124
assert (printed_.size () == 1 );
403
125
assert (printed_[0 ].size () == 1 );
404
126
return printed_[0 ][0 ];
405
127
}
406
128
129
+ #include " JsonVisitor.cpp.inc"
130
+
407
131
}
408
132
}
409
133
}
0 commit comments