Use FirNamedFunctionSymbol in FirSimpleFunction & its inheritors
This commit is contained in:
committed by
TeamCityServer
parent
15021f30ff
commit
91834ccf46
@@ -200,7 +200,6 @@ fun FirSimpleFunction.overriddenFunctions(
|
||||
containingClass: FirClass<*>,
|
||||
context: CheckerContext
|
||||
): List<FirFunctionSymbol<*>> {
|
||||
val symbol = symbol as? FirNamedFunctionSymbol ?: return emptyList()
|
||||
val firTypeScope = containingClass.unsubstitutedScope(
|
||||
context.sessionHolder.session,
|
||||
context.sessionHolder.scopeSession,
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ object FirTypeMismatchOnOverrideChecker : FirRegularClassChecker() {
|
||||
private fun FirTypeScope.retrieveDirectOverriddenOf(function: FirSimpleFunction): List<FirFunctionSymbol<*>> {
|
||||
processFunctionsByName(function.name) {}
|
||||
|
||||
return getDirectOverriddenFunctions(function.symbol as FirNamedFunctionSymbol)
|
||||
return getDirectOverriddenFunctions(function.symbol)
|
||||
}
|
||||
|
||||
private fun FirTypeScope.retrieveDirectOverriddenOf(property: FirProperty): List<FirPropertySymbol> {
|
||||
|
||||
+1
-1
@@ -233,7 +233,7 @@ class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider: Kot
|
||||
val functionClass = getClassLikeSymbolByFqName(classId(arity)) ?: return null
|
||||
val invoke =
|
||||
functionClass.fir.declarations.find { it is FirSimpleFunction && it.name == OperatorNameConventions.INVOKE } ?: return null
|
||||
return (invoke as FirSimpleFunction).symbol as? FirNamedFunctionSymbol
|
||||
return (invoke as FirSimpleFunction).symbol
|
||||
}
|
||||
|
||||
private fun FunctionClassKind.classId(arity: Int) = ClassId(packageFqName, numberedClassName(arity))
|
||||
|
||||
@@ -250,7 +250,6 @@ internal fun FirSimpleFunction.generateOverriddenFunctionSymbols(
|
||||
val scope = containingClass.unsubstitutedScope(session, scopeSession, withForcedTypeCalculator = true)
|
||||
scope.processFunctionsByName(name) {}
|
||||
val overriddenSet = mutableSetOf<IrSimpleFunctionSymbol>()
|
||||
val symbol = symbol as? FirNamedFunctionSymbol ?: return emptyList()
|
||||
scope.processDirectlyOverriddenFunctions(symbol) {
|
||||
if (it.fir.visibility == Visibilities.Private) {
|
||||
return@processDirectlyOverriddenFunctions ProcessorAction.NEXT
|
||||
|
||||
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.declarations.builder.FirSimpleFunctionBuilder
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.jvm.FirJavaTypeRef
|
||||
@@ -52,7 +52,7 @@ class FirJavaMethod @FirImplementationDetail constructor(
|
||||
name: Name,
|
||||
status: FirDeclarationStatus,
|
||||
containerSource: DeserializedContainerSource?,
|
||||
symbol: FirFunctionSymbol<FirSimpleFunction>,
|
||||
symbol: FirNamedFunctionSymbol,
|
||||
annotations: MutableList<FirAnnotationCall>,
|
||||
dispatchReceiverType: ConeKotlinType?,
|
||||
) : FirSimpleFunctionImpl(
|
||||
|
||||
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.fir.resolve.inference.inferenceComponents
|
||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.fir.scopes.processOverriddenFunctions
|
||||
import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeInferenceContext
|
||||
import org.jetbrains.kotlin.fir.types.ConeTypeCheckerContext
|
||||
|
||||
@@ -30,7 +29,6 @@ fun FirSimpleFunction.lowestVisibilityAmongOverrides(
|
||||
session: FirSession,
|
||||
scopeSession: ScopeSession
|
||||
): Visibility {
|
||||
val symbol = symbol as? FirNamedFunctionSymbol ?: return visibility
|
||||
val firTypeScope = containingClass.unsubstitutedScope(session, scopeSession, withForcedTypeCalculator = false)
|
||||
var visibility = visibility
|
||||
|
||||
|
||||
+1
-1
@@ -117,7 +117,7 @@ private fun FirTypeAliasSymbol.findSAMConstructorForTypeAlias(
|
||||
|
||||
if (type.typeArguments.isEmpty()) return samConstructorForClass
|
||||
|
||||
val namedSymbol = samConstructorForClass.symbol as? FirNamedFunctionSymbol ?: return null
|
||||
val namedSymbol = samConstructorForClass.symbol
|
||||
|
||||
val substitutor = prepareSubstitutorForTypeAliasConstructors(
|
||||
type,
|
||||
|
||||
+4
-6
@@ -75,12 +75,10 @@ class FirStatusResolver(
|
||||
buildList<FirCallableMemberDeclaration<*>> {
|
||||
val scope = containingClass.unsubstitutedScope(session, scopeSession, withForcedTypeCalculator = false)
|
||||
val symbol = function.symbol
|
||||
if (symbol is FirNamedFunctionSymbol) {
|
||||
scope.processFunctionsByName(function.name) {}
|
||||
scope.processDirectOverriddenFunctionsWithBaseScope(symbol) { overriddenSymbol, _ ->
|
||||
this += overriddenSymbol.fir
|
||||
ProcessorAction.NEXT
|
||||
}
|
||||
scope.processFunctionsByName(function.name) {}
|
||||
scope.processDirectOverriddenFunctionsWithBaseScope(symbol) { overriddenSymbol, _ ->
|
||||
this += overriddenSymbol.fir
|
||||
ProcessorAction.NEXT
|
||||
}
|
||||
}.mapNotNull {
|
||||
it.status as? FirResolvedDeclarationStatus
|
||||
|
||||
+1
-1
@@ -64,7 +64,7 @@ class FirDelegatedMemberScope(
|
||||
newModality = Modality.OPEN,
|
||||
).apply {
|
||||
delegatedWrapperData = DelegatedWrapperData(functionSymbol.fir, containingClass.symbol.toLookupTag(), delegateField)
|
||||
}.symbol as FirNamedFunctionSymbol
|
||||
}.symbol
|
||||
}
|
||||
processor(delegatedSymbol)
|
||||
}
|
||||
|
||||
+2
-2
@@ -54,7 +54,7 @@ object FirFakeOverrideGenerator {
|
||||
}
|
||||
|
||||
private fun createSubstitutionOverrideFunction(
|
||||
fakeOverrideSymbol: FirFunctionSymbol<FirSimpleFunction>,
|
||||
fakeOverrideSymbol: FirNamedFunctionSymbol,
|
||||
session: FirSession,
|
||||
baseFunction: FirSimpleFunction,
|
||||
newDispatchReceiverType: ConeKotlinType?,
|
||||
@@ -85,7 +85,7 @@ object FirFakeOverrideGenerator {
|
||||
}
|
||||
|
||||
fun createCopyForFirFunction(
|
||||
newSymbol: FirFunctionSymbol<FirSimpleFunction>,
|
||||
newSymbol: FirNamedFunctionSymbol,
|
||||
baseFunction: FirSimpleFunction,
|
||||
session: FirSession,
|
||||
origin: FirDeclarationOrigin,
|
||||
|
||||
@@ -34,7 +34,7 @@ class FirLocalScope private constructor(
|
||||
|
||||
fun storeFunction(function: FirSimpleFunction): FirLocalScope {
|
||||
return FirLocalScope(
|
||||
properties, functions.put(function.name, function.symbol as FirNamedFunctionSymbol), classes
|
||||
properties, functions.put(function.name, function.symbol), classes
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -40,7 +40,7 @@ abstract class FirSimpleFunction : FirPureAbstractElement(), FirFunction<FirSimp
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val contractDescription: FirContractDescription
|
||||
abstract val name: Name
|
||||
abstract override val symbol: FirFunctionSymbol<FirSimpleFunction>
|
||||
abstract override val symbol: FirNamedFunctionSymbol
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val typeParameters: List<FirTypeParameter>
|
||||
|
||||
|
||||
+2
-2
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
@@ -54,7 +54,7 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
|
||||
open var dispatchReceiverType: ConeKotlinType? = null
|
||||
open var contractDescription: FirContractDescription = FirEmptyContractDescription
|
||||
open lateinit var name: Name
|
||||
open lateinit var symbol: FirFunctionSymbol<FirSimpleFunction>
|
||||
open lateinit var symbol: FirNamedFunctionSymbol
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
||||
|
||||
|
||||
+2
-2
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -46,7 +46,7 @@ open class FirSimpleFunctionImpl @FirImplementationDetail constructor(
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override var contractDescription: FirContractDescription,
|
||||
override val name: Name,
|
||||
override val symbol: FirFunctionSymbol<FirSimpleFunction>,
|
||||
override val symbol: FirNamedFunctionSymbol,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val typeParameters: MutableList<FirTypeParameter>,
|
||||
) : FirSimpleFunction() {
|
||||
|
||||
+1
-1
@@ -299,7 +299,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
parentArg(function, "F", simpleFunction)
|
||||
parentArg(callableMemberDeclaration, "F", simpleFunction)
|
||||
+name
|
||||
+symbol("FirFunctionSymbol<FirSimpleFunction>")
|
||||
+symbol("FirNamedFunctionSymbol")
|
||||
+annotations
|
||||
+typeParameters
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user