[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
-1
@@ -6,7 +6,6 @@
|
||||
package org.jetbrains.kotlin.analysis.api.fir.diagnostics
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiNameIdentifierOwner
|
||||
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
||||
import org.jetbrains.kotlin.KtPsiSourceElement
|
||||
import org.jetbrains.kotlin.diagnostics.KtPsiDiagnostic
|
||||
|
||||
+1
-2
@@ -6,7 +6,6 @@
|
||||
package org.jetbrains.kotlin.analysis.api.fir.diagnostics
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiNameIdentifierOwner
|
||||
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
||||
import org.jetbrains.kotlin.analysis.api.diagnostics.KtDiagnosticWithPsi
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
|
||||
@@ -1928,7 +1927,7 @@ sealed interface KtFirDiagnostic<PSI : PsiElement> : KtDiagnosticWithPsi<PSI> {
|
||||
val containingClassName: Name
|
||||
}
|
||||
|
||||
interface CannotInferVisibility : KtFirDiagnostic<PsiNameIdentifierOwner> {
|
||||
interface CannotInferVisibility : KtFirDiagnostic<KtDeclaration> {
|
||||
override val diagnosticClass get() = CannotInferVisibility::class
|
||||
val callable: KtCallableSymbol
|
||||
}
|
||||
|
||||
+1
-2
@@ -6,7 +6,6 @@
|
||||
package org.jetbrains.kotlin.analysis.api.fir.diagnostics
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiNameIdentifierOwner
|
||||
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
||||
import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
|
||||
@@ -2320,7 +2319,7 @@ internal class CannotInferVisibilityImpl(
|
||||
override val callable: KtCallableSymbol,
|
||||
firDiagnostic: KtPsiDiagnostic,
|
||||
token: KtLifetimeToken,
|
||||
) : KtAbstractFirDiagnostic<PsiNameIdentifierOwner>(firDiagnostic, token), KtFirDiagnostic.CannotInferVisibility
|
||||
) : KtAbstractFirDiagnostic<KtDeclaration>(firDiagnostic, token), KtFirDiagnostic.CannotInferVisibility
|
||||
|
||||
internal class MultipleDefaultsInheritedFromSupertypesImpl(
|
||||
override val name: Name,
|
||||
|
||||
Reference in New Issue
Block a user