function inferInjectionArgs(fn) {
  assertArgFn(fn);
  if (!fn.$inject) {
    var args = fn.$inject = [];
    var fnText = fn.toString().replace(STRIP_COMMENTS, '');
    var argDecl = fnText.match(FN_ARGS);
    forEach(argDecl[1].split(FN_ARG_SPLIT), function(arg){
      arg.replace(FN_ARG, function(all, underscore, name){
        args.push(name);
      });
    });
  }
  return fn.$inject;
}
@ngdoc overview
@name angular.module.AUTO
@description

Implicit module which gets automatically added to each {@link angular.module.AUTO.$injector $injector}.