def selector_node_name(node)
      if node.class.class_variable_defined?(:@@snake_case_name)
        return node.class.class_variable_get(:@@snake_case_name)
      end

      rindex = node.class.name.rindex('::')
      name = node.class.name[(rindex + 2)..-1]
      name.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
      name.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
      name.downcase!
      node.class.class_variable_set(:@@snake_case_name, name)
    end
def selector_node_name(node)
      if node.class.class_variable_defined?(:@@snake_case_name)
        return node.class.class_variable_get(:@@snake_case_name)
      end

      rindex = node.class.name.rindex('::')
      name = node.class.name[(rindex + 2)..-1]
      name.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
      name.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
      name.downcase!
      node.class.class_variable_set(:@@snake_case_name, name)
    end
The class name of a node, in snake_case form, e.g.
 `Sass::Selector::SimpleSequence` -> `simple_sequence`.

 The name is memoized as a class variable on the node itself.