From 1c6776b2b44a18ad0503819ddddfc888f6caedfa Mon Sep 17 00:00:00 2001 From: Kirill Rakhman Date: Mon, 11 Sep 2023 15:30:56 +0200 Subject: [PATCH] [FIR] Introduce extension FirExpression.isResolved that requires no opt-in #KT-61367 --- .../tree/src/org/jetbrains/kotlin/fir/types/FirTypeUtils.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/FirTypeUtils.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/FirTypeUtils.kt index fd010d3f36f..c2d445a0a16 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/FirTypeUtils.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/types/FirTypeUtils.kt @@ -47,6 +47,9 @@ inline fun FirExpression.coneTypeSafe(): T? = (cone @OptIn(UnresolvedExpressionTypeAccess::class) inline fun FirExpression.coneTypeUnsafe(): T = coneTypeOrNull as T +@OptIn(UnresolvedExpressionTypeAccess::class) +val FirExpression.isResolved: Boolean get() = coneTypeOrNull != null + @RequiresOptIn( "This type check never expands type aliases. Use with care (probably Ok for expression & constructor types). " + "Generally this.coneType.fullyExpandedType(session).isSomeType is better"