From 17c3bf65024df4b5693f1662b088e9621991cbad Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Tue, 28 Apr 2015 12:35:05 +0300 Subject: [PATCH] Minor: improve DescriptorUtils#getContainingModule() Correctly handle the case when descriptor is a child of PackageViewDescriptor --- .../org/jetbrains/kotlin/resolve/DescriptorUtils.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java index 91539377dd1..1714a62f5e4 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java @@ -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