class Sass::Tree::ExtendNode

@see Sass::Tree
A static node reprenting an ‘@extend` directive.

def cssize(extends, parent)

Other tags:
    See: Node#cssize -

Parameters:
  • parent (RuleNode) -- The parent node of this node
  • extends (Haml::Util::SubsetMap{Selector::Simple => Selector::Sequence}) --
def cssize(extends, parent)
  @resolved_selector.members.each do |seq|
    if seq.members.size > 1
      raise Sass::SyntaxError.new("Can't extend #{seq.to_a.join}: 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.to_a.join}: invalid selector")
    end
    sel = sseq.members
    parent.resolved_rules.members.each do |seq|
      if !seq.members.last.is_a?(Sass::Selector::SimpleSequence)
        raise Sass::SyntaxError.new("#{seq} can't extend: invalid selector")
      end
      extends[sel] = seq
    end
  end
  []
end

def initialize(selector)

Parameters:
  • selector (Array) --
def initialize(selector)
  @selector = selector
  super()
end

def perform!(environment)

Parameters:
  • environment (Sass::Environment) -- The lexical environment containing
def perform!(environment)
  @resolved_selector = Sass::SCSS::CssParser.new(run_interp(@selector, environment), self.line).
    parse_selector(self.filename)
  super
end

def to_src(tabs, opts, fmt)

Other tags:
    See: Node#to_src -
def to_src(tabs, opts, fmt)
  "#{'  ' * tabs}@extend #{selector_to_src(@selector, tabs, opts, fmt).lstrip}#{semi fmt}\n"
end