[Analysis API] improve getClassOrObjectSymbolByClassId/getTopLevelCallableSymbols
add kdocs, use better names
This commit is contained in:
+1
-1
@@ -28,7 +28,7 @@ internal class KtFirInheritorsProvider(
|
||||
val inheritorClassIds = classSymbol.firSymbol.fir.getSealedClassInheritors(analysisSession.useSiteSession)
|
||||
|
||||
return with(analysisSession) {
|
||||
inheritorClassIds.mapNotNull { it.getCorrespondingToplevelClassOrObjectSymbol() as? KtNamedClassOrObjectSymbol }
|
||||
inheritorClassIds.mapNotNull { getClassOrObjectSymbolByClassId(it) as? KtNamedClassOrObjectSymbol }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -39,7 +39,7 @@ internal class KtFirSymbolContainingDeclarationProvider(
|
||||
val classId = symbol.callableIdIfNonLocal?.classId
|
||||
if (classId != null) {
|
||||
with(analysisSession) {
|
||||
return classId.getCorrespondingToplevelClassOrObjectSymbol()
|
||||
return getClassOrObjectSymbolByClassId(classId)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -160,7 +160,7 @@ internal class KtFirSymbolContainingDeclarationProvider(
|
||||
}
|
||||
else -> error("We should not have a ${symbol::class} from a library")
|
||||
} ?: error("outerClassId should not be null for member declaration")
|
||||
val containingClass = containingClassId.getCorrespondingToplevelClassOrObjectSymbol()
|
||||
val containingClass = getClassOrObjectSymbolByClassId(containingClassId)
|
||||
return containingClass ?: error("Class by class id should exists")
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -107,18 +107,18 @@ internal object KDocReferenceResolver {
|
||||
|
||||
context(KtAnalysisSession)
|
||||
private fun MutableCollection<KtSymbol>.collectSymbolsByClassId(classId: ClassId) {
|
||||
classId.getCorrespondingToplevelClassOrObjectSymbol()?.let(::add)
|
||||
getClassOrObjectSymbolByClassId(classId)?.let(::add)
|
||||
}
|
||||
|
||||
context(KtAnalysisSession)
|
||||
private fun MutableCollection<KtSymbol>.collectSymbolsByFqNameInterpretationAsCallableId(callableId: CallableId) {
|
||||
when (val classId = callableId.classId) {
|
||||
null -> {
|
||||
addAll(callableId.packageName.getContainingCallableSymbolsWithName(callableId.callableName))
|
||||
addAll(getTopLevelCallableSymbols(callableId.packageName, callableId.callableName))
|
||||
}
|
||||
|
||||
else -> {
|
||||
classId.getCorrespondingToplevelClassOrObjectSymbol()
|
||||
getClassOrObjectSymbolByClassId(classId)
|
||||
?.getDeclaredMemberScope()
|
||||
?.getCallableSymbols { it == callableId.callableName }
|
||||
?.let(::addAll)
|
||||
|
||||
+4
-2
@@ -161,9 +161,11 @@ internal class KtFirSymbolProvider(
|
||||
return firSymbolBuilder.classifierBuilder.buildNamedClassOrObjectSymbol(symbol)
|
||||
}
|
||||
|
||||
override fun getTopLevelCallableSymbols(packageFqName: FqName, name: Name): Sequence<KtSymbol> {
|
||||
override fun getTopLevelCallableSymbols(packageFqName: FqName, name: Name): Sequence<KtCallableSymbol> {
|
||||
val firs = firSymbolProvider.getTopLevelCallableSymbols(packageFqName, name)
|
||||
return firs.asSequence().map { firSymbol -> firSymbolBuilder.buildSymbol(firSymbol) }
|
||||
return firs.asSequence().map { firSymbol ->
|
||||
firSymbolBuilder.buildSymbol(firSymbol) as KtCallableSymbol
|
||||
}
|
||||
}
|
||||
|
||||
override fun getPackageSymbolIfPackageExists(packageFqName: FqName): KtPackageSymbol? {
|
||||
|
||||
Reference in New Issue
Block a user