public DefaultDirectiveTokenDescriptor(DirectiveTokenKind kind, bool optional, string name, string description)
 {
     Kind        = kind;
     Optional    = optional;
     Name        = name;
     Description = description;
 }
 public static void DirectiveToken(DirectiveTokenKind expectedKind, string expectedContent, IntermediateNode node)
 {
     try
     {
         var token = Assert.IsType <DirectiveTokenIntermediateNode>(node);
         Assert.Equal(expectedKind, token.DirectiveToken.Kind);
         Assert.Equal(expectedContent, token.Content);
     }
     catch (XunitException e)
     {
         throw new IntermediateNodeAssertException(node, node.Children, e.Message, e);
     }
 }
 public static DirectiveTokenDescriptor CreateToken(DirectiveTokenKind kind, bool optional, string name, string description)
 {
     return(new DefaultDirectiveTokenDescriptor(kind, optional, name, description));
 }
 public static DirectiveTokenDescriptor CreateToken(DirectiveTokenKind kind, bool optional)
 {
     return(CreateToken(kind, optional, name: null, description: null));
 }
 public static DirectiveTokenDescriptor CreateToken(DirectiveTokenKind kind)
 {
     return(CreateToken(kind, optional: false));
 }
 public DefaultDirectiveTokenDescriptor(DirectiveTokenKind kind, bool optional)
 {
     Kind     = kind;
     Optional = optional;
 }
 public static DirectiveTokenDescriptor CreateToken(DirectiveTokenKind kind, bool optional)
 {
     return(new DefaultDirectiveTokenDescriptor(kind, optional));
 }