# class Sass::Tree::ExtendNode

A static node representing an `@extend` directive.

@see Sass::Tree

### Attributes

resolved_selector[RW]

The parsed selector after interpolation has been resolved. Only set once {Tree::Visitors::Perform} has been run.

@return [Selector::CommaSequence]

selector[RW]

The CSS selector to extend, interspersed with {Sass::Script::Tree::Node}s representing `#{}`-interpolation.

@return [Array<String, Sass::Script::Tree::Node>]

selector_source_range[RW]

The extended selector source range.

@return [Sass::Source::Range]

### Public Class Methods

new(selector, optional, selector_source_range) click to toggle source

@param selector [Array<String, Sass::Script::Tree::Node>]

    The CSS selector to extend,
    interspersed with {Sass::Script::Tree::Node}s
    representing `#{}`-interpolation.

@param optional [Boolean] See {ExtendNode#optional?} @param #selector_source_range [Sass::Source::Range] The extended selector source range.

Calls superclass method

    # File lib/sass/tree/extend_node.rb, line 36
    def initialize(selector, optional, selector_source_range)
      @selector = selector
      @optional = optional
      @selector_source_range = selector_source_range
      super()
    end

### Public Instance Methods

optional?() click to toggle source

Whether the `@extend` is allowed to match no selectors or not.

@return [Boolean]

    # File lib/sass/tree/extend_node.rb, line 28
    def optional?; @optional; end