- private fun createInjector(): Injector = SoneModule(sonePlugin)
- .let { Guice.createInjector(it) }
-
- private inline fun <reified R : Any> getInstance(annotation: Annotation? = null, injector: Injector = createInjector()): R =
- annotation
- ?.let { injector.getInstance(Key.get(object : TypeLiteral<R>() {}, it)) }
- ?: injector.getInstance(Key.get(object : TypeLiteral<R>() {}))
-