class YARD::Parser::C::CParser
def consume_until(end_char, bracket_level = 0, brace_level = 0, add_comment = true)
def consume_until(end_char, bracket_level = 0, brace_level = 0, add_comment = true) end_char = /#{end_char}/ if end_char.is_a?(String) start = @index advance_loop do chr = char case chr when /\s/; consume_whitespace when /['"]/; consume_quote(char) when '#'; consume_directive when '/'; consume_comment(add_comment) when '{'; advance; brace_level += 1 when '}'; advance; brace_level -= 1 when '('; advance; bracket_level += 1 when ')'; advance; bracket_level -= 1 else advance end @newline = false if chr !~ /\s/ if chr =~ end_char break if chr == '{' || chr == '(' break if bracket_level <= 0 && brace_level <= 0 end end @content[start...@index] end