diff --git a/plugins/annotation-collector/src/org/jetbrains/kotlin/annotation/AnnotationCollectorExtension.kt b/plugins/annotation-collector/src/org/jetbrains/kotlin/annotation/AnnotationCollectorExtension.kt index 997f8f47b28..3c34d00b8d2 100644 --- a/plugins/annotation-collector/src/org/jetbrains/kotlin/annotation/AnnotationCollectorExtension.kt +++ b/plugins/annotation-collector/src/org/jetbrains/kotlin/annotation/AnnotationCollectorExtension.kt @@ -230,12 +230,15 @@ public class AnnotationCollectorExtension( val outputFilename: String? = null ) : AnnotationCollectorExtensionBase() { + private var writerInternal: Writer? = null + override fun getWriter(diagnostic: DiagnosticSink): Writer { - try { - return with (File(outputFilename)) { + return writerInternal ?: try { + with (File(outputFilename)) { val parent = getParentFile() if (!parent.exists()) parent.mkdirs() - bufferedWriter() + writerInternal = bufferedWriter() + writerInternal!! } } catch (e: IOException) {