code: private function parseFieldDefinition()
      {
          $start       = $this->lexer->token;
          $description = $this->parseDescription();
          $name        = $this->parseName();
          $args        = $this->parseArgumentDefs();
          $this->expect(Token::COLON);
          $type       = $this->parseTypeReference();
          $directives = $this->parseDirectives(true);
  
          return new FieldDefinitionNode([
              'name'        => $name,
              'arguments'   => $args,
              'type'        => $type,
              'directives'  => $directives,
              'loc'         => $this->loc($start),
              'description' => $description,
          ]);
      }
docs: @return FieldDefinitionNode
  
  @throws SyntaxError