/// <summary>Creates the combinator.</summary> /// <param name="combinatorTree">The combinator tree.</param> /// <returns>The combinator value.</returns> private static Combinator CreateCombinatorNode(CommonTree combinatorTree) { var combinator = Combinator.None; if (combinatorTree == null) { return(combinator); } var text = combinatorTree.FirstChildText(); switch (text) { case CssConstants.Plus: combinator = Combinator.PlusSign; break; case CssConstants.Greater: combinator = Combinator.GreaterThanSign; break; case CssConstants.Tilde: combinator = Combinator.Tilde; break; case CssConstants.Whitespace: combinator = GetWhitespaceCount(combinatorTree) > 0 ? Combinator.SingleSpace : Combinator.ZeroSpace; break; default: throw new AstException("Encountered an invalid combinator."); } return(combinator); }