@ Override public < T > Provider < T > provider ( InjectionPoint < T > ip ) { Objects . requireNonNull ( ip ) ; Provider < T > provider = lookupProvider ( ip ) ; if ( provider != null ) { return provider ; } provider = autoProvider ( ip ) ; if ( provider != null ) { return provider ; } return new ProviderNull ( ip . key ( ) , - 10000 , new InjectScopeSingleton ( ) ) ; }
Creates an instance provider for a given InjectionPoint such as a method or field .