Minor. Avoid recursion

This commit is contained in:
Mikhael Bogdanov
2018-04-10 11:01:53 +02:00
parent 6d1af263ba
commit e23c406285
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.resolve.jvm.checkers
import org.jetbrains.kotlin.config.AnalysisFlag import org.jetbrains.kotlin.config.AnalysisFlag
import org.jetbrains.kotlin.config.JvmTarget import org.jetbrains.kotlin.config.JvmTarget
import org.jetbrains.kotlin.descriptors.* 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.load.java.descriptors.JavaMethodDescriptor
import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
@@ -75,11 +74,14 @@ class JvmDefaultChecker(val jvmTarget: JvmTarget) : DeclarationChecker {
!DescriptorUtils.isAnnotationClass(descriptor) !DescriptorUtils.isAnnotationClass(descriptor)
) { ) {
return descriptor.getSuperInterfaces().all { return descriptor.getSuperInterfaces().all {
checkJvmDefaultThroughInheritance(it, enableJvmDefault) checkJvmDefaultAnnotation(it)
} }
} }
return checkJvmDefaultAnnotation(descriptor)
}
private fun checkJvmDefaultAnnotation(descriptor: ClassDescriptor): Boolean {
return descriptor.unsubstitutedMemberScope.getContributedDescriptors().filterIsInstance<CallableMemberDescriptor>().all { return descriptor.unsubstitutedMemberScope.getContributedDescriptors().filterIsInstance<CallableMemberDescriptor>().all {
!it.hasJvmDefaultAnnotation() !it.hasJvmDefaultAnnotation()
} }