def consume_directive
      super if @in_body_statements

      @newline = false
      start = @index
      line = @line
      statement = DirectiveStatement.new(nil, @file, line)
      @statements << statement
      attach_comment(statement)

      multiline = false
      advance_loop do
        chr = char
        case chr
        when '\\'; multiline=true; advance
        when /\s/; consume_whitespace
        else advance
        end

        if @newline
          if multiline
            multiline = false
          else
            break
          end
        end
      end

      decl = @content[start...@index]

      statement.declaration = decl
    end
def consume_directive
      super if @in_body_statements

      @newline = false
      start = @index
      line = @line
      statement = DirectiveStatement.new(nil, @file, line)
      @statements << statement
      attach_comment(statement)

      multiline = false
      advance_loop do
        chr = char
        case chr
        when '\\'; multiline=true; advance
        when /\s/; consume_whitespace
        else advance
        end

        if @newline
          if multiline
            multiline = false
          else
            break
          end
        end
      end

      decl = @content[start...@index]

      statement.declaration = decl
    end
Consumes a directive and generates a DirectiveStatement