@@ -60,6 +60,7 @@ def visit
6060 @document
6161 end
6262 end
63+ # rubocop:disable Development/NoEvalCop This eval takes static inputs at load-time
6364
6465 # We don't use `alias` here because it breaks `super`
6566 def self . make_visit_methods ( ast_node_class )
@@ -116,6 +117,48 @@ def #{node_method}_with_modifications(node, parent)
116117 RUBY
117118 end
118119
120+ [
121+ Language ::Nodes ::Argument ,
122+ Language ::Nodes ::Directive ,
123+ Language ::Nodes ::DirectiveDefinition ,
124+ Language ::Nodes ::DirectiveLocation ,
125+ Language ::Nodes ::Document ,
126+ Language ::Nodes ::Enum ,
127+ Language ::Nodes ::EnumTypeDefinition ,
128+ Language ::Nodes ::EnumTypeExtension ,
129+ Language ::Nodes ::EnumValueDefinition ,
130+ Language ::Nodes ::Field ,
131+ Language ::Nodes ::FieldDefinition ,
132+ Language ::Nodes ::FragmentDefinition ,
133+ Language ::Nodes ::FragmentSpread ,
134+ Language ::Nodes ::InlineFragment ,
135+ Language ::Nodes ::InputObject ,
136+ Language ::Nodes ::InputObjectTypeDefinition ,
137+ Language ::Nodes ::InputObjectTypeExtension ,
138+ Language ::Nodes ::InputValueDefinition ,
139+ Language ::Nodes ::InterfaceTypeDefinition ,
140+ Language ::Nodes ::InterfaceTypeExtension ,
141+ Language ::Nodes ::ListType ,
142+ Language ::Nodes ::NonNullType ,
143+ Language ::Nodes ::NullValue ,
144+ Language ::Nodes ::ObjectTypeDefinition ,
145+ Language ::Nodes ::ObjectTypeExtension ,
146+ Language ::Nodes ::OperationDefinition ,
147+ Language ::Nodes ::ScalarTypeDefinition ,
148+ Language ::Nodes ::ScalarTypeExtension ,
149+ Language ::Nodes ::SchemaDefinition ,
150+ Language ::Nodes ::SchemaExtension ,
151+ Language ::Nodes ::TypeName ,
152+ Language ::Nodes ::UnionTypeDefinition ,
153+ Language ::Nodes ::UnionTypeExtension ,
154+ Language ::Nodes ::VariableDefinition ,
155+ Language ::Nodes ::VariableIdentifier ,
156+ ] . each do |ast_node_class |
157+ make_visit_methods ( ast_node_class )
158+ end
159+
160+ # rubocop:enable Development/NoEvalCop
161+
119162 def on_document_children ( document_node )
120163 new_node = document_node
121164 document_node . children . each do |child_node |
@@ -216,46 +259,6 @@ def on_argument_children(new_node)
216259 new_node
217260 end
218261
219- [
220- Language ::Nodes ::Argument ,
221- Language ::Nodes ::Directive ,
222- Language ::Nodes ::DirectiveDefinition ,
223- Language ::Nodes ::DirectiveLocation ,
224- Language ::Nodes ::Document ,
225- Language ::Nodes ::Enum ,
226- Language ::Nodes ::EnumTypeDefinition ,
227- Language ::Nodes ::EnumTypeExtension ,
228- Language ::Nodes ::EnumValueDefinition ,
229- Language ::Nodes ::Field ,
230- Language ::Nodes ::FieldDefinition ,
231- Language ::Nodes ::FragmentDefinition ,
232- Language ::Nodes ::FragmentSpread ,
233- Language ::Nodes ::InlineFragment ,
234- Language ::Nodes ::InputObject ,
235- Language ::Nodes ::InputObjectTypeDefinition ,
236- Language ::Nodes ::InputObjectTypeExtension ,
237- Language ::Nodes ::InputValueDefinition ,
238- Language ::Nodes ::InterfaceTypeDefinition ,
239- Language ::Nodes ::InterfaceTypeExtension ,
240- Language ::Nodes ::ListType ,
241- Language ::Nodes ::NonNullType ,
242- Language ::Nodes ::NullValue ,
243- Language ::Nodes ::ObjectTypeDefinition ,
244- Language ::Nodes ::ObjectTypeExtension ,
245- Language ::Nodes ::OperationDefinition ,
246- Language ::Nodes ::ScalarTypeDefinition ,
247- Language ::Nodes ::ScalarTypeExtension ,
248- Language ::Nodes ::SchemaDefinition ,
249- Language ::Nodes ::SchemaExtension ,
250- Language ::Nodes ::TypeName ,
251- Language ::Nodes ::UnionTypeDefinition ,
252- Language ::Nodes ::UnionTypeExtension ,
253- Language ::Nodes ::VariableDefinition ,
254- Language ::Nodes ::VariableIdentifier ,
255- ] . each do |ast_node_class |
256- make_visit_methods ( ast_node_class )
257- end
258-
259262 private
260263
261264 def apply_modifications ( node , parent , new_node_and_new_parent )
0 commit comments