[FIR] Add isVisible check to resolveRootPartOfQualifier
This commit is contained in:
@@ -47,6 +47,17 @@ fun BodyResolveComponents.resolveRootPartOfQualifier(
|
||||
for (scope in createCurrentScopeList()) {
|
||||
scope.getSingleClassifier(name)?.let {
|
||||
if (it is FirRegularClassSymbol) {
|
||||
val isVisible = session.visibilityChecker.isVisible(
|
||||
it.fir,
|
||||
session,
|
||||
file,
|
||||
containingDeclarations,
|
||||
null,
|
||||
false,
|
||||
)
|
||||
if (!isVisible) {
|
||||
return@let
|
||||
}
|
||||
val classId = it.classId
|
||||
return buildResolvedQualifier {
|
||||
this.source = source
|
||||
|
||||
@@ -3,7 +3,9 @@
|
||||
// FILE: f11.kt
|
||||
package api
|
||||
|
||||
interface ApplicabilityResult
|
||||
interface ApplicabilityResult {
|
||||
object Inapplicable : ApplicabilityResult {}
|
||||
}
|
||||
|
||||
// FILE: f12.kt
|
||||
package api
|
||||
@@ -28,3 +30,10 @@ class NullArgumentMapping : ArgumentMapping {
|
||||
override fun highlightingApplicabilities(): ApplicabilityResult = object : ApplicabilityResult {
|
||||
}
|
||||
}
|
||||
|
||||
class PositionalArgumentMapping : ArgumentMapping {
|
||||
// The return type is now resolved properly v
|
||||
override fun highlightingApplicabilities(): ApplicabilityResult =
|
||||
// However, here v we still have a problem
|
||||
ApplicabilityResult.Inapplicable
|
||||
}
|
||||
|
||||
@@ -7,6 +7,13 @@ package api {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
public object Inapplicable : api.ApplicabilityResult {
|
||||
private constructor Inapplicable()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
public interface ArgumentMapping {
|
||||
@@ -39,5 +46,13 @@ package impl {
|
||||
public open override /*1*/ fun highlightingApplicabilities(): api.ApplicabilityResult
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class PositionalArgumentMapping : api.ArgumentMapping {
|
||||
public constructor PositionalArgumentMapping()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ fun highlightingApplicabilities(): api.ApplicabilityResult
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user