diff options
| author | Igor Minar | 2013-08-16 06:21:26 -0700 | 
|---|---|---|
| committer | Igor Minar | 2013-08-16 11:01:51 -0700 | 
| commit | 44b6b72e5e9d193ec878ac7a4f25a00815f68cca (patch) | |
| tree | 7ada218060305f5abc91e071c5d516768c294b7e /src | |
| parent | 35d4993c3dc9f0068b77bb09b7ae2ec979bdeaad (diff) | |
| download | angular.js-44b6b72e5e9d193ec878ac7a4f25a00815f68cca.tar.bz2 | |
fix($injector): don't parse fns with no args
When annotating a fn, it is wasteful to try to parse a fn that has no arguments
as such fn has no injectable dependencies
Diffstat (limited to 'src')
| -rw-r--r-- | src/auto/injector.js | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/src/auto/injector.js b/src/auto/injector.js index f165030f..96ea0bf4 100644 --- a/src/auto/injector.js +++ b/src/auto/injector.js @@ -52,13 +52,15 @@ function annotate(fn) {    if (typeof fn == 'function') {      if (!($inject = fn.$inject)) {        $inject = []; -      fnText = fn.toString().replace(STRIP_COMMENTS, ''); -      argDecl = fnText.match(FN_ARGS); -      forEach(argDecl[1].split(FN_ARG_SPLIT), function(arg){ -        arg.replace(FN_ARG, function(all, underscore, name){ -          $inject.push(name); +      if (fn.length) { +        fnText = fn.toString().replace(STRIP_COMMENTS, ''); +        argDecl = fnText.match(FN_ARGS); +        forEach(argDecl[1].split(FN_ARG_SPLIT), function(arg){ +          arg.replace(FN_ARG, function(all, underscore, name){ +            $inject.push(name); +          });          }); -      }); +      }        fn.$inject = $inject;      }    } else if (isArray(fn)) { | 
