[Analysis API] improve getClassOrObjectSymbolByClassId/getTopLevelCallableSymbols

add kdocs, use better names
This commit is contained in:
Ilya Kirillov
2022-09-13 18:12:02 +02:00
parent 1b17dbff09
commit 1bdde25dc7
8 changed files with 26 additions and 18 deletions
@@ -55,7 +55,7 @@ public abstract class KtSymbolProvider : KtAnalysisSessionComponent() {
public abstract fun getClassOrObjectSymbolByClassId(classId: ClassId): KtClassOrObjectSymbol?
public abstract fun getTopLevelCallableSymbols(packageFqName: FqName, name: Name): Sequence<KtSymbol>
public abstract fun getTopLevelCallableSymbols(packageFqName: FqName, name: Name): Sequence<KtCallableSymbol>
@Suppress("PropertyName")
public abstract val ROOT_PACKAGE_SYMBOL: KtPackageSymbol
@@ -138,11 +138,17 @@ public interface KtSymbolProviderMixIn : KtAnalysisSessionMixIn {
/**
* @return symbol with specified [this@getClassOrObjectSymbolByClassId] or `null` in case such symbol is not found
*/
public fun ClassId.getCorrespondingToplevelClassOrObjectSymbol(): KtClassOrObjectSymbol? =
withValidityAssertion { analysisSession.symbolProvider.getClassOrObjectSymbolByClassId(this) }
public fun getClassOrObjectSymbolByClassId(classId: ClassId): KtClassOrObjectSymbol? =
withValidityAssertion { analysisSession.symbolProvider.getClassOrObjectSymbolByClassId(classId) }
public fun FqName.getContainingCallableSymbolsWithName(name: Name): Sequence<KtSymbol> =
withValidityAssertion { analysisSession.symbolProvider.getTopLevelCallableSymbols(this, name) }
/**
* @return list of top-level functions and properties which are visible from current use-site module
*
* @param packageFqName package name in which callable symbols should be declared
* @param name callable symbol name
*/
public fun getTopLevelCallableSymbols(packageFqName: FqName, name: Name): Sequence<KtCallableSymbol> =
withValidityAssertion { analysisSession.symbolProvider.getTopLevelCallableSymbols(packageFqName, name) }
/**
* @return symbol corresponding to the local variable introduced by individual destructuring declaration entries.