[JS FIR] Fix review comments

This commit is contained in:
Alexander Korepanov
2023-07-18 13:23:30 +02:00
committed by Space Team
parent 08d158f901
commit e61a11f0a3
7 changed files with 46 additions and 60 deletions
@@ -20,8 +20,7 @@ import org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList
import org.jetbrains.kotlin.fir.expressions.impl.FirSingleExpressionBlock
import org.jetbrains.kotlin.fir.references.*
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.fir.types.builder.buildErrorTypeRef
import org.jetbrains.kotlin.fir.visitors.FirTransformer
import org.jetbrains.kotlin.fir.visitors.TransformData
@@ -177,3 +176,14 @@ val FirQualifiedAccessExpression.allReceiverExpressions: List<FirExpression>
addIfNotNull(extensionReceiver)
addAll(contextReceiverArguments)
}
inline fun FirFunctionCall.forAllReifiedTypeParameters(block: (ConeKotlinType, FirTypeProjectionWithVariance) -> Unit) {
val functionSymbol = calleeReference.toResolvedFunctionSymbol() ?: return
for ((typeParameterSymbol, typeArgument) in functionSymbol.typeParameterSymbols.zip(typeArguments)) {
if (typeParameterSymbol.isReified && typeArgument is FirTypeProjectionWithVariance) {
val type = typeArgument.typeRef.coneTypeOrNull ?: continue
block(type, typeArgument)
}
}
}