class Sass::Selector::CommaSequence
def populate_extends(extends, extendee, extend_node = nil, parent_directives = [],
-
(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