[Analysis API] fe10: count value classes in isInline

#KT-63771 fixed


Merge-request: KT-MR-13220
Merged-by: Alexander Kuznetsov <Aleksander.Kuznetsov@jetbrains.com>
This commit is contained in:
Alexander Kuznetsov
2023-12-01 17:33:30 +00:00
committed by Space Team
parent 57bc120daf
commit e048d49bf0
11 changed files with 76 additions and 2 deletions
@@ -42,7 +42,7 @@ internal class KtFe10DescNamedClassOrObjectSymbol(
get() = withValidityAssertion { descriptor.isData }
override val isInline: Boolean
get() = withValidityAssertion { descriptor.isInline }
get() = withValidityAssertion { descriptor.isInline || descriptor.isValue }
override val isFun: Boolean
get() = withValidityAssertion { descriptor.isFun }
@@ -56,7 +56,7 @@ internal class KtFe10PsiNamedClassOrObjectSymbol(
get() = withValidityAssertion { psi.hasModifier(KtTokens.DATA_KEYWORD) }
override val isInline: Boolean
get() = withValidityAssertion { psi.hasModifier(KtTokens.INLINE_KEYWORD) }
get() = withValidityAssertion { psi.hasModifier(KtTokens.INLINE_KEYWORD) || psi.hasModifier(KtTokens.VALUE_KEYWORD) }
override val isFun: Boolean
get() = withValidityAssertion { psi.hasModifier(KtTokens.FUN_KEYWORD) }
@@ -202,6 +202,12 @@ public class Fe10IdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated extends
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsWithTypeAlias.kt");
}
@Test
@TestMetadata("valueClass.kt")
public void testValueClass() throws Exception {
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/valueClass.kt");
}
@Nested
@TestMetadata("analysis/analysis-api/testData/symbols/singleSymbolByPsi/contracts")
@TestDataPath("$PROJECT_ROOT")
@@ -202,6 +202,12 @@ public class Fe10IdeNormalAnalysisSourceModuleSingleSymbolByPsiTestGenerated ext
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsWithTypeAlias.kt");
}
@Test
@TestMetadata("valueClass.kt")
public void testValueClass() throws Exception {
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/valueClass.kt");
}
@Nested
@TestMetadata("analysis/analysis-api/testData/symbols/singleSymbolByPsi/contracts")
@TestDataPath("$PROJECT_ROOT")
@@ -202,6 +202,12 @@ public class FirIdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated extends
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsWithTypeAlias.kt");
}
@Test
@TestMetadata("valueClass.kt")
public void testValueClass() throws Exception {
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/valueClass.kt");
}
@Nested
@TestMetadata("analysis/analysis-api/testData/symbols/singleSymbolByPsi/contracts")
@TestDataPath("$PROJECT_ROOT")
@@ -202,6 +202,12 @@ public class FirIdeNormalAnalysisSourceModuleSingleSymbolByPsiTestGenerated exte
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsWithTypeAlias.kt");
}
@Test
@TestMetadata("valueClass.kt")
public void testValueClass() throws Exception {
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/valueClass.kt");
}
@Nested
@TestMetadata("analysis/analysis-api/testData/symbols/singleSymbolByPsi/contracts")
@TestDataPath("$PROJECT_ROOT")
@@ -202,6 +202,12 @@ public class FirStandaloneNormalAnalysisSourceModuleSingleSymbolByPsiGenerated e
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsWithTypeAlias.kt");
}
@Test
@TestMetadata("valueClass.kt")
public void testValueClass() throws Exception {
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/valueClass.kt");
}
@Nested
@TestMetadata("analysis/analysis-api/testData/symbols/singleSymbolByPsi/contracts")
@TestDataPath("$PROJECT_ROOT")
@@ -202,6 +202,12 @@ public class FirStandaloneNormalAnalysisSourceModuleSingleSymbolByPsiTestGenerat
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsWithTypeAlias.kt");
}
@Test
@TestMetadata("valueClass.kt")
public void testValueClass() throws Exception {
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/valueClass.kt");
}
@Nested
@TestMetadata("analysis/analysis-api/testData/symbols/singleSymbolByPsi/contracts")
@TestDataPath("$PROJECT_ROOT")
@@ -0,0 +1,5 @@
// DO_NOT_CHECK_NON_PSI_SYMBOL_RESTORE_K1
// WITH_STDLIB
@JvmInline
value class Value<caret>Class(val value: String)
@@ -0,0 +1,2 @@
@kotlin.jvm.JvmInline
inline class ValueClass(value: kotlin.String)
@@ -0,0 +1,31 @@
KtNamedClassOrObjectSymbol:
annotationsList: [
kotlin/jvm/JvmInline()
psi: KtAnnotationEntry
]
classIdIfNonLocal: ValueClass
classKind: CLASS
companionObject: null
contextReceivers: []
isActual: false
isData: false
isExpect: false
isExternal: false
isFun: false
isInline: true
isInner: false
modality: FINAL
name: ValueClass
origin: SOURCE
superTypes: [
KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/Any
]
symbolKind: TOP_LEVEL
typeParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
annotationApplicableTargets: null
deprecationStatus: null