class Sass::Engine

def parse_line(parent, line, root)

def parse_line(parent, line, root)
  case line.text[0]
  when PROPERTY_CHAR
    if line.text[1] != PROPERTY_CHAR
      parse_property(line, PROPERTY_OLD)
    else
      # Support CSS3-style pseudo-elements,
      # which begin with ::
      Tree::RuleNode.new(line.text)
    end
  when Script::VARIABLE_CHAR
    parse_variable(line)
  when COMMENT_CHAR
    parse_comment(line.text)
  when DIRECTIVE_CHAR
    parse_directive(parent, line, root)
  when ESCAPE_CHAR
    Tree::RuleNode.new(line.text[1..-1])
  when MIXIN_DEFINITION_CHAR
    parse_mixin_definition(line)
  when MIXIN_INCLUDE_CHAR
    if line.text[1].nil? || line.text[1] == ?\s
      Tree::RuleNode.new(line.text)
    else
      parse_mixin_include(line, root)
    end
  else
    if line.text =~ PROPERTY_NEW_MATCHER
      parse_property(line, PROPERTY_NEW)
    else
      Tree::RuleNode.new(line.text)
    end
  end
end