All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jetbrains.kotlin.analysis.utils.caches.softCachedValue.kt Maven / Gradle / Ivy

There is a newer version: 2.1.0-Beta1
Show newest version
package org.jetbrains.kotlin.analysis.utils.caches

import com.intellij.openapi.project.Project
import com.intellij.psi.util.CachedValue
import com.intellij.psi.util.CachedValueProvider
import com.intellij.psi.util.CachedValuesManager
import kotlin.reflect.KProperty


@Suppress("NOTHING_TO_INLINE")
public inline operator fun  CachedValue.getValue(thisRef: Any?, property: KProperty<*>): T = value

public inline fun  softCachedValue(
    project: Project,
    vararg dependencies: Any,
    crossinline createValue: () -> T
): CachedValue =
    CachedValuesManager.getManager(project).createCachedValue {
        CachedValueProvider.Result(
            createValue(),
            dependencies
        )
    }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy