public override INode VisitDirectiveDefinition([NotNull] GraphqlParser.DirectiveDefinitionContext context) { return(new DirectiveDefinition( context.name().GetText(), MaybeGetDescription(context.description()), GetDirectiveLocations(context), context.argumentsDefinition()?.inputValueDefinition().Select(Visit).Cast <InputValueDefinition>(), context.Location() )); }
private IEnumerable <string> GetDirectiveLocations(GraphqlParser.DirectiveDefinitionContext directive) { var current = directive.directiveLocations(); while (current != null) { yield return(current.directiveLocation().name().GetText()); current = current.directiveLocations(); } }