示例#1
0
        /// <summary>
        /// Inserts the given selector.
        /// </summary>
        /// <param name="selector">The selector to insert.</param>
        void Insert(ISelector selector)
        {
            if (temp != null)
            {
                if (combinators.Count == 0)
                {
                    var compound = temp as CompoundSelector;

                    if (compound == null)
                    {
                        compound = new CompoundSelector();
                        compound.Add(temp);
                    }

                    compound.Add(selector);
                    temp = compound;
                }
                else
                {
                    if (complex == null)
                    {
                        complex = new ComplexSelector();
                    }

                    var combinator = GetCombinator();
                    complex.AppendSelector(temp, combinator);
                    temp = selector;
                }
            }
            else
            {
                combinators.Clear();
                temp = selector;
            }
        }
        private void Insert(ISelector selector)
        {
            if (_temp != null)
            {
                if (_combinators.Count == 0)
                {
                    if (!(_temp is CompoundSelector compound))
                    {
                        compound = new CompoundSelector {
                            _temp
                        };
                    }

                    compound.Add(selector);
                    _temp = compound;
                }
                else
                {
                    if (_complex == null)
                    {
                        _complex = new ComplexSelector();
                    }

                    var combinator = GetCombinator();
                    _complex.AppendSelector(_temp, combinator);
                    _temp = selector;
                }
            }
            else
            {
                _combinators.Clear();
                _temp = selector;
            }
        }
        /// <summary>
        /// Inserts the given selector.
        /// </summary>
        /// <param name="selector">The selector to insert.</param>
        void Insert(ISelector selector)
        {
            if (temp != null)
            {
                if (!hasCombinator)
                {
                    var compound = temp as CompoundSelector;

                    if (compound == null)
                    {
                        compound = new CompoundSelector();
                        compound.Add(temp);
                    }

                    compound.Add(selector);
                    temp = compound;
                }
                else
                {
                    if (complex == null)
                    {
                        complex = new ComplexSelector();
                    }

                    complex.AppendSelector(temp, combinator);
                    combinator    = CssCombinator.Descendent;
                    hasCombinator = false;
                    temp          = selector;
                }
            }
            else
            {
                combinator    = CssCombinator.Descendent;
                hasCombinator = false;
                temp          = selector;
            }
        }