~ [Analysis API] Forbid suspension calls inside analysis blocks
diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/session/KaSessionProvider.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/session/KaSessionProvider.kt
index 320791e..b47b101 100644
--- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/session/KaSessionProvider.kt
+++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/session/KaSessionProvider.kt
@@ -37,7 +37,10 @@
 
         beforeEnteringAnalysis(analysisSession, useSiteElement)
         return try {
-            analysisSession.action()
+            val lock = Any()
+            synchronized(lock) {
+                analysisSession.action()
+            }
         } finally {
             afterLeavingAnalysis(analysisSession, useSiteElement)
         }
@@ -51,7 +54,10 @@
 
         beforeEnteringAnalysis(analysisSession, useSiteModule)
         return try {
-            analysisSession.action()
+            val lock = Any()
+            synchronized(lock) {
+                analysisSession.action()
+            }
         } finally {
             afterLeavingAnalysis(analysisSession, useSiteModule)
         }