#NEWLINE# def get_provider_fn_bindings( provider_fn , default_arg_names ) : #NEWLINE# #INDENT# provider_decorations = decorators . get_provider_fn_decorations ( provider_fn , default_arg_names ) #NEWLINE# def Proviser( injection_context , obj_provider , pargs , kwargs ) : #NEWLINE# #INDENT# return obj_provider . call_with_injection ( provider_fn , injection_context , pargs , kwargs ) #NEWLINE# #UNINDENT# def GetBindingTargetDescFn( ) : #NEWLINE# #INDENT# return 'the provider method {0}' . format ( locations . get_name_and_loc ( provider_fn ) ) #NEWLINE# #UNINDENT# return [ Binding ( binding_keys . new ( provider_decoration . arg_name , provider_decoration . annotated_with ) , Proviser , GetBindingTargetDescFn , provider_decoration . in_scope_id , ( lambda p_fn = provider_fn : locations . get_loc ( p_fn ) ) ) for provider_decoration in provider_decorations ]