code: def provide(self, cls):
          
          support.verify_class_type(cls, 'cls')
          if not self._is_injectable_fn(cls):
              provide_loc = locations.get_back_frame_loc()
              raise errors.NonExplicitlyBoundClassError(provide_loc, cls)
          try:
              return self._obj_provider.provide_class(
                  cls, self._injection_context_factory.new(cls.__init__),
                  direct_init_pargs=[], direct_init_kwargs={})
          except errors.Error as e:
              if self._use_short_stack_traces:
                  raise e
              else:
                  raise
docs: Provides an instance of the given class.
  
          Args:
            cls: a class (not an instance)
          Returns:
            an instance of cls
          Raises:
            Error: an instance of cls is not providable