code: def parse_object_type_extension(lexer: Lexer) -> ObjectTypeExtensionNode:
      
      start = lexer.token
      expect_keyword(lexer, "extend")
      expect_keyword(lexer, "type")
      name = parse_name(lexer)
      interfaces = parse_implements_interfaces(lexer)
      directives = parse_directives(lexer, True)
      fields = parse_fields_definition(lexer)
      if not (interfaces or directives or fields):
          raise unexpected(lexer)
      return ObjectTypeExtensionNode(
          name=name,
          interfaces=interfaces,
          directives=directives,
          fields=fields,
          loc=loc(lexer, start),
      )
docs: ObjectTypeExtension