From e23c40628535e61fca2dc776864b00cf96f5b87b Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Tue, 10 Apr 2018 11:01:53 +0200 Subject: [PATCH] Minor. Avoid recursion --- .../kotlin/resolve/jvm/checkers/JvmDefaultChecker.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/checkers/JvmDefaultChecker.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/checkers/JvmDefaultChecker.kt index 82e87576ebf..016b9affb28 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/checkers/JvmDefaultChecker.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/checkers/JvmDefaultChecker.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.resolve.jvm.checkers import org.jetbrains.kotlin.config.AnalysisFlag import org.jetbrains.kotlin.config.JvmTarget import org.jetbrains.kotlin.descriptors.* -import org.jetbrains.kotlin.load.java.descriptors.JavaCallableMemberDescriptor import org.jetbrains.kotlin.load.java.descriptors.JavaMethodDescriptor import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils @@ -75,11 +74,14 @@ class JvmDefaultChecker(val jvmTarget: JvmTarget) : DeclarationChecker { !DescriptorUtils.isAnnotationClass(descriptor) ) { return descriptor.getSuperInterfaces().all { - checkJvmDefaultThroughInheritance(it, enableJvmDefault) + checkJvmDefaultAnnotation(it) } } + return checkJvmDefaultAnnotation(descriptor) + } + private fun checkJvmDefaultAnnotation(descriptor: ClassDescriptor): Boolean { return descriptor.unsubstitutedMemberScope.getContributedDescriptors().filterIsInstance().all { !it.hasJvmDefaultAnnotation() }