class Sass::Selector::CommaSequence

def populate_extends(extends, extendee, extend_node = nil, parent_directives = [],

Raises:
  • (Sass::SyntaxError) - if this extension is invalid.

Parameters:
  • allow_compound_target (Boolean) --
  • parent_directives (Array) --
  • extend_node (Sass::Tree::ExtendNode) --
  • extendee (CommaSequence) -- The selector being extended.
  • extends (Sass::Util::SubsetMap{Selector::Simple =>) -- xtends [Sass::Util::SubsetMap{Selector::Simple =>
def populate_extends(extends, extendee, extend_node = nil, parent_directives = [],
    allow_compound_target = false)
  extendee.members.each do |seq|
    if seq.members.size > 1
      raise Sass::SyntaxError.new("Can't extend #{seq}: can't extend nested selectors")
    end
    sseq = seq.members.first
    if !sseq.is_a?(Sass::Selector::SimpleSequence)
      raise Sass::SyntaxError.new("Can't extend #{seq}: invalid selector")
    elsif sseq.members.any? {|ss| ss.is_a?(Sass::Selector::Parent)}
      raise Sass::SyntaxError.new("Can't extend #{seq}: can't extend parent selectors")
    end
    sel = sseq.members
    if !allow_compound_target && sel.length > 1
      @@compound_extend_deprecation.warn(sseq.filename, sseq.line, <<WARNING)
ing a compound selector, #{sseq}, is deprecated and will not be supported in a future release.
er "@extend #{sseq.members.join(', ')}" instead.
tp://bit.ly/ExtendCompound for details.
G
    end
    members.each do |member|
      unless member.members.last.is_a?(Sass::Selector::SimpleSequence)
        raise Sass::SyntaxError.new("#{member} can't extend: invalid selector")
      end
      extends[sel] = Sass::Tree::Visitors::Cssize::Extend.new(
        member, sel, extend_node, parent_directives, false)
    end
  end
end