code: def leave_OperationDefinition(
      self, operation, key, parent, path, ancestors
  ):
      usages = self.context.get_recursive_variable_usages(operation)
  
      for variable_usage in usages:
          node = variable_usage.node
          var_name = node.name.value
          if var_name not in self.defined_variable_names:
              self.context.report_error(
                  GraphQLError(
                      self.undefined_var_message(
                          var_name,
                          operation.name and operation.name.value,
                      ),
                      [node, operation],
                  )
              )
  
file_path: wandb/wandb/vendor/graphql-core-1.1/wandb_graphql/validation/rules/no_undefined_variables.py
imports: from ...error import GraphQLError
  from .base import ValidationRule
label_desc: Use image node_id 4 for calling the NoUndefinedVariables obj's underlying member method code with example usage: obj.leave_OperationDefinition(operation, key, parent, path, ancestors) without return types