[psi] don't load text for compiled code
use stubs when possible, when stub doesn't contain anything, decompiled text won't contain it either, no sense to load
This commit is contained in:
+2
-12
@@ -19,18 +19,8 @@ import org.jetbrains.kotlin.psi.KtDeclaration
|
||||
class KotlinDeclarationInCompiledFileSearcherFE10Impl : KotlinDeclarationInCompiledFileSearcher() {
|
||||
override fun findDeclarationInCompiledFile(file: KtClsFile, member: PsiMember, signature: MemberSignature): KtDeclaration? {
|
||||
val relativeClassName = member.relativeClassName()
|
||||
val key = ClassNameAndSignature(relativeClassName, signature)
|
||||
|
||||
val memberName = member.name
|
||||
if (memberName != null && !file.isContentsLoaded && file.hasDeclarationWithKey(BySignatureIndexer, key)) {
|
||||
findByStubs(file, relativeClassName, member, memberName)?.let { return it }
|
||||
}
|
||||
|
||||
val declaration = file.getDeclaration(BySignatureIndexer, key) ?: return null
|
||||
return if (member is PsiMethod && member.isConstructor && declaration is KtClassOrObject) {
|
||||
declaration.primaryConstructor ?: declaration
|
||||
} else {
|
||||
declaration
|
||||
}
|
||||
val memberName = member.name ?: return null
|
||||
return findByStubs(file, relativeClassName, member, memberName)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user