    # File lib/yard/code_objects/macro_object.rb, line 96
            def expand(macro_data, call_params = [], full_source = '', block_source = '')
              macro_data = macro_data.all if macro_data.is_a?(Docstring)
              macro_data.gsub(MACRO_MATCH) do
                escape, first, last, rng = $1, $2 || $5, $4, $3 ? true : false
                next $&[1..-1] if escape
                if first == '*'
                  last ? $& : full_source
                else
                  first_i = first.to_i
                  last_i = (last ? last.to_i : call_params.size)
                  last_i = first_i unless rng
                  params = call_params[first_i..last_i]
                  params ? params.join(", ") : ''
                end
              end
            end