diff --git a/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerUtil.kt b/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerUtil.kt index 338e166316a..f4a6e98350a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerUtil.kt +++ b/compiler/frontend/src/org/jetbrains/jet/analyzer/AnalyzerUtil.kt @@ -68,4 +68,4 @@ public fun JetType?.safeType(expression: JetExpression): JetType { return ErrorUtils.createErrorType("Type for " + expression.getText()) } -private fun JetScope.getModule(): ModuleDescriptor = DescriptorUtils.getParentOfType(this.getContainingDeclaration(), javaClass())!! \ No newline at end of file +private fun JetScope.getModule(): ModuleDescriptor = DescriptorUtils.getContainingModule(this.getContainingDeclaration()) diff --git a/core/descriptors/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java b/core/descriptors/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java index 52172210b1c..830dd711e78 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/resolve/DescriptorUtils.java @@ -148,10 +148,7 @@ public class DescriptorUtils { } public static boolean areInSameModule(@NotNull DeclarationDescriptor first, @NotNull DeclarationDescriptor second) { - ModuleDescriptor parentModule = getParentOfType(first, ModuleDescriptor.class, false); - ModuleDescriptor fromModule = getParentOfType(second, ModuleDescriptor.class, false); - assert parentModule != null && fromModule != null; - return parentModule.equals(fromModule); + return getContainingModule(first).equals(getContainingModule(second)); } @Nullable @@ -194,6 +191,13 @@ public class DescriptorUtils { return null; } + @NotNull + public static ModuleDescriptor getContainingModule(@NotNull DeclarationDescriptor descriptor) { + ModuleDescriptor module = getParentOfType(descriptor, ModuleDescriptor.class, false); + assert module != null : "Descriptor without a containing module: " + descriptor; + return module; + } + public static boolean isAncestor( @Nullable DeclarationDescriptor ancestor, @NotNull DeclarationDescriptor declarationDescriptor,