[SLC] Keep default constructor parameters' values
This commit is contained in:
committed by
Space Team
parent
bccd7bc04a
commit
79dbacb621
+7
-2
@@ -30,6 +30,7 @@ import org.jetbrains.kotlin.light.classes.symbol.modifierLists.with
|
||||
import org.jetbrains.kotlin.name.JvmNames.TRANSIENT_ANNOTATION_CLASS_ID
|
||||
import org.jetbrains.kotlin.name.JvmNames.VOLATILE_ANNOTATION_CLASS_ID
|
||||
import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
||||
import org.jetbrains.kotlin.psi.KtParameter
|
||||
import org.jetbrains.kotlin.psi.KtProperty
|
||||
|
||||
internal class SymbolLightFieldForProperty private constructor(
|
||||
@@ -186,8 +187,12 @@ internal class SymbolLightFieldForProperty private constructor(
|
||||
private val _initializer by lazyPub {
|
||||
_initializerValue?.createPsiExpression(this) ?: withPropertySymbol { propertySymbol ->
|
||||
if (propertySymbol !is KtKotlinPropertySymbol) return@withPropertySymbol null
|
||||
(kotlinOrigin as? KtProperty)?.initializer?.evaluateAsAnnotationValue()
|
||||
?.let(::toPsiExpression)
|
||||
val initializerExpression = when (kotlinOrigin) {
|
||||
is KtProperty -> kotlinOrigin.initializer
|
||||
is KtParameter -> kotlinOrigin.defaultValue
|
||||
else -> null
|
||||
}
|
||||
initializerExpression?.evaluateAsAnnotationValue()?.let(::toPsiExpression)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+6
@@ -96,6 +96,12 @@ public class SymbolLightClassesByPsiForLibraryTestGenerated extends AbstractSymb
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/defaultMethodInKotlinWithSettingAllCompatibility.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultParameterValue.kt")
|
||||
public void testDefaultParameterValue() throws Exception {
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/defaultParameterValue.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("DelegatedProperty.kt")
|
||||
public void testDelegatedProperty() throws Exception {
|
||||
|
||||
+6
@@ -96,6 +96,12 @@ public class SymbolLightClassesEqualityByPsiForLibraryTestGenerated extends Abst
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/defaultMethodInKotlinWithSettingAllCompatibility.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultParameterValue.kt")
|
||||
public void testDefaultParameterValue() throws Exception {
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/defaultParameterValue.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("DelegatedProperty.kt")
|
||||
public void testDelegatedProperty() throws Exception {
|
||||
|
||||
+6
@@ -96,6 +96,12 @@ public class SymbolLightClassesParentingByPsiForLibraryTestGenerated extends Abs
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/defaultMethodInKotlinWithSettingAllCompatibility.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultParameterValue.kt")
|
||||
public void testDefaultParameterValue() throws Exception {
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/defaultParameterValue.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("DelegatedProperty.kt")
|
||||
public void testDelegatedProperty() throws Exception {
|
||||
|
||||
+6
@@ -96,6 +96,12 @@ public class SymbolLightClassesByPsiForSourceTestGenerated extends AbstractSymbo
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/defaultMethodInKotlinWithSettingAllCompatibility.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultParameterValue.kt")
|
||||
public void testDefaultParameterValue() throws Exception {
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/defaultParameterValue.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("DelegatedProperty.kt")
|
||||
public void testDelegatedProperty() throws Exception {
|
||||
|
||||
+6
@@ -96,6 +96,12 @@ public class SymbolLightClassesEqualityByPsiForSourceTestGenerated extends Abstr
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/defaultMethodInKotlinWithSettingAllCompatibility.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultParameterValue.kt")
|
||||
public void testDefaultParameterValue() throws Exception {
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/defaultParameterValue.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("DelegatedProperty.kt")
|
||||
public void testDelegatedProperty() throws Exception {
|
||||
|
||||
+6
@@ -96,6 +96,12 @@ public class SymbolLightClassesParentingByPsiForSourceTestGenerated extends Abst
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/defaultMethodInKotlinWithSettingAllCompatibility.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("defaultParameterValue.kt")
|
||||
public void testDefaultParameterValue() throws Exception {
|
||||
runTest("compiler/testData/asJava/lightClasses/lightClassByPsi/defaultParameterValue.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("DelegatedProperty.kt")
|
||||
public void testDelegatedProperty() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user