From 9e9c670ada420145b828a1a6105734f0bf60e689 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 3 Jun 2016 12:49:51 +0300 Subject: [PATCH] Minor: clean up and reformat --- .../KtLightClassForExplicitDeclaration.kt | 21 +++++++++---------- .../KotlinDirectInheritorsSearcher.kt | 8 +++---- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightClassForExplicitDeclaration.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightClassForExplicitDeclaration.kt index 50fb992c733..07c27c6a8f1 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightClassForExplicitDeclaration.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightClassForExplicitDeclaration.kt @@ -178,8 +178,7 @@ open class KtLightClassForExplicitDeclaration( } private val _containingFile: PsiFile by lazy(LazyThreadSafetyMode.PUBLICATION) { - val virtualFile = classOrObject.containingFile.virtualFile - assert(virtualFile != null) { "No virtual file for " + classOrObject.text } + classOrObject.containingFile.virtualFile ?: error("No virtual file for " + classOrObject.text) object : FakeFileForLightClass( classOrObject.getContainingKtFile(), @@ -211,18 +210,18 @@ open class KtLightClassForExplicitDeclaration( override fun getNavigationElement(): PsiElement = classOrObject override fun isEquivalentTo(another: PsiElement?): Boolean { - return another is PsiClass && Comparing.equal(another.getQualifiedName(), qualifiedName) + return another is PsiClass && Comparing.equal(another.qualifiedName, qualifiedName) } override fun getElementIcon(flags: Int): Icon? { - throw UnsupportedOperationException("This should be done byt JetIconProvider") + throw UnsupportedOperationException("This should be done by JetIconProvider") } - override fun equals(o: Any?): Boolean { - if (this === o) return true - if (o == null || javaClass != o.javaClass) return false + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (other == null || javaClass != other.javaClass) return false - val aClass = o as KtLightClassForExplicitDeclaration + val aClass = other as KtLightClassForExplicitDeclaration if (classFqName != aClass.classFqName) return false @@ -260,7 +259,7 @@ open class KtLightClassForExplicitDeclaration( private val _modifierList : PsiModifierList by lazy(LazyThreadSafetyMode.PUBLICATION) { object : KtLightModifierListWithExplicitModifiers(this@KtLightClassForExplicitDeclaration, computeModifiers()) { override val delegate: PsiAnnotationOwner - get() = this@KtLightClassForExplicitDeclaration.getDelegate().modifierList!! + get() = this@KtLightClassForExplicitDeclaration.delegate.modifierList!! } } @@ -307,7 +306,7 @@ open class KtLightClassForExplicitDeclaration( private fun isSealed(): Boolean = classOrObject.hasModifier(SEALED_KEYWORD) - override fun hasModifierProperty(@NonNls name: String): Boolean = getModifierList().hasModifierProperty(name) + override fun hasModifierProperty(@NonNls name: String): Boolean = modifierList.hasModifierProperty(name) override fun isDeprecated(): Boolean { val jetModifierList = classOrObject.modifierList ?: return false @@ -435,7 +434,7 @@ open class KtLightClassForExplicitDeclaration( if (value == null) { value = CachedValuesManager.getManager(classOrObject.project).createCachedValue( LightClassDataProviderForClassOrObject(outermostClassOrObject), false) - value = outermostClassOrObject.putUserDataIfAbsent(JAVA_API_STUB, value)!! + value = outermostClassOrObject.putUserDataIfAbsent(JAVA_API_STUB, value) } return value } diff --git a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDirectInheritorsSearcher.kt b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDirectInheritorsSearcher.kt index 01df1f785ab..c952ad38c5d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDirectInheritorsSearcher.kt +++ b/idea/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinDirectInheritorsSearcher.kt @@ -16,16 +16,15 @@ package org.jetbrains.kotlin.idea.search.ideaExtensions -import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.QueryExecutorBase import com.intellij.psi.PsiClass import com.intellij.psi.search.GlobalSearchScope import com.intellij.psi.search.searches.DirectClassInheritorsSearch import com.intellij.util.Processor import org.jetbrains.kotlin.idea.decompiler.navigation.SourceNavigationHelper -import org.jetbrains.kotlin.idea.stubindex.KotlinSuperClassIndex import org.jetbrains.kotlin.idea.search.fileScope import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope +import org.jetbrains.kotlin.idea.stubindex.KotlinSuperClassIndex import org.jetbrains.kotlin.idea.util.application.runReadAction open class KotlinDirectInheritorsSearcher() : QueryExecutorBase(true) { @@ -46,8 +45,9 @@ open class KotlinDirectInheritorsSearcher() : QueryExecutorBase SourceNavigationHelper.getOriginalPsiClassOrCreateLightClass(candidate)} + KotlinSuperClassIndex.getInstance() + .get(name, baseClass.project, noLibrarySourceScope).asSequence() + .mapNotNull { candidate -> SourceNavigationHelper.getOriginalPsiClassOrCreateLightClass(candidate) } .filter { candidate -> candidate.isInheritor(baseClass, false) } .forEach { candidate -> consumer.process(candidate) } }