Minor. Removed ReceiverValue.IRRELEVANT_RECEIVER.
This commit is contained in:
+1
-2
@@ -33,7 +33,6 @@ import org.jetbrains.kotlin.resolve.BindingContext
|
|||||||
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
|
||||||
import org.jetbrains.kotlin.resolve.jvm.diagnostics.*
|
import org.jetbrains.kotlin.resolve.jvm.diagnostics.*
|
||||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
|
||||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@@ -175,7 +174,7 @@ class BuilderFactoryForDuplicateSignatureDiagnostics(
|
|||||||
descriptor.getParentJavaStaticClassScope()?.run {
|
descriptor.getParentJavaStaticClassScope()?.run {
|
||||||
getContributedDescriptors(DescriptorKindFilter.FUNCTIONS)
|
getContributedDescriptors(DescriptorKindFilter.FUNCTIONS)
|
||||||
.filter {
|
.filter {
|
||||||
it is FunctionDescriptor && Visibilities.isVisible(ReceiverValue.IRRELEVANT_RECEIVER, it, descriptor)
|
it is FunctionDescriptor && Visibilities.isVisibleWithIrrelevantReceiver(it, descriptor)
|
||||||
}
|
}
|
||||||
.forEach(::processMember)
|
.forEach(::processMember)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -419,11 +419,11 @@ public class ControlFlowInformationProvider {
|
|||||||
PropertySetterDescriptor setterDescriptor = ((PropertyDescriptor) variableDescriptor).getSetter();
|
PropertySetterDescriptor setterDescriptor = ((PropertyDescriptor) variableDescriptor).getSetter();
|
||||||
|
|
||||||
ResolvedCall<? extends CallableDescriptor> resolvedCall = CallUtilKt.getResolvedCall(expression, trace.getBindingContext());
|
ResolvedCall<? extends CallableDescriptor> resolvedCall = CallUtilKt.getResolvedCall(expression, trace.getBindingContext());
|
||||||
ReceiverValue receiverValue = ReceiverValue.IRRELEVANT_RECEIVER;
|
ReceiverValue receiverValue = ReceiverValue.NO_RECEIVER;
|
||||||
if (resolvedCall != null) {
|
if (resolvedCall != null) {
|
||||||
receiverValue = resolvedCall.getDispatchReceiver();
|
receiverValue = resolvedCall.getDispatchReceiver();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Visibilities.isVisible(receiverValue, variableDescriptor, descriptor) && setterDescriptor != null
|
if (Visibilities.isVisible(receiverValue, variableDescriptor, descriptor) && setterDescriptor != null
|
||||||
&& !Visibilities.isVisible(receiverValue, setterDescriptor, descriptor)) {
|
&& !Visibilities.isVisible(receiverValue, setterDescriptor, descriptor)) {
|
||||||
report(Errors.INVISIBLE_SETTER.on(expression, variableDescriptor, setterDescriptor.getVisibility(),
|
report(Errors.INVISIBLE_SETTER.on(expression, variableDescriptor, setterDescriptor.getVisibility(),
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ import org.jetbrains.kotlin.name.Name;
|
|||||||
import org.jetbrains.kotlin.psi.*;
|
import org.jetbrains.kotlin.psi.*;
|
||||||
import org.jetbrains.kotlin.resolve.calls.callResolverUtil.CallResolverUtilKt;
|
import org.jetbrains.kotlin.resolve.calls.callResolverUtil.CallResolverUtilKt;
|
||||||
import org.jetbrains.kotlin.resolve.dataClassUtils.DataClassUtilsKt;
|
import org.jetbrains.kotlin.resolve.dataClassUtils.DataClassUtilsKt;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue;
|
|
||||||
import org.jetbrains.kotlin.types.*;
|
import org.jetbrains.kotlin.types.*;
|
||||||
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker;
|
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker;
|
||||||
import org.jetbrains.kotlin.utils.HashSetUtil;
|
import org.jetbrains.kotlin.utils.HashSetUtil;
|
||||||
@@ -1028,7 +1027,7 @@ public class OverrideResolver {
|
|||||||
all.addAll((Collection) supertype.getMemberScope().getContributedVariables(declared.getName(), NoLookupLocation.WHEN_CHECK_OVERRIDES));
|
all.addAll((Collection) supertype.getMemberScope().getContributedVariables(declared.getName(), NoLookupLocation.WHEN_CHECK_OVERRIDES));
|
||||||
for (CallableMemberDescriptor fromSuper : all) {
|
for (CallableMemberDescriptor fromSuper : all) {
|
||||||
if (OverridingUtil.DEFAULT.isOverridableBy(fromSuper, declared, null).getResult() == OVERRIDABLE) {
|
if (OverridingUtil.DEFAULT.isOverridableBy(fromSuper, declared, null).getResult() == OVERRIDABLE) {
|
||||||
if (Visibilities.isVisible(ReceiverValue.IRRELEVANT_RECEIVER, fromSuper, declared)) {
|
if (Visibilities.isVisibleWithIrrelevantReceiver(fromSuper, declared)) {
|
||||||
throw new IllegalStateException("Descriptor " + fromSuper + " is overridable by " + declared +
|
throw new IllegalStateException("Descriptor " + fromSuper + " is overridable by " + declared +
|
||||||
" and visible but does not appear in its getOverriddenDescriptors()");
|
" and visible but does not appear in its getOverriddenDescriptors()");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -600,7 +600,7 @@ public class QualifiedExpressionResolver(val symbolUsageValidator: SymbolUsageVa
|
|||||||
if (Visibilities.isPrivate(visibility)) return false
|
if (Visibilities.isPrivate(visibility)) return false
|
||||||
if (!visibility.mustCheckInImports()) return true
|
if (!visibility.mustCheckInImports()) return true
|
||||||
}
|
}
|
||||||
return Visibilities.isVisible(ReceiverValue.IRRELEVANT_RECEIVER, descriptor, shouldBeVisibleFrom)
|
return Visibilities.isVisibleWithIrrelevantReceiver(descriptor, shouldBeVisibleFrom)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ import org.jetbrains.kotlin.resolve.PlatformTypesMappedToKotlinChecker
|
|||||||
import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver
|
import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver
|
||||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||||
import org.jetbrains.kotlin.resolve.scopes.ImportingScope
|
import org.jetbrains.kotlin.resolve.scopes.ImportingScope
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
|
||||||
import org.jetbrains.kotlin.storage.StorageManager
|
import org.jetbrains.kotlin.storage.StorageManager
|
||||||
import org.jetbrains.kotlin.types.KotlinType
|
import org.jetbrains.kotlin.types.KotlinType
|
||||||
import org.jetbrains.kotlin.util.collectionUtils.concat
|
import org.jetbrains.kotlin.util.collectionUtils.concat
|
||||||
@@ -180,7 +179,7 @@ class LazyImportScope(
|
|||||||
val visibility = descriptor.getVisibility()
|
val visibility = descriptor.getVisibility()
|
||||||
val includeVisible = filteringKind == FilteringKind.VISIBLE_CLASSES
|
val includeVisible = filteringKind == FilteringKind.VISIBLE_CLASSES
|
||||||
if (!visibility.mustCheckInImports()) return includeVisible
|
if (!visibility.mustCheckInImports()) return includeVisible
|
||||||
return Visibilities.isVisible(ReceiverValue.IRRELEVANT_RECEIVER, descriptor, importResolver.moduleDescriptor) == includeVisible
|
return Visibilities.isVisibleWithIrrelevantReceiver(descriptor, importResolver.moduleDescriptor) == includeVisible
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? {
|
override fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? {
|
||||||
|
|||||||
@@ -70,6 +70,20 @@ public class Visibilities {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This visibility is needed for the next case:
|
||||||
|
* class A<in T>(t: T) {
|
||||||
|
* private val t: T = t // visibility for t is PRIVATE_TO_THIS
|
||||||
|
*
|
||||||
|
* fun test() {
|
||||||
|
* val x: T = t // correct
|
||||||
|
* val y: T = this.t // also correct
|
||||||
|
* }
|
||||||
|
* fun foo(a: A<String>) {
|
||||||
|
* val x: String = a.t // incorrect, because a.t can be Any
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
*/
|
||||||
public static final Visibility PRIVATE_TO_THIS = new Visibility("private_to_this", false) {
|
public static final Visibility PRIVATE_TO_THIS = new Visibility("private_to_this", false) {
|
||||||
@Override
|
@Override
|
||||||
public boolean isVisible(@NotNull ReceiverValue thisObject, @NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
|
public boolean isVisible(@NotNull ReceiverValue thisObject, @NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
|
||||||
@@ -208,6 +222,14 @@ public class Visibilities {
|
|||||||
return findInvisibleMember(receiver, what, from) == null;
|
return findInvisibleMember(receiver, what, from) == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Receiver used only for visibility PRIVATE_TO_THIS.
|
||||||
|
* For all other visibilities this method give correct result.
|
||||||
|
*/
|
||||||
|
public static boolean isVisibleWithIrrelevantReceiver(@NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
|
||||||
|
return findInvisibleMember(ReceiverValue.NO_RECEIVER /* temporary */, what, from) == null;
|
||||||
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public static DeclarationDescriptorWithVisibility findInvisibleMember(
|
public static DeclarationDescriptorWithVisibility findInvisibleMember(
|
||||||
@NotNull ReceiverValue receiver,
|
@NotNull ReceiverValue receiver,
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ import org.jetbrains.kotlin.descriptors.impl.FunctionDescriptorImpl;
|
|||||||
import org.jetbrains.kotlin.descriptors.impl.PropertyAccessorDescriptorImpl;
|
import org.jetbrains.kotlin.descriptors.impl.PropertyAccessorDescriptorImpl;
|
||||||
import org.jetbrains.kotlin.descriptors.impl.PropertyDescriptorImpl;
|
import org.jetbrains.kotlin.descriptors.impl.PropertyDescriptorImpl;
|
||||||
import org.jetbrains.kotlin.name.Name;
|
import org.jetbrains.kotlin.name.Name;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue;
|
|
||||||
import org.jetbrains.kotlin.types.FlexibleTypesKt;
|
import org.jetbrains.kotlin.types.FlexibleTypesKt;
|
||||||
import org.jetbrains.kotlin.types.KotlinType;
|
import org.jetbrains.kotlin.types.KotlinType;
|
||||||
import org.jetbrains.kotlin.types.TypeConstructor;
|
import org.jetbrains.kotlin.types.TypeConstructor;
|
||||||
@@ -297,7 +296,7 @@ public class OverridingUtil {
|
|||||||
for (CallableMemberDescriptor fromSupertype : descriptorsFromSuper) {
|
for (CallableMemberDescriptor fromSupertype : descriptorsFromSuper) {
|
||||||
OverrideCompatibilityInfo.Result result = DEFAULT.isOverridableBy(fromSupertype, fromCurrent, current).getResult();
|
OverrideCompatibilityInfo.Result result = DEFAULT.isOverridableBy(fromSupertype, fromCurrent, current).getResult();
|
||||||
|
|
||||||
boolean isVisible = Visibilities.isVisible(ReceiverValue.IRRELEVANT_RECEIVER, fromSupertype, current);
|
boolean isVisible = Visibilities.isVisibleWithIrrelevantReceiver(fromSupertype, current);
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case OVERRIDABLE:
|
case OVERRIDABLE:
|
||||||
if (isVisible) {
|
if (isVisible) {
|
||||||
@@ -485,7 +484,7 @@ public class OverridingUtil {
|
|||||||
public Boolean invoke(CallableMemberDescriptor descriptor) {
|
public Boolean invoke(CallableMemberDescriptor descriptor) {
|
||||||
//nested class could capture private member, so check for private visibility added
|
//nested class could capture private member, so check for private visibility added
|
||||||
return !Visibilities.isPrivate(descriptor.getVisibility()) &&
|
return !Visibilities.isPrivate(descriptor.getVisibility()) &&
|
||||||
Visibilities.isVisible(ReceiverValue.IRRELEVANT_RECEIVER, descriptor, current);
|
Visibilities.isVisibleWithIrrelevantReceiver(descriptor, current);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,24 +38,6 @@ public interface ReceiverValue extends Receiver {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
ReceiverValue IRRELEVANT_RECEIVER = new ReceiverValue() {
|
|
||||||
@NotNull
|
|
||||||
@Override
|
|
||||||
public KotlinType getType() {
|
|
||||||
throw new UnsupportedOperationException("IRRELEVANT_RECEIVER.getType()");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean exists() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return "IRRELEVANT_RECEIVER";
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
KotlinType getType();
|
KotlinType getType();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ import org.jetbrains.kotlin.resolve.BindingContext
|
|||||||
import org.jetbrains.kotlin.resolve.findOriginalTopMostOverriddenDescriptors
|
import org.jetbrains.kotlin.resolve.findOriginalTopMostOverriddenDescriptors
|
||||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
|
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
|
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
|
||||||
import org.jetbrains.kotlin.resolve.scopes.utils.getImplicitReceiversHierarchy
|
import org.jetbrains.kotlin.resolve.scopes.utils.getImplicitReceiversHierarchy
|
||||||
import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
|
import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
|
||||||
|
|
||||||
@@ -55,7 +54,7 @@ private fun DeclarationDescriptorWithVisibility.isVisible(
|
|||||||
bindingContext: BindingContext? = null,
|
bindingContext: BindingContext? = null,
|
||||||
resolutionScope: LexicalScope? = null
|
resolutionScope: LexicalScope? = null
|
||||||
): Boolean {
|
): Boolean {
|
||||||
if (Visibilities.isVisible(ReceiverValue.IRRELEVANT_RECEIVER, this, from)) return true
|
if (Visibilities.isVisibleWithIrrelevantReceiver(this, from)) return true
|
||||||
|
|
||||||
if (bindingContext == null || resolutionScope == null) return false
|
if (bindingContext == null || resolutionScope == null) return false
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ import org.jetbrains.kotlin.psi.*
|
|||||||
import org.jetbrains.kotlin.psi.psiUtil.allChildren
|
import org.jetbrains.kotlin.psi.psiUtil.allChildren
|
||||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||||
import org.jetbrains.kotlin.renderer.ParameterNameRenderingPolicy
|
import org.jetbrains.kotlin.renderer.ParameterNameRenderingPolicy
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
|
||||||
import org.jetbrains.kotlin.resolve.source.getPsi
|
import org.jetbrains.kotlin.resolve.source.getPsi
|
||||||
import org.jetbrains.kotlin.types.TypeSubstitutor
|
import org.jetbrains.kotlin.types.TypeSubstitutor
|
||||||
import org.jetbrains.kotlin.types.Variance
|
import org.jetbrains.kotlin.types.Variance
|
||||||
@@ -150,7 +149,7 @@ private fun KotlinPullUpData.checkVisibility(
|
|||||||
fun reportConflictIfAny(targetDescriptor: DeclarationDescriptor) {
|
fun reportConflictIfAny(targetDescriptor: DeclarationDescriptor) {
|
||||||
val target = (targetDescriptor as? DeclarationDescriptorWithSource)?.source?.getPsi() ?: return
|
val target = (targetDescriptor as? DeclarationDescriptorWithSource)?.source?.getPsi() ?: return
|
||||||
if (targetDescriptor is DeclarationDescriptorWithVisibility
|
if (targetDescriptor is DeclarationDescriptorWithVisibility
|
||||||
&& !Visibilities.isVisible(ReceiverValue.IRRELEVANT_RECEIVER, targetDescriptor, targetClassDescriptor)) {
|
&& !Visibilities.isVisibleWithIrrelevantReceiver(targetDescriptor, targetClassDescriptor)) {
|
||||||
val message = RefactoringBundle.message(
|
val message = RefactoringBundle.message(
|
||||||
"0.uses.1.which.is.not.accessible.from.the.superclass",
|
"0.uses.1.which.is.not.accessible.from.the.superclass",
|
||||||
memberDescriptor.renderForConflicts(),
|
memberDescriptor.renderForConflicts(),
|
||||||
|
|||||||
@@ -34,13 +34,11 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils
|
|||||||
import org.jetbrains.kotlin.resolve.calls.callUtil.getCalleeExpressionIfAny
|
import org.jetbrains.kotlin.resolve.calls.callUtil.getCalleeExpressionIfAny
|
||||||
import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.Qualifier
|
import org.jetbrains.kotlin.resolve.scopes.receivers.Qualifier
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.QualifierReceiver
|
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
|
||||||
import org.jetbrains.kotlin.resolve.source.getPsi
|
import org.jetbrains.kotlin.resolve.source.getPsi
|
||||||
import org.jetbrains.kotlin.types.TypeSubstitutor
|
import org.jetbrains.kotlin.types.TypeSubstitutor
|
||||||
import org.jetbrains.kotlin.types.substitutions.getTypeSubstitutor
|
import org.jetbrains.kotlin.types.substitutions.getTypeSubstitutor
|
||||||
import org.jetbrains.kotlin.util.findCallableMemberBySignature
|
import org.jetbrains.kotlin.util.findCallableMemberBySignature
|
||||||
import java.util.ArrayList
|
import java.util.*
|
||||||
|
|
||||||
fun analyzePushDownConflicts(context: KotlinPushDownContext,
|
fun analyzePushDownConflicts(context: KotlinPushDownContext,
|
||||||
usages: Array<out UsageInfo>): MultiMap<PsiElement, String> {
|
usages: Array<out UsageInfo>): MultiMap<PsiElement, String> {
|
||||||
@@ -198,7 +196,7 @@ private fun checkVisibility(
|
|||||||
fun reportConflictIfAny(targetDescriptor: DeclarationDescriptor) {
|
fun reportConflictIfAny(targetDescriptor: DeclarationDescriptor) {
|
||||||
val target = (targetDescriptor as? DeclarationDescriptorWithSource)?.source?.getPsi() ?: return
|
val target = (targetDescriptor as? DeclarationDescriptorWithSource)?.source?.getPsi() ?: return
|
||||||
if (targetDescriptor is DeclarationDescriptorWithVisibility
|
if (targetDescriptor is DeclarationDescriptorWithVisibility
|
||||||
&& !Visibilities.isVisible(ReceiverValue.IRRELEVANT_RECEIVER, targetDescriptor, targetClassDescriptor)) {
|
&& !Visibilities.isVisibleWithIrrelevantReceiver(targetDescriptor, targetClassDescriptor)) {
|
||||||
val message = "${context.memberDescriptors[member]!!.renderForConflicts()} " +
|
val message = "${context.memberDescriptors[member]!!.renderForConflicts()} " +
|
||||||
"uses ${targetDescriptor.renderForConflicts()}, " +
|
"uses ${targetDescriptor.renderForConflicts()}, " +
|
||||||
"which is not accessible from the ${targetClassDescriptor.renderForConflicts()}"
|
"which is not accessible from the ${targetClassDescriptor.renderForConflicts()}"
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
|||||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
|
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
|
||||||
import org.jetbrains.kotlin.resolve.scopes.MemberScope
|
import org.jetbrains.kotlin.resolve.scopes.MemberScope
|
||||||
import org.jetbrains.kotlin.resolve.scopes.getDescriptorsFiltered
|
import org.jetbrains.kotlin.resolve.scopes.getDescriptorsFiltered
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
|
||||||
import org.jetbrains.kotlin.resolve.scopes.utils.findClassifier
|
import org.jetbrains.kotlin.resolve.scopes.utils.findClassifier
|
||||||
import org.jetbrains.kotlin.resolve.scopes.utils.findFunction
|
import org.jetbrains.kotlin.resolve.scopes.utils.findFunction
|
||||||
import org.jetbrains.kotlin.resolve.scopes.utils.findPackage
|
import org.jetbrains.kotlin.resolve.scopes.utils.findPackage
|
||||||
@@ -254,7 +253,7 @@ public class ImportInsertHelperImpl(private val project: Project) : ImportInsert
|
|||||||
fun isVisible(descriptor: DeclarationDescriptor): Boolean {
|
fun isVisible(descriptor: DeclarationDescriptor): Boolean {
|
||||||
if (descriptor !is DeclarationDescriptorWithVisibility) return true
|
if (descriptor !is DeclarationDescriptorWithVisibility) return true
|
||||||
val visibility = descriptor.getVisibility()
|
val visibility = descriptor.getVisibility()
|
||||||
return !visibility.mustCheckInImports() || Visibilities.isVisible(ReceiverValue.IRRELEVANT_RECEIVER, descriptor, filePackage)
|
return !visibility.mustCheckInImports() || Visibilities.isVisibleWithIrrelevantReceiver(descriptor, filePackage)
|
||||||
}
|
}
|
||||||
|
|
||||||
val classNamesToImport = scopeToImport
|
val classNamesToImport = scopeToImport
|
||||||
|
|||||||
Reference in New Issue
Block a user