class Cucumber::CucumberExpressions::TreeRegexp
def create_group_builder(regexp)
def create_group_builder(regexp) = regexp.source = [GroupBuilder.new] start_stack = [] ng = false lass = false .each_char.with_index do |c, i| == '[' && !escaping ar_class = true f c == ']' && !escaping ar_class = false f c == '(' && !escaping && !char_class oup_start_stack.push(i) oup_builder = GroupBuilder.new n_capturing = is_non_capturing(source, i) oup_builder.set_non_capturing! if non_capturing ack.push(group_builder) f c == ')' && !escaping && !char_class = stack.pop oup_start = group_start_stack.pop gb.capturing? gb.source = source[group_start + 1...i] stack.last.add(gb) se gb.move_children_to(stack.last) d ping = c == '\\' && !escaping pop