@@ -622,14 +622,17 @@ function createInjector(modulesToLoad, strictDi) {
622
622
}
623
623
} ,
624
624
providerInjector = ( providerCache . $injector =
625
- createInternalInjector ( providerCache , function ( ) {
625
+ createInternalInjector ( providerCache , function ( serviceName , caller ) {
626
+ if ( angular . isString ( caller ) ) {
627
+ path . push ( caller ) ;
628
+ }
626
629
throw $injectorMinErr ( 'unpr' , "Unknown provider: {0}" , path . join ( ' <- ' ) ) ;
627
630
} ) ) ,
628
631
instanceCache = { } ,
629
632
instanceInjector = ( instanceCache . $injector =
630
- createInternalInjector ( instanceCache , function ( servicename ) {
631
- var provider = providerInjector . get ( servicename + providerSuffix ) ;
632
- return instanceInjector . invoke ( provider . $get , provider , undefined , servicename ) ;
633
+ createInternalInjector ( instanceCache , function ( serviceName , caller ) {
634
+ var provider = providerInjector . get ( serviceName + providerSuffix , caller ) ;
635
+ return instanceInjector . invoke ( provider . $get , provider , undefined , serviceName ) ;
633
636
} ) ) ;
634
637
635
638
@@ -759,7 +762,7 @@ function createInjector(modulesToLoad, strictDi) {
759
762
760
763
function createInternalInjector ( cache , factory ) {
761
764
762
- function getService ( serviceName ) {
765
+ function getService ( serviceName , caller ) {
763
766
if ( cache . hasOwnProperty ( serviceName ) ) {
764
767
if ( cache [ serviceName ] === INSTANTIATING ) {
765
768
throw $injectorMinErr ( 'cdep' , 'Circular dependency found: {0}' ,
@@ -770,7 +773,7 @@ function createInjector(modulesToLoad, strictDi) {
770
773
try {
771
774
path . unshift ( serviceName ) ;
772
775
cache [ serviceName ] = INSTANTIATING ;
773
- return cache [ serviceName ] = factory ( serviceName ) ;
776
+ return cache [ serviceName ] = factory ( serviceName , caller ) ;
774
777
} catch ( err ) {
775
778
if ( cache [ serviceName ] === INSTANTIATING ) {
776
779
delete cache [ serviceName ] ;
@@ -802,7 +805,7 @@ function createInjector(modulesToLoad, strictDi) {
802
805
args . push (
803
806
locals && locals . hasOwnProperty ( key )
804
807
? locals [ key ]
805
- : getService ( key )
808
+ : getService ( key , serviceName )
806
809
) ;
807
810
}
808
811
if ( isArray ( fn ) ) {
0 commit comments