From 48c417285cd23b661d96bb9bb3ef35e279e63972 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Mon, 6 Jun 2016 16:18:39 +0300 Subject: [PATCH] LazyImportScope: accept TypeAliasDescriptor --- .../org/jetbrains/kotlin/resolve/lazy/LazyImportScope.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyImportScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyImportScope.kt index f69081cf362..035eda4830d 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyImportScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/LazyImportScope.kt @@ -175,9 +175,9 @@ class LazyImportScope( INVISIBLE_CLASSES } - fun isClassVisible(descriptor: ClassDescriptor): Boolean { + private fun isClassifierVisible(descriptor: ClassifierDescriptor): Boolean { if (filteringKind == FilteringKind.ALL) return true - val visibility = descriptor.visibility + val visibility = (descriptor as DeclarationDescriptorWithVisibility).visibility val includeVisible = filteringKind == FilteringKind.VISIBLE_CLASSES if (!visibility.mustCheckInImports()) return includeVisible return Visibilities.isVisibleIgnoringReceiver(descriptor, importResolver.moduleDescriptor) == includeVisible @@ -186,7 +186,10 @@ class LazyImportScope( override fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? { return importResolver.selectSingleFromImports(name) { scope, name -> val descriptor = scope.getContributedClassifier(name, location) - if (descriptor != null && isClassVisible(descriptor as ClassDescriptor/*no type parameter can be imported*/)) descriptor else null + if ((descriptor is ClassDescriptor || descriptor is TypeAliasDescriptor) && isClassifierVisible(descriptor)) + descriptor + else + null /* type parameters can't be imported */ } }