graph LR
injector_Injector_create_object["injector.Injector.create_object"]
injector_Injector_call_with_injection["injector.Injector.call_with_injection"]
injector_Injector_args_to_inject["injector.Injector.args_to_inject"]
injector_Injector_get_bindings["injector.Injector.get_bindings"]
injector_Injector__infer_injected_bindings["injector.Injector._infer_injected_bindings"]
injector_inject["injector.inject"]
injector_Injector_get["injector.Injector.get"]
injector_Injector_get_binding["injector.Injector.get_binding"]
injector_Injector_create_object -- "calls" --> injector_Injector_call_with_injection
injector_Injector_call_with_injection -- "relies on" --> injector_Injector_args_to_inject
injector_Injector_call_with_injection -- "relies on" --> injector_Injector_get_bindings
injector_Injector_args_to_inject -- "calls" --> injector_Injector_get
injector_Injector_get_bindings -- "leverages" --> injector_Injector__infer_injected_bindings
injector_inject -- "utilizes" --> injector_Injector__infer_injected_bindings
injector_Injector_get -- "relies on" --> injector_Injector_get_binding
The "Dependency Injection Execution" subsystem encompasses the core logic for identifying required dependencies within a target object's constructor or a function's parameters and performing the actual injection. It is primarily centered around the injector.Injector class and the injector.inject function, focusing on the dynamic resolution and provision of dependencies at runtime.
Orchestrates the instantiation of an object, serving as the high-level entry point for object creation within the DI context by ensuring its constructor dependencies are met.
Related Classes/Methods:
The core execution engine that dynamically provides required arguments to any callable (e.g., a constructor, method, or function) marked for injection.
Related Classes/Methods:
Identifies and resolves the specific arguments that need to be injected into a target callable by fetching the actual instances of dependencies.
Related Classes/Methods:
Retrieves the necessary binding information for the parameters of a callable, acting as a bridge between the callable's requirements and the injector's configuration.
Related Classes/Methods:
Analyzes type hints and injection annotations (e.g., @inject) to determine the dependencies required by a callable, providing the intelligence for identifying what needs to be injected.
Related Classes/Methods:
A decorator or function that explicitly marks callables for dependency injection and assists in inferring their required bindings, offering a declarative way to indicate injection points.
Related Classes/Methods:
The primary public interface for requesting an instance of a type, crucial within this subsystem for resolving individual dependencies identified by args_to_inject.
Related Classes/Methods:
Locates or creates a binding for a given dependency key, fundamental to the injector's ability to find the correct dependency mapping types to their providers.
Related Classes/Methods: