Minor: improve DescriptorUtils#getContainingModule()

Correctly handle the case when descriptor is a child of PackageViewDescriptor
This commit is contained in:
Pavel V. Talanov
2015-04-28 12:35:05 +03:00
parent ac2cb9af74
commit 17c3bf6502
@@ -191,10 +191,15 @@ public class DescriptorUtils {
@Nullable
public static ModuleDescriptor getContainingModuleOrNull(@NotNull DeclarationDescriptor descriptor) {
if (descriptor instanceof PackageViewDescriptor) {
return ((PackageViewDescriptor) descriptor).getModule();
ModuleDescriptor moduleDescriptor = getParentOfType(descriptor, ModuleDescriptor.class, false);
if (moduleDescriptor != null) {
return moduleDescriptor;
}
return getParentOfType(descriptor, ModuleDescriptor.class, false);
PackageViewDescriptor packageViewDescriptor = getParentOfType(descriptor, PackageViewDescriptor.class, false);
if (packageViewDescriptor != null) {
return packageViewDescriptor.getModule();
}
return null;
}
@Nullable