From a73cf65840bce45785b7e259143b694aab07c5b6 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Thu, 14 Jul 2016 18:53:45 +0300 Subject: [PATCH] Kapt: Check DEFAULT modifier only in Java 8 (cherry picked from commit 71c8dfb) --- .../jetbrains/kotlin/java/model/internal/internalUtil.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/java-model-wrappers/src/org/jetbrains/kotlin/java/model/internal/internalUtil.kt b/plugins/java-model-wrappers/src/org/jetbrains/kotlin/java/model/internal/internalUtil.kt index 42386072568..d6397c56d22 100644 --- a/plugins/java-model-wrappers/src/org/jetbrains/kotlin/java/model/internal/internalUtil.kt +++ b/plugins/java-model-wrappers/src/org/jetbrains/kotlin/java/model/internal/internalUtil.kt @@ -21,6 +21,10 @@ import com.intellij.psi.PsiModifierList import com.intellij.psi.PsiModifierListOwner import javax.lang.model.element.Modifier +private val HAS_DEFAULT by lazy { + Modifier::class.java.declaredFields.any { it.name == "DEFAULT" } +} + private fun PsiModifierList.getJavaModifiers(): Set { fun MutableSet.check(modifier: String, javaModifier: Modifier) { if (hasModifierProperty(modifier)) this += javaModifier @@ -38,7 +42,10 @@ private fun PsiModifierList.getJavaModifiers(): Set { check(STRICTFP, Modifier.STRICTFP) check(TRANSIENT, Modifier.TRANSIENT) check(VOLATILE, Modifier.VOLATILE) - check(DEFAULT, Modifier.DEFAULT) + + if (HAS_DEFAULT) { + check(DEFAULT, Modifier.DEFAULT) + } } }