High level the idea is to be able to use guice without leaking it as an API in a product with some SPI/extension point.
Leaking @Inject is not always desired so would be neat to not require some bytecode manipulation to implement it, code does not look crazy and could even enable to make all last guice version "forks" to converge to a single version with this abstraction and be compatible with hybrid system using javax and jakarta modules.
High level the idea is to be able to use guice without leaking it as an API in a product with some SPI/extension point. Leaking
@Inject
is not always desired so would be neat to not require some bytecode manipulation to implement it, code does not look crazy and could even enable to make all last guice version "forks" to converge to a single version with this abstraction and be compatible with hybrid system using javax and jakarta modules.