K2: implement FirClassAnySynthesizedMemberScope #KT-54844 Fixed

This commit is contained in:
Mikhail Glukhikh
2022-11-09 17:55:19 +01:00
committed by Space Team
parent c898b264ba
commit 2a825f8df1
10 changed files with 230 additions and 24 deletions
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.mpp.CallableSymbolMarker
import org.jetbrains.kotlin.name.CallableId
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.util.OperatorNameConventions
abstract class FirCallableSymbol<D : FirCallableDeclaration> : FirBasedSymbol<D>(), CallableSymbolMarker {
abstract val callableId: CallableId
@@ -95,3 +96,12 @@ val FirCallableSymbol<*>.isExtension: Boolean
is FirProperty -> fir.receiverParameter != null
is FirVariable -> false
}
fun FirSimpleFunction.isEquals(): Boolean {
if (name != OperatorNameConventions.EQUALS) return false
if (valueParameters.size != 1) return false
if (contextReceivers.isNotEmpty()) return false
if (receiverParameter != null) return false
val parameter = valueParameters.first()
return parameter.returnTypeRef.isNullableAny
}