@@ -120,290 +120,14 @@ void JsonVisitor::endVisitNode(std::string &&str) {
120120 printed_.back ().emplace_back (std::move (str));
121121}
122122
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-
401123std::string JsonVisitor::getResult () const {
402124 assert (printed_.size () == 1 );
403125 assert (printed_[0 ].size () == 1 );
404126 return printed_[0 ][0 ];
405127}
406128
129+ #include " JsonVisitor.cpp.inc"
130+
407131}
408132}
409133}
0 commit comments