[FIR] Properly check for visibility in FirTypeIntersectionScopeContext

This fixes a false positive OVERRIDING_FINAL_MEMBER caused by a
package-private member in a different package being added to the
list of overridden symbols. However, in Java, package-private members
from different packages are effectively like private members in that
they cannot be overridden.

#KT-61696 Fixed
This commit is contained in:
Kirill Rakhman
2023-09-07 17:04:46 +02:00
committed by Space Team
parent d16f33cf5b
commit 2bc25d4f6e
10 changed files with 97 additions and 11 deletions
@@ -0,0 +1,29 @@
// FIR_IDENTICAL
// FILE: ViewModel.java
package viewmodel;
public class ViewModel {
final void clear() {
}
}
// FILE: samePackage.kt
package viewmodel
interface IMyViewModel {
fun clear()
}
class MyViewModel: ViewModel(), IMyViewModel {
<!OVERRIDING_FINAL_MEMBER!>override<!> fun clear() = Unit
}
// FILE: differentPackage.kt
package different
import viewmodel.IMyViewModel
import viewmodel.ViewModel
class MyViewModel: ViewModel(), IMyViewModel {
override fun clear() = Unit
}