J2K: move isEffectivelyExternal to kt-file, parameter -> receiver
This commit is contained in:
@@ -573,18 +573,6 @@ public class DescriptorUtils {
|
||||
return scope.getContributedDescriptors(DescriptorKindFilter.ALL, MemberScope.Companion.getALL_NAME_FILTER());
|
||||
}
|
||||
|
||||
public static boolean isEffectivelyExternal(@NotNull MemberDescriptor descriptor) {
|
||||
if (descriptor.isExternal()) return true;
|
||||
|
||||
if (descriptor instanceof PropertyAccessorDescriptor) {
|
||||
PropertyDescriptor variableDescriptor = ((PropertyAccessorDescriptor) descriptor).getCorrespondingProperty();
|
||||
if (isEffectivelyExternal(variableDescriptor)) return true;
|
||||
}
|
||||
|
||||
ClassDescriptor containingClass = getContainingClass(descriptor);
|
||||
return containingClass != null && isEffectivelyExternal(containingClass);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static FunctionDescriptor getFunctionByName(@NotNull MemberScope scope, @NotNull Name name) {
|
||||
Collection<DeclarationDescriptor> functions = scope.getContributedDescriptors(DescriptorKindFilter.FUNCTIONS,
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.FqNameUnsafe
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils.getContainingClass
|
||||
import org.jetbrains.kotlin.resolve.constants.EnumValue
|
||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||
import org.jetbrains.kotlin.resolve.scopes.MemberScope
|
||||
@@ -411,4 +412,16 @@ fun DeclarationDescriptor.isCompanionObject(): Boolean = DescriptorUtils.isCompa
|
||||
fun ClassDescriptor.isSubclassOf(superclass: ClassDescriptor): Boolean = DescriptorUtils.isSubclass(this, superclass)
|
||||
|
||||
val AnnotationDescriptor.annotationClass: ClassDescriptor?
|
||||
get() = type.constructor.declarationDescriptor as? ClassDescriptor
|
||||
get() = type.constructor.declarationDescriptor as? ClassDescriptor
|
||||
|
||||
fun MemberDescriptor.isEffectivelyExternal(): Boolean {
|
||||
if (isExternal) return true
|
||||
|
||||
if (this is PropertyAccessorDescriptor) {
|
||||
val variableDescriptor = correspondingProperty
|
||||
if (variableDescriptor.isEffectivelyExternal()) return true
|
||||
}
|
||||
|
||||
val containingClass = getContainingClass(this)
|
||||
return containingClass != null && containingClass.isEffectivelyExternal()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user