Make internal: don't suggest in interface

#KT-35346 Fixed
This commit is contained in:
Toshiaki Kameyama
2019-12-09 18:40:19 +09:00
committed by klunnii
parent 6e8565917e
commit 4144adf4ee
8 changed files with 50 additions and 4 deletions
@@ -348,7 +348,10 @@ fun KtModifierListOwner.canBeProtected(): Boolean {
}
fun KtModifierListOwner.canBeInternal(): Boolean {
if (containingClass()?.isInterface() == true && hasJvmFieldAnnotation()) return false
if (containingClass()?.isInterface() == true) {
val objectDeclaration = getStrictParentOfType<KtObjectDeclaration>() ?: return false
if (objectDeclaration.isCompanion() && hasJvmFieldAnnotation()) return false
}
return !isAnnotationClassPrimaryConstructor()
}