[FIR] Add some helper functions for dynamics
This commit is contained in:
@@ -6,6 +6,8 @@
|
||||
package org.jetbrains.kotlin.fir.expressions
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.buildConstExpression
|
||||
@@ -45,6 +47,15 @@ inline val FirCall.arguments: List<FirExpression> get() = argumentList.arguments
|
||||
|
||||
inline val FirCall.argument: FirExpression get() = argumentList.arguments.first()
|
||||
|
||||
inline val FirCall.dynamicVararg: FirVarargArgumentsExpression?
|
||||
get() = arguments.firstOrNull() as? FirVarargArgumentsExpression
|
||||
|
||||
inline val FirCall.dynamicVarargArguments: List<FirExpression>?
|
||||
get() = dynamicVararg?.arguments
|
||||
|
||||
inline val FirFunctionCall.isCalleeDynamic: Boolean
|
||||
get() = (calleeReference.resolvedSymbol?.fir as? FirFunction)?.origin == FirDeclarationOrigin.DynamicScope
|
||||
|
||||
inline val FirCall.resolvedArgumentMapping: Map<FirExpression, FirValueParameter>?
|
||||
get() = when (val argumentList = argumentList) {
|
||||
is FirResolvedArgumentList -> argumentList.mapping
|
||||
|
||||
Reference in New Issue
Block a user