From 34efaea6eaf77dc937b03fb936761517acd91eb2 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Tue, 4 Oct 2016 21:56:34 +0300 Subject: [PATCH] Increment PsiModificationTracker counter in a write action (cherry picked from commit 73307a2) --- .../kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt | 5 ++++- .../annotation/processing/AnnotationProcessingExtension.kt | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt index e2c6eff88c3..03e34916ebe 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.cli.jvm.compiler import com.intellij.openapi.project.Project +import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.util.io.JarUtil import com.intellij.openapi.vfs.VfsUtilCore import com.intellij.openapi.vfs.VirtualFile @@ -264,7 +265,9 @@ object KotlinToJVMBytecodeCompiler { } // Clear package caches (see KotlinJavaPsiFacade) - (PsiManager.getInstance(environment.project).modificationTracker as? PsiModificationTrackerImpl)?.incCounter() + ApplicationManager.getApplication().runWriteAction { + (PsiManager.getInstance(environment.project).modificationTracker as? PsiModificationTrackerImpl)?.incCounter() + } // Clear all diagnostic messages configuration[CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY]?.clear() diff --git a/plugins/annotation-processing/src/org/jetbrains/kotlin/annotation/processing/AnnotationProcessingExtension.kt b/plugins/annotation-processing/src/org/jetbrains/kotlin/annotation/processing/AnnotationProcessingExtension.kt index dbca20b0801..11dc198d540 100755 --- a/plugins/annotation-processing/src/org/jetbrains/kotlin/annotation/processing/AnnotationProcessingExtension.kt +++ b/plugins/annotation-processing/src/org/jetbrains/kotlin/annotation/processing/AnnotationProcessingExtension.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.annotation +import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.StandardFileSystems import com.intellij.psi.JavaPsiFacade @@ -291,7 +292,9 @@ abstract class AbstractAnnotationProcessingExtension( } // Update the platform caches - (psiManager().modificationTracker as? PsiModificationTrackerImpl)?.incCounter() + ApplicationManager.getApplication().runWriteAction { + (psiManager().modificationTracker as? PsiModificationTrackerImpl)?.incCounter() + } // Find generated files val localFileSystem = StandardFileSystems.local()