code: def parse_input_object_type_extension(lexer: Lexer) -> InputObjectTypeExtensionNode:
      
      start = lexer.token
      expect_keyword(lexer, "extend")
      expect_keyword(lexer, "input")
      name = parse_name(lexer)
      directives = parse_directives(lexer, True)
      fields = parse_input_fields_definition(lexer)
      if not (directives or fields):
          raise unexpected(lexer)
      return InputObjectTypeExtensionNode(
          name=name, directives=directives, fields=fields, loc=loc(lexer, start)
      )
docs: InputObjectTypeExtension