[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:
+6
-6
@@ -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: []
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ KtKotlinPropertySymbol:
|
||||
isExtension: false
|
||||
isInline: false
|
||||
isOverride: false
|
||||
modality: FINAL
|
||||
modality: ABSTRACT
|
||||
origin: SOURCE
|
||||
receiverParameter: null
|
||||
returnType: KtUsualClassType:
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ KtKotlinPropertySymbol:
|
||||
isExtension: false
|
||||
isInline: false
|
||||
isOverride: true
|
||||
modality: FINAL
|
||||
modality: OPEN
|
||||
origin: SOURCE
|
||||
receiverParameter: null
|
||||
returnType: KtUsualClassType:
|
||||
|
||||
Reference in New Issue
Block a user