Package-level declarations
Types
Generate a Dagger binding method for an annotated class and contributes this binding method to the given scope. Imagine this example:
Generate a Dagger multibinding method for an annotated class and contributes this multibinding method to the given scope. Imagine this example:
Similar to MergeSubcomponent, but with the main difference that the subcomponent is generated and modules, bindings and component interfaces are merged whenever the component with parentScope is processed.
Marks a Dagger module or component interface to be included in the Dagger dependency graph in the given scope. Anvil automatically adds the module to the list of included modules in the Dagger component marked with MergeComponent. For component interfaces it will make the Dagger component extend the interface.
Indicates that the annotated Anvil API is experimental and subject to change.
Dagger components that should automatically include Dagger modules and component interfaces for the given scope require this annotation instead of @Component. The Kotlin compiler plugin will add the @Component annotation to this interface. The parameters modules and dependencies are preserved in the @Component annotation.
Dagger subcomponents that should automatically include Dagger modules and component interfaces for the given scope require this annotation instead of @Subcomponent. The Kotlin compiler plugin will add the @Subcomponent annotation to this interface. The modules parameter is preserved in the @Subcomponent annotation.