class Parser::Builders::Default

def send_map(receiver_e, dot_t, selector_t, begin_t=nil, args=[], end_t=nil)

def send_map(receiver_e, dot_t, selector_t, begin_t=nil, args=[], end_t=nil)
  if receiver_e
    begin_l = receiver_e.loc.expression
  elsif selector_t
    begin_l = loc(selector_t)
  end
  if end_t
    end_l   = loc(end_t)
  elsif args.any?
    end_l   = args.last.loc.expression
  elsif selector_t
    end_l   = loc(selector_t)
  end
  Source::Map::Send.new(loc(dot_t),   loc(selector_t),
                        loc(begin_t), loc(end_t),
                        begin_l.join(end_l))
end