UnimplementedKotlinInterfaceMemberAnnotator: shouldn't report methods with @JvmStatic

#KT-27208 Fixed
This commit is contained in:
Dmitry Gridin
2019-07-23 14:59:48 +03:00
parent cf07585b11
commit 311cfc3806
9 changed files with 53 additions and 1 deletions
@@ -18,6 +18,7 @@ import com.intellij.psi.*
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
import org.jetbrains.kotlin.idea.KotlinLanguage
import org.jetbrains.kotlin.resolve.annotations.JVM_STATIC_ANNOTATION_FQ_NAME
import org.jetbrains.kotlin.resolve.jvm.annotations.JVM_DEFAULT_FQ_NAME
import org.jetbrains.kotlin.utils.ifEmpty
@@ -46,7 +47,8 @@ class UnimplementedKotlinInterfaceMemberAnnotator : Annotator {
return signaturesFromKotlinInterfaces.firstOrNull {
it !in signaturesVisibleThroughKotlinSuperClass &&
it.method.modifierList.annotations.none { annotation ->
annotation.qualifiedName == JVM_DEFAULT_FQ_NAME.asString()
val qualifiedName = annotation.qualifiedName
qualifiedName == JVM_DEFAULT_FQ_NAME.asString() || qualifiedName == JVM_STATIC_ANNOTATION_FQ_NAME.asString()
}
}?.method as? KtLightMethod
}