KotlinLightConstantExpressionEvaluator fix for processing Java-sourced annotation entry value

This commit is contained in:
Nicolay Mitropolsky
2017-08-28 11:21:15 +03:00
committed by xiexed
parent ceae10f451
commit f8f5494d79
2 changed files with 5 additions and 5 deletions
@@ -66,7 +66,7 @@ class KotlinLightConstantExpressionEvaluator : ConstantExpressionEvaluator {
is PsiExpression -> {
JavaPsiFacade.getInstance(expressionToCompute.project)
.constantEvaluationHelper
.computeExpression(expression, throwExceptionOnOverflow, auxEvaluator)
.computeExpression(expressionToCompute, throwExceptionOnOverflow, auxEvaluator)
}
else -> null
@@ -16,10 +16,7 @@
package org.jetbrains.kotlin.asJava
import com.intellij.psi.PsiAnnotation
import com.intellij.psi.PsiArrayInitializerMemberValue
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiModifierListOwner
import com.intellij.psi.*
import com.intellij.testFramework.LightProjectDescriptor
import junit.framework.TestCase
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
@@ -53,6 +50,9 @@ class KtLightAnnotationTest : KotlinLightCodeInsightFixtureTestCase() {
.expectAnnotations(2).single { it.qualifiedName == "Autowired" }
val annotationAttributeVal = annotations.findAttributeValue("required") as PsiElement
assertTextAndRange("true", annotationAttributeVal)
val computed = JavaPsiFacade.getInstance(project).constantEvaluationHelper.computeConstantExpression(annotationAttributeVal)
TestCase.assertEquals(true, computed)
}
fun testAnnotationsInAnnotationsDeclarations() {