JsDescriptorUtils#(isExtension, isOverride, getContainingClass) -> DescriptorUtils#(*)
This commit is contained in:
@@ -129,6 +129,14 @@ public class DescriptorUtils {
|
||||
return descriptor.getContainingDeclaration() instanceof PackageFragmentDescriptor;
|
||||
}
|
||||
|
||||
public static boolean isExtension(@NotNull CallableDescriptor descriptor) {
|
||||
return (descriptor.getExtensionReceiverParameter() != null);
|
||||
}
|
||||
|
||||
public static boolean isOverride(@NotNull CallableMemberDescriptor descriptor) {
|
||||
return !descriptor.getOverriddenDescriptors().isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true iff this is a top-level declaration or a class member with no expected "this" object (e.g. static members in Java,
|
||||
* values() and valueOf() methods of enum classes, etc.)
|
||||
@@ -185,6 +193,18 @@ public class DescriptorUtils {
|
||||
return module;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static ClassDescriptor getContainingClass(@NotNull DeclarationDescriptor descriptor) {
|
||||
DeclarationDescriptor containing = descriptor.getContainingDeclaration();
|
||||
while (containing != null) {
|
||||
if (containing instanceof ClassDescriptor && !isClassObject(containing)) {
|
||||
return (ClassDescriptor) containing;
|
||||
}
|
||||
containing = containing.getContainingDeclaration();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static boolean isAncestor(
|
||||
@Nullable DeclarationDescriptor ancestor,
|
||||
@NotNull DeclarationDescriptor declarationDescriptor,
|
||||
|
||||
Reference in New Issue
Block a user