[FIR] Relax intersection overrides visibility requirements for Java
Allow multiple bases with default implementations as long as there's a non-abstract symbol from a class. Our rules for Kotlin are stricter than those in Java.
This commit is contained in:
committed by
Space Team
parent
76ed5453b3
commit
da6006b7d0
+3
-3
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
import org.jetbrains.kotlin.utils.sure
|
||||
|
||||
object PositioningStrategies {
|
||||
open class DeclarationHeader<T : PsiElement> : PositioningStrategy<T>() {
|
||||
open class DeclarationHeader<T : KtDeclaration> : PositioningStrategy<T>() {
|
||||
override fun isValid(element: T): Boolean {
|
||||
if (element is KtNamedDeclaration &&
|
||||
element !is KtObjectDeclaration &&
|
||||
@@ -142,8 +142,8 @@ object PositioningStrategies {
|
||||
}
|
||||
|
||||
@JvmField
|
||||
val DECLARATION_NAME: PositioningStrategy<PsiNameIdentifierOwner> = object : DeclarationHeader<PsiNameIdentifierOwner>() {
|
||||
override fun mark(element: PsiNameIdentifierOwner): List<TextRange> {
|
||||
val DECLARATION_NAME: PositioningStrategy<KtNamedDeclaration> = object : DeclarationHeader<KtNamedDeclaration>() {
|
||||
override fun mark(element: KtNamedDeclaration): List<TextRange> {
|
||||
val nameIdentifier = element.nameIdentifier
|
||||
if (nameIdentifier != null) {
|
||||
if (element is KtClassOrObject) {
|
||||
|
||||
Reference in New Issue
Block a user