From 28a3865997f4f662d5be50f14b5fd85cc9659c59 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Tue, 26 May 2015 19:47:32 +0300 Subject: [PATCH] Cache writer instance in kapt --- .../kotlin/annotation/AnnotationCollectorExtension.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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) {