[FIR] Fir modality of FirPropertyAccessor

^KT-61798 Fixed
Review: https://jetbrains.team/p/kt/reviews/14230/timeline

Q: How resolved modality of an accessor affects expect/actual matching
   algorithm of properties?
A: It's not expect/actual matching of properties, but expect/actual
   matching of properties setter. Declarations (setters in our case) in
   actual are allowed to have wider visibility but only if the
   appropriate expect is `final`. Before this commit, all property
   accessors were always `final` by mistake. After this commit, they
   have the modality derived from their containingProperty.

Related problem: PositionStrategy for ACTUAL_WITHOUT_EXPECT can be
improved KT-65720

The fix in `resolveModality` is similar to how `resolveVisibility` works

Related tests:
- ConfigurationCacheForAndroidIT.testKotlinAndroidProject
- FirIdeNormalAnalysisSourceModuleCombinedDeclaredMemberScopeTestGenerated.testEnumClassWithAbstractMembers
- FirIdeNormalAnalysisSourceModuleCombinedDeclaredMemberScopeTestGenerated.testEnumEntryInitializerWithOverriddenMember
- FirIdeNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.testDelegateInterfaceLibrary
- FirIdeNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.testEnumClassWithAbstractMembers
- FirIdeNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.testEnumEntryInitializerWithOverriddenMember
- FirIdeNormalAnalysisSourceModuleMemberScopeTestGenerated.testEnumClassWithAbstractMembers
- FirIdeNormalAnalysisSourceModuleMemberScopeTestGenerated.testEnumEntryInitializerWithOverriddenMember
- FirIdeNormalAnalysisSourceModuleSymbolByPsiTestGenerated.testEnumEntryOverride
- FirIdeNormalAnalysisSourceModuleSymbolByPsiTestGenerated.testEnumValueMember
- FirStandaloneNormalAnalysisSourceModuleCombinedDeclaredMemberScopeTestGenerated.testEnumClassWithAbstractMembers
- FirStandaloneNormalAnalysisSourceModuleCombinedDeclaredMemberScopeTestGenerated.testEnumEntryInitializerWithOverriddenMember
- FirStandaloneNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.testEnumClassWithAbstractMembers
- FirStandaloneNormalAnalysisSourceModuleDeclaredMemberScopeTestGenerated.testEnumEntryInitializerWithOverriddenMember
- FirStandaloneNormalAnalysisSourceModuleMemberScopeTestGenerated.testEnumClassWithAbstractMembers
- FirStandaloneNormalAnalysisSourceModuleMemberScopeTestGenerated.testEnumEntryInitializerWithOverriddenMember
- DiagnosticCompilerTestFE10TestdataTestGenerated*testChangeSetterVisibilityInOverride
This commit is contained in:
Nikita Bobko
2024-02-06 15:53:04 +01:00
committed by Space Team
parent ab726fee3d
commit 21fff5634e
13 changed files with 27 additions and 27 deletions
@@ -122,7 +122,7 @@ KtKotlinPropertySymbol:
isExtension: false
isInline: false
isOverride: false
modality: FINAL
modality: OPEN
origin: SOURCE
receiverParameter: null
returnType: KtUsualClassType:
@@ -173,7 +173,7 @@ KtKotlinPropertySymbol:
isExtension: false
isInline: false
isOverride: false
modality: FINAL
modality: OPEN
origin: SOURCE
parameter: KtValueParameterSymbol:
annotationsList: []
@@ -290,7 +290,7 @@ KtKotlinPropertySymbol:
isExtension: false
isInline: false
isOverride: false
modality: FINAL
modality: OPEN
origin: SOURCE
receiverParameter: KtReceiverParameterSymbol:
annotationsList: []
@@ -439,7 +439,7 @@ KtKotlinPropertySymbol:
isExtension: false
isInline: false
isOverride: false
modality: FINAL
modality: OPEN
origin: SOURCE
receiverParameter: null
returnType: KtUsualClassType:
@@ -530,7 +530,7 @@ KtKotlinPropertySymbol:
isExtension: false
isInline: false
isOverride: false
modality: FINAL
modality: OPEN
origin: SOURCE
receiverParameter: KtReceiverParameterSymbol:
annotationsList: []
@@ -601,7 +601,7 @@ KtKotlinPropertySymbol:
isExtension: false
isInline: false
isOverride: false
modality: FINAL
modality: OPEN
origin: SOURCE
parameter: KtValueParameterSymbol:
annotationsList: []
@@ -31,7 +31,7 @@ KtKotlinPropertySymbol:
isExtension: false
isInline: false
isOverride: false
modality: FINAL
modality: ABSTRACT
origin: SOURCE
receiverParameter: null
returnType: KtUsualClassType:
@@ -31,7 +31,7 @@ KtKotlinPropertySymbol:
isExtension: false
isInline: false
isOverride: true
modality: FINAL
modality: OPEN
origin: SOURCE
receiverParameter: null
returnType: KtUsualClassType: