Esempio n. 1
0
        /// <summary>The <see cref="VisitSimpleSelectorSequenceNode"/> visit implementation</summary>
        /// <param name="simpleSelectorSequenceNode">The simpleSelector AST node</param>
        /// <returns>The modified AST node if modified otherwise the original node</returns>
        public override AstNode VisitSimpleSelectorSequenceNode(SimpleSelectorSequenceNode simpleSelectorSequenceNode)
        {
            // simple_selector_sequence
            // : [ type_selector | universal ]
            // [ HASH | class | attrib | pseudo | negation ]*
            // | [ HASH | class | attrib | pseudo | negation ]+
            // ;
            if (simpleSelectorSequenceNode.TypeSelectorNode != null)
            {
                simpleSelectorSequenceNode.TypeSelectorNode.Accept(this);
            }

            if (simpleSelectorSequenceNode.UniversalSelectorNode != null)
            {
                simpleSelectorSequenceNode.UniversalSelectorNode.Accept(this);
            }

            if (simpleSelectorSequenceNode.HashClassAttribPseudoNegationNodes.Count > 0)
            {
                _printerFormatter.Append(simpleSelectorSequenceNode.Separator);
            }

            // [ HASH | class | attrib | pseudo | negation ]*
            // | [ HASH | class | attrib | pseudo | negation ]+
            simpleSelectorSequenceNode.HashClassAttribPseudoNegationNodes.ForEach(hashClassAttribPseudoNegationNode => hashClassAttribPseudoNegationNode.Accept(this));

            return(simpleSelectorSequenceNode);
        }
Esempio n. 2
0
        /// <summary>Initializes a new instance of the CombinatorSimpleSelectorSequenceNode class</summary>
        /// <param name="combinator">Combinator obejct</param>
        /// <param name="simpleSelectorSequenceNode">Simple SelectorNode</param>
        public CombinatorSimpleSelectorSequenceNode(Combinator combinator, SimpleSelectorSequenceNode simpleSelectorSequenceNode)
        {
            Contract.Requires(combinator != Combinator.None);
            Contract.Requires(simpleSelectorSequenceNode != null);

            this.Combinator = combinator;
            this.SimpleSelectorSequenceNode = simpleSelectorSequenceNode;
        }
 /// <summary>The <see cref="SimpleSelectorSequenceNode"/> visit implementation</summary>
 /// <param name="simpleSelectorSequenceNode">The simple selector sequence node.</param>
 /// <returns>The modified AST node if modified otherwise the original node</returns>
 public override AstNode VisitSimpleSelectorSequenceNode(SimpleSelectorSequenceNode simpleSelectorSequenceNode)
 {
     return(new SimpleSelectorSequenceNode(
                simpleSelectorSequenceNode.TypeSelectorNode != null ? (TypeSelectorNode)simpleSelectorSequenceNode.TypeSelectorNode.Accept(this) : null,
                simpleSelectorSequenceNode.UniversalSelectorNode != null ? (UniversalSelectorNode)simpleSelectorSequenceNode.UniversalSelectorNode.Accept(this) : null,
                simpleSelectorSequenceNode.Separator,
                simpleSelectorSequenceNode.HashClassAttribPseudoNegationNodes.Select(hashClassAtNameAttribPseudoNegationNode => (HashClassAtNameAttribPseudoNegationNode)hashClassAtNameAttribPseudoNegationNode.Accept(this)).ToSafeReadOnlyCollection()));
 }
Esempio n. 4
0
 /// <summary>The <see cref="SimpleSelectorSequenceNode"/> visit implementation</summary>
 /// <param name="simpleSelectorSequenceNode">The simple selector sequence node.</param>
 /// <returns>The modified AST node if modified otherwise the original node</returns>
 public virtual AstNode VisitSimpleSelectorSequenceNode(SimpleSelectorSequenceNode simpleSelectorSequenceNode)
 {
     return(simpleSelectorSequenceNode);
 }