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 -> {
|
is PsiExpression -> {
|
||||||
JavaPsiFacade.getInstance(expressionToCompute.project)
|
JavaPsiFacade.getInstance(expressionToCompute.project)
|
||||||
.constantEvaluationHelper
|
.constantEvaluationHelper
|
||||||
.computeExpression(expression, throwExceptionOnOverflow, auxEvaluator)
|
.computeExpression(expressionToCompute, throwExceptionOnOverflow, auxEvaluator)
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> null
|
else -> null
|
||||||
|
|||||||
@@ -16,10 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.asJava
|
package org.jetbrains.kotlin.asJava
|
||||||
|
|
||||||
import com.intellij.psi.PsiAnnotation
|
import com.intellij.psi.*
|
||||||
import com.intellij.psi.PsiArrayInitializerMemberValue
|
|
||||||
import com.intellij.psi.PsiElement
|
|
||||||
import com.intellij.psi.PsiModifierListOwner
|
|
||||||
import com.intellij.testFramework.LightProjectDescriptor
|
import com.intellij.testFramework.LightProjectDescriptor
|
||||||
import junit.framework.TestCase
|
import junit.framework.TestCase
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
|
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
|
||||||
@@ -53,6 +50,9 @@ class KtLightAnnotationTest : KotlinLightCodeInsightFixtureTestCase() {
|
|||||||
.expectAnnotations(2).single { it.qualifiedName == "Autowired" }
|
.expectAnnotations(2).single { it.qualifiedName == "Autowired" }
|
||||||
val annotationAttributeVal = annotations.findAttributeValue("required") as PsiElement
|
val annotationAttributeVal = annotations.findAttributeValue("required") as PsiElement
|
||||||
assertTextAndRange("true", annotationAttributeVal)
|
assertTextAndRange("true", annotationAttributeVal)
|
||||||
|
|
||||||
|
val computed = JavaPsiFacade.getInstance(project).constantEvaluationHelper.computeConstantExpression(annotationAttributeVal)
|
||||||
|
TestCase.assertEquals(true, computed)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun testAnnotationsInAnnotationsDeclarations() {
|
fun testAnnotationsInAnnotationsDeclarations() {
|
||||||
|
|||||||
Reference in New Issue
Block a user