[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.KtConstantValue
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
|
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.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.KtPsiBasedSymbolPointer
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
||||||
import org.jetbrains.kotlin.analysis.api.types.KtType
|
import org.jetbrains.kotlin.analysis.api.types.KtType
|
||||||
@@ -97,7 +98,18 @@ internal class KtFe10PsiKotlinPropertySymbol(
|
|||||||
get() = withValidityAssertion { false }
|
get() = withValidityAssertion { false }
|
||||||
|
|
||||||
override val initializer: KtConstantValue?
|
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
|
override val isVal: Boolean
|
||||||
get() = withValidityAssertion { !psi.isVar }
|
get() = withValidityAssertion { !psi.isVar }
|
||||||
|
|||||||
Reference in New Issue
Block a user