function parseDirectiveDefinition()
{
$start = $this->lexer->token;
$this->expectKeyword('directive');
$this->expect(Token::AT);
$name = $this->parseName();
$args = $this->parseArgumentDefs();
$this->expectKeyword('on');
$locations = $this->parseDirectiveLocations();
return new DirectiveDefinitionNode(['name' => $name, 'arguments' => $args, 'locations' => $locations, 'loc' => $this->loc($start)]);
}