diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java index dc5f9bf3600..8e9164ab627 100644 --- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java +++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java @@ -64,6 +64,12 @@ public class Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated ext runTest("analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt"); } + @Test + @TestMetadata("enumEntries.kt") + public void testEnumEntries() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.kt"); + } + @Test @TestMetadata("enumValueOf.kt") public void testEnumValueOf() throws Exception { diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirKotlinPropertySymbol.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirKotlinPropertySymbol.kt index f8a5e14b642..48b98f62ed7 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirKotlinPropertySymbol.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirKotlinPropertySymbol.kt @@ -145,9 +145,10 @@ internal class KtFirKotlinPropertySymbol( KtSymbolKind.CLASS_MEMBER -> KtFirMemberPropertySymbolPointer( - requireOwnerPointer(), - firSymbol.name, - FirCallableSignature.createSignature(firSymbol), + ownerPointer = requireOwnerPointer(), + name = firSymbol.name, + signature = FirCallableSignature.createSignature(firSymbol), + isStatic = firSymbol.isStatic, ) else -> throw UnsupportedSymbolKind(this::class, kind) diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/pointers/KtFirMemberPropertySymbolPointer.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/pointers/KtFirMemberPropertySymbolPointer.kt index 63d41af04d6..ca313fce839 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/pointers/KtFirMemberPropertySymbolPointer.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/pointers/KtFirMemberPropertySymbolPointer.kt @@ -17,8 +17,9 @@ import org.jetbrains.kotlin.name.Name internal class KtFirMemberPropertySymbolPointer( ownerPointer: KtSymbolPointer, private val name: Name, - private val signature: FirCallableSignature -) : KtFirMemberSymbolPointer(ownerPointer) { + private val signature: FirCallableSignature, + isStatic: Boolean, +) : KtFirMemberSymbolPointer(ownerPointer, isStatic) { override fun KtFirAnalysisSession.chooseCandidateAndCreateSymbol( candidates: FirScope, firSession: FirSession diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java index 7d3676e785e..2ac669b6854 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java @@ -64,6 +64,12 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte runTest("analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt"); } + @Test + @TestMetadata("enumEntries.kt") + public void testEnumEntries() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.kt"); + } + @Test @TestMetadata("enumValueOf.kt") public void testEnumValueOf() throws Exception { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java index 50060917293..e31d55c0ef5 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java @@ -64,6 +64,12 @@ public class FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerat runTest("analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt"); } + @Test + @TestMetadata("enumEntries.kt") + public void testEnumEntries() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.kt"); + } + @Test @TestMetadata("enumValueOf.kt") public void testEnumValueOf() throws Exception { diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.descriptors.pretty.txt new file mode 100644 index 00000000000..317614da438 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.descriptors.pretty.txt @@ -0,0 +1,2 @@ +val entries: kotlin.enums.EnumEntries + get() \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.descriptors.txt new file mode 100644 index 00000000000..2392eec204e --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.descriptors.txt @@ -0,0 +1,51 @@ +KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /MyKotlinEnum.entries + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: false + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE_MEMBER_GENERATED + receiverParameter: null + returnType: kotlin/enums/EnumEntries + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: false + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: entries + origin: SOURCE_MEMBER_GENERATED + receiverParameter: null + returnType: kotlin/enums/EnumEntries + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getEntries + javaSetterName: null + setterDeprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.kt b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.kt new file mode 100644 index 00000000000..76d4118e642 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.kt @@ -0,0 +1,11 @@ +// DO_NOT_CHECK_SYMBOL_RESTORE_K1 +// !LANGUAGE: +EnumEntries +// WITH_STDLIB + +enum class MyKotlinEnum { + FirstEntry, SecondEntry; +} + +fun test() { + MyKotlinEnum.entries +} diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.pretty.txt new file mode 100644 index 00000000000..24144bcbdde --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.pretty.txt @@ -0,0 +1 @@ +val entries: kotlin.enums.EnumEntries \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.txt b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.txt new file mode 100644 index 00000000000..3e30a32f3ee --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.txt @@ -0,0 +1,51 @@ +KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /MyKotlinEnum.entries + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE_MEMBER_GENERATED + receiverParameter: null + returnType: kotlin/enums/EnumEntries + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: false + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: true + isVal: true + modality: FINAL + name: entries + origin: SOURCE_MEMBER_GENERATED + receiverParameter: null + returnType: kotlin/enums/EnumEntries + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getEntries + javaSetterName: null + setterDeprecationStatus: null \ No newline at end of file