Kapt: calculate default values of Kotlin annotations correctly for annotations from binaries (KT-13733)

(cherry picked from commit fed9cb2)
This commit is contained in:
Yan Zhulanow
2016-09-05 21:29:24 +03:00
parent 30a29eaa46
commit ef375e66cd
3 changed files with 25 additions and 1 deletions
@@ -52,7 +52,7 @@ private fun PsiModifierList.getJavaModifiers(): Set<Modifier> {
internal fun PsiExpression.calcConstantValue(evaluator: PsiConstantEvaluationHelper? = null): Any? {
return when (this) {
is PsiLiteral -> value
is KtLightAnnotation.LightExpressionValue<*> -> getConstantValue()
is KtLightAnnotation.LightExpressionValue<*> -> getConstantValue() ?: delegate.calcConstantValue(evaluator)
is PsiExpression -> (evaluator ?: getConstantEvaluator(this)).computeConstantExpression(this)
else -> null
}