Add synchronization to MultiClassFiles maps
This commit is contained in:
@@ -429,6 +429,8 @@ open class IncrementalJvmCache(
|
|||||||
|
|
||||||
private inner class MultifileClassFacadeMap(storageFile: File) :
|
private inner class MultifileClassFacadeMap(storageFile: File) :
|
||||||
BasicStringMap<Collection<String>>(storageFile, StringCollectionExternalizer) {
|
BasicStringMap<Collection<String>>(storageFile, StringCollectionExternalizer) {
|
||||||
|
|
||||||
|
@Synchronized
|
||||||
operator fun set(className: JvmClassName, partNames: Collection<String>) {
|
operator fun set(className: JvmClassName, partNames: Collection<String>) {
|
||||||
storage[className.internalName] = partNames
|
storage[className.internalName] = partNames
|
||||||
}
|
}
|
||||||
@@ -439,6 +441,7 @@ open class IncrementalJvmCache(
|
|||||||
operator fun contains(className: JvmClassName): Boolean =
|
operator fun contains(className: JvmClassName): Boolean =
|
||||||
className.internalName in storage
|
className.internalName in storage
|
||||||
|
|
||||||
|
@Synchronized
|
||||||
fun remove(className: JvmClassName) {
|
fun remove(className: JvmClassName) {
|
||||||
storage.remove(className.internalName)
|
storage.remove(className.internalName)
|
||||||
}
|
}
|
||||||
@@ -448,6 +451,8 @@ open class IncrementalJvmCache(
|
|||||||
|
|
||||||
private inner class MultifileClassPartMap(storageFile: File) :
|
private inner class MultifileClassPartMap(storageFile: File) :
|
||||||
BasicStringMap<String>(storageFile, EnumeratorStringDescriptor.INSTANCE) {
|
BasicStringMap<String>(storageFile, EnumeratorStringDescriptor.INSTANCE) {
|
||||||
|
|
||||||
|
@Synchronized
|
||||||
fun set(partName: String, facadeName: String) {
|
fun set(partName: String, facadeName: String) {
|
||||||
storage[partName] = facadeName
|
storage[partName] = facadeName
|
||||||
}
|
}
|
||||||
@@ -455,6 +460,7 @@ open class IncrementalJvmCache(
|
|||||||
fun get(partName: JvmClassName): String? =
|
fun get(partName: JvmClassName): String? =
|
||||||
storage[partName.internalName]
|
storage[partName.internalName]
|
||||||
|
|
||||||
|
@Synchronized
|
||||||
fun remove(className: JvmClassName) {
|
fun remove(className: JvmClassName) {
|
||||||
storage.remove(className.internalName)
|
storage.remove(className.internalName)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user