SafeAnalysisResultAccessImpl
class SafeAnalysisResultAccessImpl @Inject constructor(val projectCache: ProjectCache) : SafeAnalysisResultAccess(source)
The only implementation of SafeAnalysisResultAccess
Types
Link copied to clipboard
private class DifferentList(delegate: List<SafeAnalysisResultAccessImpl.PendingRequest>) : List<SafeAnalysisResultAccessImpl.PendingRequest>
This is a hack to get around the de-duping behavior of a StateFlow. Two lists with identical contents will never be equal, so
Link copied to clipboard
internal data class PendingRequest(val requester: HasAnalysisResult, val dependencies: Set<HasAnalysisResult>) : Comparable<SafeAnalysisResultAccessImpl.PendingRequest>
Properties
Functions
Link copied to clipboard
private suspend fun addToQueue(pendingRequest: SafeAnalysisResultAccessImpl.PendingRequest, sort: Boolean)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
private suspend fun <T> withLeases(pendingRequest: SafeAnalysisResultAccessImpl.PendingRequest, action: suspend () -> T): T
open suspend override fun <T> withLeases(requester: HasAnalysisResult, projectPath: ProjectPath, sourceSetName: SourceSetName, action: suspend (Collection<HasAnalysisResult>) -> T): T