KotlinLightConstantExpressionEvaluator fix for processing Java-sourced annotation entry value
This commit is contained in:
committed by
xiexed
parent
ceae10f451
commit
f8f5494d79
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user