From e459a6d5d2f23331cbcae4d4d06b9b3d295c7d4e Mon Sep 17 00:00:00 2001 From: Ilmir Usmanov Date: Thu, 26 Oct 2023 04:29:52 +0200 Subject: [PATCH] KAPT: Always print parens on empty annotation parameters Since JDK 17+ pretty-printer does not print parens on empty annotation parameters, print them anyway. Otherwise, tests with annotations differ on different JDKs. #KT-57389 --- .../jetbrains/kotlin/kapt3/util/PrettyWithWorkarounds.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/util/PrettyWithWorkarounds.kt b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/util/PrettyWithWorkarounds.kt index d88fca0e97b13..459f08e399632 100644 --- a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/util/PrettyWithWorkarounds.kt +++ b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/util/PrettyWithWorkarounds.kt @@ -50,7 +50,11 @@ private class PrettyWithWorkarounds( if (renderMetadata != null && tree.annotationType.toString() == METADATA_FQ_NAME.asString()) { print(renderMetadata.invoke(this, tree)) } - super.visitAnnotation(tree) + print("@") + printExpr(tree.annotationType) + print("(") + printExprs(tree.args) + print(")") } }