    # File lib/action_view/compiled_templates.rb, line 47
        def compile_source(identifier, arg_names, source, initial_line_number = 0, file_name = nil)
          file_name ||= identifier
          name = method_names[full_key(identifier, arg_names)]
          arg_desc = arg_names.empty? ? '' : "(#{arg_names * ', '})"
          fake_file_name = "#{file_name}#{arg_desc}" # Include the arguments for this version (for now)

          method_def = wrap_source(name, arg_names, source)

          begin
            module_eval(method_def, fake_file_name, initial_line_number)
            @mtimes[full_key(identifier, arg_names)] = Time.now
          rescue Exception => e  # errors from compiled source
            e.blame_file! identifier
            raise
          end
          name
        end