[SLC] add more 'inline' modifiers to symbol utils functions
^KT-54051
This commit is contained in:
committed by
Space Team
parent
3e73522d3b
commit
870fdf51d3
+1
-1
@@ -59,7 +59,7 @@ abstract class SymbolLightClassForClassLike<SType : KtClassOrObjectSymbol> prote
|
||||
|
||||
override val kotlinOrigin: KtClassOrObject? get() = classOrObjectDeclaration
|
||||
|
||||
protected fun <T> withClassOrObjectSymbol(action: KtAnalysisSession.(SType) -> T): T =
|
||||
internal inline fun <T> withClassOrObjectSymbol(crossinline action: KtAnalysisSession.(SType) -> T): T =
|
||||
classOrObjectSymbolPointer.withSymbol(ktModule, action)
|
||||
|
||||
override val isTopLevel: Boolean by lazyPub {
|
||||
|
||||
+4
-3
@@ -26,9 +26,10 @@ internal class SymbolLightFieldForEnumEntry(
|
||||
private val enumEntryName: String,
|
||||
containingClass: SymbolLightClassForClassOrObject,
|
||||
) : SymbolLightField(containingClass = containingClass, lightMemberOrigin = null), PsiEnumConstant {
|
||||
internal fun <T> withEnumEntrySymbol(action: KtAnalysisSession.(KtEnumEntrySymbol) -> T): T = analyzeForLightClasses(ktModule) {
|
||||
action(enumEntry.getEnumEntrySymbol())
|
||||
}
|
||||
internal inline fun <T> withEnumEntrySymbol(crossinline action: KtAnalysisSession.(KtEnumEntrySymbol) -> T): T =
|
||||
analyzeForLightClasses(ktModule) {
|
||||
action(enumEntry.getEnumEntrySymbol())
|
||||
}
|
||||
|
||||
private val _modifierList by lazyPub {
|
||||
SymbolLightMemberModifierList(
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ internal class SymbolLightFieldForObject private constructor(
|
||||
objectSymbolPointer = with(ktAnalysisSession) { objectSymbol.createPointer() },
|
||||
)
|
||||
|
||||
private fun <T> withObjectDeclarationSymbol(action: KtAnalysisSession.(KtNamedClassOrObjectSymbol) -> T): T =
|
||||
private inline fun <T> withObjectDeclarationSymbol(crossinline action: KtAnalysisSession.(KtNamedClassOrObjectSymbol) -> T): T =
|
||||
objectSymbolPointer.withSymbol(ktModule, action)
|
||||
|
||||
override fun getName(): String = name
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@ internal class SymbolLightFieldForProperty private constructor(
|
||||
kotlinOrigin = propertySymbol.sourcePsiSafe<KtCallableDeclaration>(),
|
||||
)
|
||||
|
||||
private fun <T> withPropertySymbol(action: context (KtAnalysisSession) (KtPropertySymbol) -> T): T {
|
||||
private inline fun <T> withPropertySymbol(crossinline action: context (KtAnalysisSession) (KtPropertySymbol) -> T): T {
|
||||
return propertySymbolPointer.withSymbol(ktModule, action)
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -61,7 +61,8 @@ internal abstract class SymbolLightMethod<FType : KtFunctionLikeSymbol> private
|
||||
kotlinOrigin = functionSymbol.sourcePsiSafe() ?: lightMemberOrigin?.originalElement ?: functionSymbol.psiSafe<KtDeclaration>(),
|
||||
)
|
||||
|
||||
protected fun <T> withFunctionSymbol(action: KtAnalysisSession.(FType) -> T): T = functionSymbolPointer.withSymbol(ktModule, action)
|
||||
protected inline fun <T> withFunctionSymbol(crossinline action: KtAnalysisSession.(FType) -> T): T =
|
||||
functionSymbolPointer.withSymbol(ktModule, action)
|
||||
|
||||
private val _isVarArgs: Boolean by lazyPub {
|
||||
functionDeclaration?.valueParameters?.any { it.isVarArg } ?: withFunctionSymbol { functionSymbol ->
|
||||
|
||||
Reference in New Issue
Block a user