Add FirScope::getCallableNames function
This commit is contained in:
committed by
Ilya Kirillov
parent
1f3add49f4
commit
656086f90a
+22
@@ -55,6 +55,28 @@ class FirSignatureEnhancement(
|
||||
FirJavaEnhancementContext(session) { null }.copyWithNewDefaultTypeQualifiers(typeQualifierResolver, jsr305State, owner.annotations)
|
||||
|
||||
private val enhancements = mutableMapOf<FirCallableSymbol<*>, FirCallableSymbol<*>>()
|
||||
private val overriddenFunctions = mutableMapOf<FirFunctionSymbol<*>, Collection<FirFunctionSymbol<*>>>()
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
useSiteMemberScope.processPropertiesByName(name) process@{ original ->
|
||||
|
||||
val field = enhancements.getOrPut(original) { enhance(original, name) }
|
||||
processor(field as FirVariableSymbol<*>)
|
||||
}
|
||||
|
||||
return super.processPropertiesByName(name, processor)
|
||||
}
|
||||
|
||||
override fun getCallableNames(): Set<Name> {
|
||||
return useSiteMemberScope.getCallableNames() + super.getCallableNames()
|
||||
}
|
||||
|
||||
override fun processFunctionsByName(name: Name, processor: (FirFunctionSymbol<*>) -> Unit) {
|
||||
useSiteMemberScope.processFunctionsByName(name) process@{ original ->
|
||||
|
||||
val function = enhancements.getOrPut(original) { enhance(original, name) }
|
||||
processor(function as FirFunctionSymbol<*>)
|
||||
}
|
||||
|
||||
fun enhancedFunction(
|
||||
function: FirFunctionSymbol<*>,
|
||||
|
||||
+4
@@ -45,6 +45,10 @@ class JavaClassUseSiteMemberScope(
|
||||
}
|
||||
}
|
||||
|
||||
override fun getCallableNames(): Set<Name> {
|
||||
return declaredMemberScope.getCallableNames() + superTypesScope.getCallableNames()
|
||||
}
|
||||
|
||||
private fun generateAccessorSymbol(
|
||||
functionSymbol: FirFunctionSymbol<*>,
|
||||
syntheticPropertyName: Name,
|
||||
|
||||
Reference in New Issue
Block a user