[FIR IDE] Return KtUnsupportedConstantValue for non-const initializers in AAPI/FE10
This commit fixes the following tests: - KtFe10SymbolByPsiTestGenerated.testClassInitializer(); - KtFe10SymbolByPsiTestGenerated.testClassMembes().
This commit is contained in:
+13
-1
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtPropertySetterSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtTypeAndAnnotations
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtUnsupportedConstantValue
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.types.KtType
|
||||
@@ -97,7 +98,18 @@ internal class KtFe10PsiKotlinPropertySymbol(
|
||||
get() = withValidityAssertion { false }
|
||||
|
||||
override val initializer: KtConstantValue?
|
||||
get() = withValidityAssertion { descriptor?.compileTimeInitializer?.toKtConstantValue() }
|
||||
get() = withValidityAssertion {
|
||||
if (psi.initializer == null) {
|
||||
return null
|
||||
}
|
||||
|
||||
val compileTimeInitializer = descriptor?.compileTimeInitializer
|
||||
if (compileTimeInitializer != null) {
|
||||
return compileTimeInitializer.toKtConstantValue()
|
||||
}
|
||||
|
||||
return KtUnsupportedConstantValue
|
||||
}
|
||||
|
||||
override val isVal: Boolean
|
||||
get() = withValidityAssertion { !psi.isVar }
|
||||
|
||||
Reference in New Issue
Block a user