class Sass::Selector::Sequence
def do_extend(extends, parent_directives, replace, seen, original)
- See: CommaSequence#do_extend -
Returns:
-
(Array
- A list of selectors generated)
Parameters:
-
original
(Boolean
) -- -
seen
(Set
) --> -
replace
(Boolean
) -- -
parent_directives
(Array
) -- -
extends
(Sass::Util::SubsetMap{Selector::Simple =>
) -- xtends [Sass::Util::SubsetMap{Selector::Simple =>
def do_extend(extends, parent_directives, replace, seen, original) extended_not_expanded = members.map do |sseq_or_op| next [[sseq_or_op]] unless sseq_or_op.is_a?(SimpleSequence) extended = sseq_or_op.do_extend(extends, parent_directives, replace, seen) # The First Law of Extend says that the generated selector should have # specificity greater than or equal to that of the original selector. # In order to ensure that, we record the original selector's # (`extended.first`) original specificity. extended.first.add_sources!([self]) if original && !invisible? extended.map {|seq| seq.members} end weaves = Sass::Util.paths(extended_not_expanded).map {|path| weave(path)} trim(weaves).map {|p| Sequence.new(p)} end