def parse_complex_selector(value, name = nil, allow_parent_ref = false)
      selector = parse_selector(value, name, allow_parent_ref)
      return seq if selector.members.length == 1

      err = "#{value.inspect} is not a complex selector"
      err = "$#{name.to_s.tr('_', '-')}: #{err}" if name
      raise ArgumentError.new(err)
    end
def parse_complex_selector(value, name = nil, allow_parent_ref = false)
      selector = parse_selector(value, name, allow_parent_ref)
      return seq if selector.members.length == 1

      err = "#{value.inspect} is not a complex selector"
      err = "$#{name.to_s.tr('_', '-')}: #{err}" if name
      raise ArgumentError.new(err)
    end
Parses a user-provided complex selector.

 A complex selector can contain combinators but cannot contain commas.

 @param value [Sass::Script::Value::String, Sass::Script::Value::List]
   The selector to parse. This can be either a string or a list of
   strings.
 @param name [Symbol, nil]
   If provided, the name of the selector argument. This is used
   for error reporting.
 @param allow_parent_ref [Boolean]
   Whether the parsed selector should allow parent references.
 @return [Sass::Selector::Sequence] The parsed selector.
 @throw [ArgumentError] if the parse failed for any reason.