Make project compilable after fixes about generic nullability
This commit is contained in:
@@ -111,10 +111,10 @@ public fun StorageComponentContainer.registerInstance(instance: Any): StorageCom
|
||||
return registerDescriptors(listOf(InstanceComponentDescriptor(instance)))
|
||||
}
|
||||
|
||||
public inline fun <reified T> StorageComponentContainer.resolve(context: ValueResolveContext = unknownContext): ValueDescriptor? {
|
||||
public inline fun <reified T : Any> StorageComponentContainer.resolve(context: ValueResolveContext = unknownContext): ValueDescriptor? {
|
||||
return resolve(javaClass<T>(), context)
|
||||
}
|
||||
|
||||
public inline fun <reified T> StorageComponentContainer.resolveMultiple(context: ValueResolveContext = unknownContext): Iterable<ValueDescriptor> {
|
||||
public inline fun <reified T : Any> StorageComponentContainer.resolveMultiple(context: ValueResolveContext = unknownContext): Iterable<ValueDescriptor> {
|
||||
return resolveMultiple(javaClass<T>(), context)
|
||||
}
|
||||
|
||||
@@ -23,16 +23,16 @@ public fun createContainer(id: String, init: StorageComponentContainer.() -> Uni
|
||||
return c
|
||||
}
|
||||
|
||||
public inline fun <reified T> StorageComponentContainer.useImpl() {
|
||||
public inline fun <reified T : Any> StorageComponentContainer.useImpl() {
|
||||
registerSingleton(javaClass<T>())
|
||||
}
|
||||
|
||||
public inline fun <reified T> ComponentProvider.get(): T {
|
||||
public inline fun <reified T : Any> ComponentProvider.get(): T {
|
||||
return getService(javaClass<T>())
|
||||
}
|
||||
|
||||
@suppress("UNCHECKED_CAST")
|
||||
public fun <T> ComponentProvider.getService(request: Class<T>): T {
|
||||
public fun <T : Any> ComponentProvider.getService(request: Class<T>): T {
|
||||
return resolve(request)!!.getValue() as T
|
||||
}
|
||||
|
||||
@@ -40,6 +40,6 @@ public fun StorageComponentContainer.useInstance(instance: Any) {
|
||||
registerInstance(instance)
|
||||
}
|
||||
|
||||
public inline fun <reified T> ComponentProvider.get(thisRef: Any?, desc: PropertyMetadata): T {
|
||||
public inline fun <reified T : Any> ComponentProvider.get(thisRef: Any?, desc: PropertyMetadata): T {
|
||||
return getService(javaClass<T>())
|
||||
}
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||
import org.jetbrains.kotlin.renderer.Renderer
|
||||
|
||||
public fun <P> renderParameter(parameter: P, renderer: Renderer<P>?): Any = renderer?.render(parameter) ?: parameter
|
||||
public fun <P : Any> renderParameter(parameter: P, renderer: Renderer<P>?): Any = renderer?.render(parameter) ?: parameter
|
||||
|
||||
public fun ClassDescriptor.renderKindWithName(): String = DescriptorRenderer.getClassKindPrefix(this) + " '" + getName() + "'"
|
||||
|
||||
|
||||
+2
-2
@@ -29,10 +29,10 @@ import org.jetbrains.kotlin.psi.JetExpression
|
||||
import org.jetbrains.kotlin.types.JetType
|
||||
|
||||
public class LockBasedLazyResolveStorageManager(private val storageManager: StorageManager): StorageManager by storageManager, LazyResolveStorageManager {
|
||||
override fun <K, V> createSoftlyRetainedMemoizedFunction(compute: Function1<K, V>) =
|
||||
override fun <K, V : Any> createSoftlyRetainedMemoizedFunction(compute: Function1<K, V>) =
|
||||
storageManager.createMemoizedFunction<K, V>(compute, ContainerUtil.createConcurrentSoftValueMap<K, Any>())
|
||||
|
||||
override fun <K, V> createSoftlyRetainedMemoizedFunctionWithNullableValues(compute: Function1<K, V>) =
|
||||
override fun <K, V : Any> createSoftlyRetainedMemoizedFunctionWithNullableValues(compute: Function1<K, V>) =
|
||||
storageManager.createMemoizedFunctionWithNullableValues<K, V>(compute, ContainerUtil.createConcurrentSoftValueMap<K, Any>())
|
||||
|
||||
override fun createSafeTrace(originalTrace: BindingTrace) =
|
||||
|
||||
@@ -32,7 +32,7 @@ public class Services private constructor(private val map: Map<Class<*>, Any>) {
|
||||
|
||||
private val map = HashMap<Class<*>, Any>()
|
||||
|
||||
public fun <T> register(interfaceClass: Class<T>, implementation: T): Builder {
|
||||
public fun <T : Any> register(interfaceClass: Class<T>, implementation: T): Builder {
|
||||
map.put(interfaceClass, implementation)
|
||||
return this
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user