class RuboCop::AST::NodePattern::Compiler

def enforce_same_captures(enum)

def enforce_same_captures(enum)
  return to_enum __method__, enum unless block_given?
  captures_before = captures_after = nil
  enum.each do |node|
    captures_before ||= @captures
    @captures = captures_before
    yield node
    captures_after ||= @captures
    if captures_after != @captures
      raise Invalid, 'each branch must have same number of captures'
    end
  end
end