From 584c888e5bab016eb9d51cecac72358ac84b5c30 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Thu, 12 Jul 2018 15:39:30 +0300 Subject: [PATCH] Fix exception from UAST: don't use constant of error type #EA-121947 Fixed --- .../org/jetbrains/uast/kotlin/expressions/KotlinUExpression.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUExpression.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUExpression.kt index b1b38f20dbf..3f384301391 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUExpression.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUExpression.kt @@ -19,6 +19,7 @@ package org.jetbrains.uast.kotlin import com.intellij.psi.PsiType import org.jetbrains.kotlin.psi.KtExpression import org.jetbrains.kotlin.resolve.BindingContext +import org.jetbrains.kotlin.resolve.constants.UnsignedErrorValueTypeConstant import org.jetbrains.kotlin.types.TypeUtils import org.jetbrains.uast.UExpression @@ -35,6 +36,8 @@ interface KotlinEvaluatableUElement : UExpression { val ktElement = psi as? KtExpression ?: return null val compileTimeConst = ktElement.analyze()[BindingContext.COMPILE_TIME_VALUE, ktElement] + if (compileTimeConst is UnsignedErrorValueTypeConstant) return null + return compileTimeConst?.getValue(TypeUtils.NO_EXPECTED_TYPE) } } \ No newline at end of file