JVM_IR: protect LookupTracker use by a lock

This commit is contained in:
Georgy Bronnikov
2021-09-06 12:58:09 +03:00
parent 860c80d210
commit bf62e98a1a
@@ -69,13 +69,15 @@ interface SourceCompilerForInline {
fun GenerationState.trackLookup(container: FqName, functionName: String, location: LocationInfo) { fun GenerationState.trackLookup(container: FqName, functionName: String, location: LocationInfo) {
val lookupTracker = configuration.get(CommonConfigurationKeys.LOOKUP_TRACKER) ?: return val lookupTracker = configuration.get(CommonConfigurationKeys.LOOKUP_TRACKER) ?: return
lookupTracker.record( synchronized(lookupTracker) {
location.filePath, lookupTracker.record(
if (lookupTracker.requiresPosition) location.position else Position.NO_POSITION, location.filePath,
container.asString(), if (lookupTracker.requiresPosition) location.position else Position.NO_POSITION,
ScopeKind.CLASSIFIER, container.asString(),
functionName ScopeKind.CLASSIFIER,
) functionName
)
}
} }
fun loadCompiledInlineFunction( fun loadCompiledInlineFunction(