[FIR IDE] Handle callable references better in KtFirImportOptimizer
This commit is contained in:
+8
-6
@@ -113,9 +113,9 @@ internal class KtFirImportOptimizer(
|
|||||||
super.visitTypeRef(resolvedTypeRef)
|
super.visitTypeRef(resolvedTypeRef)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitResolvedCallableReference(resolvedCallableReference: FirResolvedCallableReference) {
|
override fun visitCallableReferenceAccess(callableReferenceAccess: FirCallableReferenceAccess) {
|
||||||
processResolvedCallableReference(resolvedCallableReference)
|
processCallableReferenceAccess(callableReferenceAccess)
|
||||||
super.visitResolvedCallableReference(resolvedCallableReference)
|
super.visitCallableReferenceAccess(callableReferenceAccess)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitResolvedQualifier(resolvedQualifier: FirResolvedQualifier) {
|
override fun visitResolvedQualifier(resolvedQualifier: FirResolvedQualifier) {
|
||||||
@@ -153,10 +153,12 @@ internal class KtFirImportOptimizer(
|
|||||||
processTypeQualifier(wholeQualifier)
|
processTypeQualifier(wholeQualifier)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun processResolvedCallableReference(resolvedCallableReference: FirResolvedCallableReference) {
|
private fun processCallableReferenceAccess(callableReferenceAccess: FirCallableReferenceAccess) {
|
||||||
val referencedCallableSymbol = resolvedCallableReference.resolvedSymbol as? FirCallableSymbol<*> ?: return
|
if (callableReferenceAccess.isFullyQualified) return
|
||||||
|
|
||||||
saveCallable(referencedCallableSymbol, resolvedCallableReference.name)
|
val resolvedSymbol = callableReferenceAccess.calleeReference.toResolvedCallableSymbol() ?: return
|
||||||
|
|
||||||
|
saveCallable(resolvedSymbol, resolvedSymbol.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun processResolvedQualifier(resolvedQualifier: FirResolvedQualifier) {
|
private fun processResolvedQualifier(resolvedQualifier: FirResolvedQualifier) {
|
||||||
|
|||||||
Reference in New Issue
Block a user