'const val' are now considered constants by Java in IDEA

#KT-12026 Fixed
This commit is contained in:
Pavel V. Talanov
2016-05-23 15:50:57 +03:00
parent 3cb38e7f02
commit 62421bbf7b
5 changed files with 33 additions and 1 deletions
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.asJava
import com.intellij.openapi.util.TextRange
import com.intellij.psi.*
import com.intellij.psi.impl.PsiVariableEx
import com.intellij.psi.impl.light.LightElement
import com.intellij.util.IncorrectOperationException
import org.jetbrains.annotations.NonNls
@@ -27,7 +28,7 @@ import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtEnumEntry
import org.jetbrains.kotlin.psi.KtNamedDeclaration
interface KtLightField : PsiField, KtLightDeclaration<KtDeclaration, PsiField>
interface KtLightField : PsiField, KtLightDeclaration<KtDeclaration, PsiField>, PsiVariableEx
// Copied from com.intellij.psi.impl.light.LightField
sealed class KtLightFieldImpl(
@@ -94,6 +95,10 @@ sealed class KtLightFieldImpl(
override fun getNavigationElement() = kotlinOrigin ?: super.getNavigationElement()
override fun computeConstantValue(visitedVars: MutableSet<PsiVariable>?): Any? {
return (clsDelegate as PsiVariableEx).computeConstantValue(visitedVars)
}
override fun isEquivalentTo(another: PsiElement?): Boolean {
if (another is KtLightField && kotlinOrigin == another.kotlinOrigin && clsDelegate == another.clsDelegate) {
return true