From 069846f8830862dc4eabde8d74486330dc993ba4 Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Sat, 21 Apr 2018 18:47:39 +0300 Subject: [PATCH] lst: add threading assertions --- .../intellij/openapi/vcs/impl/LineStatusTrackerManager.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/LineStatusTrackerManager.kt b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/LineStatusTrackerManager.kt index 93a975aaa0b8..484c62a0a23d 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/LineStatusTrackerManager.kt +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/LineStatusTrackerManager.kt @@ -179,6 +179,7 @@ class LineStatusTrackerManager( @CalledInAwt override fun requestTrackerFor(document: Document, requester: Any) { + application.assertIsDispatchThread() synchronized(LOCK) { val multiset = forcedDocuments.computeIfAbsent(document) { HashMultiset.create() } multiset.add(requester) @@ -192,6 +193,7 @@ class LineStatusTrackerManager( @CalledInAwt override fun releaseTrackerFor(document: Document, requester: Any) { + application.assertIsDispatchThread() synchronized(LOCK) { val multiset = forcedDocuments[document] if (multiset == null || !multiset.contains(requester)) { @@ -254,6 +256,7 @@ class LineStatusTrackerManager( @CalledInAwt private fun onEverythingChanged() { + application.assertIsDispatchThread() synchronized(LOCK) { if (isDisposed) return log("onEverythingChanged", null) @@ -404,6 +407,7 @@ class LineStatusTrackerManager( @CalledInAwt private fun doInstallTracker(virtualFile: VirtualFile, document: Document): LineStatusTracker<*>? { + application.assertIsDispatchThread() synchronized(LOCK) { if (isDisposed) return null if (trackers[document] != null) return null @@ -433,6 +437,7 @@ class LineStatusTrackerManager( @CalledInAwt private fun releaseTracker(document: Document) { + application.assertIsDispatchThread() synchronized(LOCK) { if (isDisposed) return val data = trackers.remove(document) ?: return @@ -855,6 +860,7 @@ class LineStatusTrackerManager( @CalledInAwt fun resetExcludedFromCommitMarkers() { + application.assertIsDispatchThread() synchronized(LOCK) { val documents = mutableListOf() @@ -875,6 +881,7 @@ class LineStatusTrackerManager( @CalledInAwt internal fun collectPartiallyChangedFilesStates(): List { + application.assertIsDispatchThread() val result = mutableListOf() synchronized(LOCK) { for (data in trackers.values) { @@ -962,6 +969,7 @@ class LineStatusTrackerManager( @CalledInAwt internal fun notifyInactiveRangesDamaged(virtualFile: VirtualFile) { + application.assertIsDispatchThread() if (filesWithDamagedInactiveRanges.contains(virtualFile)) return if (virtualFile == fileEditorManager.currentFile) return filesWithDamagedInactiveRanges.add(virtualFile)