21fff5634e
^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
373 lines
11 KiB
Plaintext
Vendored
373 lines
11 KiB
Plaintext
Vendored
KtConstructorSymbol:
|
|
annotationsList: []
|
|
callableIdIfNonLocal: null
|
|
containingClassIdIfNonLocal: Style
|
|
contextReceivers: []
|
|
hasStableParameterNames: true
|
|
isActual: false
|
|
isExpect: false
|
|
isExtension: false
|
|
isPrimary: true
|
|
origin: SOURCE
|
|
receiverParameter: null
|
|
returnType: KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: Style
|
|
symbolKind: CLASS_MEMBER
|
|
typeParameters: []
|
|
valueParameters: [
|
|
KtValueParameterSymbol:
|
|
annotationsList: []
|
|
callableIdIfNonLocal: null
|
|
contextReceivers: []
|
|
generatedPrimaryConstructorProperty: KtKotlinPropertySymbol:
|
|
annotationsList: []
|
|
backingFieldSymbol: KtBackingFieldSymbol:
|
|
annotationsList: []
|
|
callableIdIfNonLocal: null
|
|
contextReceivers: []
|
|
isExtension: false
|
|
name: field
|
|
origin: PROPERTY_BACKING_FIELD
|
|
owningProperty: KtKotlinPropertySymbol(/Style.value)
|
|
receiverParameter: null
|
|
returnType: KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: kotlin/String
|
|
symbolKind: LOCAL
|
|
typeParameters: []
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingJvmClassName: Style
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
deprecationStatus: null
|
|
callableIdIfNonLocal: /Style.value
|
|
contextReceivers: []
|
|
getter: KtPropertyGetterSymbol:
|
|
annotationsList: []
|
|
callableIdIfNonLocal: null
|
|
contextReceivers: []
|
|
hasBody: false
|
|
hasStableParameterNames: true
|
|
isDefault: true
|
|
isExtension: false
|
|
isInline: false
|
|
isOverride: false
|
|
modality: FINAL
|
|
origin: SOURCE
|
|
receiverParameter: null
|
|
returnType: KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: kotlin/String
|
|
symbolKind: ACCESSOR
|
|
typeParameters: []
|
|
valueParameters: []
|
|
visibility: Public
|
|
getDispatchReceiver(): KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: Style
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingJvmClassName: Style
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
deprecationStatus: null
|
|
hasBackingField: true
|
|
hasGetter: true
|
|
hasSetter: false
|
|
initializer: KtNonConstantInitializerValue(val value: String)
|
|
isActual: false
|
|
isConst: false
|
|
isDelegatedProperty: false
|
|
isExpect: false
|
|
isExtension: false
|
|
isFromPrimaryConstructor: true
|
|
isLateInit: false
|
|
isOverride: false
|
|
isStatic: false
|
|
isVal: true
|
|
modality: FINAL
|
|
name: value
|
|
origin: SOURCE
|
|
receiverParameter: null
|
|
returnType: KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: kotlin/String
|
|
setter: null
|
|
symbolKind: CLASS_MEMBER
|
|
typeParameters: []
|
|
visibility: Public
|
|
getDispatchReceiver(): KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: Style
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingJvmClassName: Style
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
deprecationStatus: null
|
|
getterDeprecationStatus: null
|
|
javaGetterName: getValue
|
|
javaSetterName: null
|
|
setterDeprecationStatus: null
|
|
hasDefaultValue: false
|
|
isCrossinline: false
|
|
isExtension: false
|
|
isImplicitLambdaParameter: false
|
|
isNoinline: false
|
|
isVararg: false
|
|
name: value
|
|
origin: SOURCE
|
|
receiverParameter: null
|
|
returnType: KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: kotlin/String
|
|
symbolKind: LOCAL
|
|
typeParameters: []
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingJvmClassName: Style
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
deprecationStatus: null
|
|
]
|
|
visibility: Private
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingJvmClassName: Style
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
deprecationStatus: null
|
|
|
|
KtKotlinPropertySymbol:
|
|
annotationsList: []
|
|
backingFieldSymbol: KtBackingFieldSymbol:
|
|
annotationsList: []
|
|
callableIdIfNonLocal: null
|
|
contextReceivers: []
|
|
isExtension: false
|
|
name: field
|
|
origin: PROPERTY_BACKING_FIELD
|
|
owningProperty: KtKotlinPropertySymbol(<local>/exitAnimation)
|
|
receiverParameter: null
|
|
returnType: KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: kotlin/String
|
|
symbolKind: LOCAL
|
|
typeParameters: []
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingJvmClassName: null
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
deprecationStatus: null
|
|
callableIdIfNonLocal: null
|
|
contextReceivers: []
|
|
getter: KtPropertyGetterSymbol:
|
|
annotationsList: []
|
|
callableIdIfNonLocal: null
|
|
contextReceivers: []
|
|
hasBody: true
|
|
hasStableParameterNames: true
|
|
isDefault: false
|
|
isExtension: false
|
|
isInline: false
|
|
isOverride: true
|
|
modality: OPEN
|
|
origin: SOURCE
|
|
receiverParameter: null
|
|
returnType: KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: kotlin/String
|
|
symbolKind: ACCESSOR
|
|
typeParameters: []
|
|
valueParameters: []
|
|
visibility: Public
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingJvmClassName: null
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
deprecationStatus: null
|
|
hasBackingField: false
|
|
hasGetter: true
|
|
hasSetter: false
|
|
initializer: null
|
|
isActual: false
|
|
isConst: false
|
|
isDelegatedProperty: false
|
|
isExpect: false
|
|
isExtension: false
|
|
isFromPrimaryConstructor: false
|
|
isLateInit: false
|
|
isOverride: true
|
|
isStatic: false
|
|
isVal: true
|
|
modality: OPEN
|
|
name: exitAnimation
|
|
origin: SOURCE
|
|
receiverParameter: null
|
|
returnType: KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: kotlin/String
|
|
setter: null
|
|
symbolKind: CLASS_MEMBER
|
|
typeParameters: []
|
|
visibility: Public
|
|
getDispatchReceiver(): KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: <anonymous>
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingJvmClassName: null
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
deprecationStatus: null
|
|
getterDeprecationStatus: null
|
|
javaGetterName: getExitAnimation
|
|
javaSetterName: null
|
|
setterDeprecationStatus: null
|
|
|
|
KtEnumEntrySymbol:
|
|
annotationsList: []
|
|
callableIdIfNonLocal: /Style.SHEET
|
|
containingEnumClassIdIfNonLocal: Style
|
|
contextReceivers: []
|
|
enumEntryInitializer: KtAnonymousObjectSymbol(<local>/<no name provided>)
|
|
isExtension: false
|
|
name: SHEET
|
|
origin: SOURCE
|
|
receiverParameter: null
|
|
returnType: KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: Style
|
|
symbolKind: CLASS_MEMBER
|
|
typeParameters: []
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingJvmClassName: Style
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
deprecationStatus: null
|
|
|
|
KtKotlinPropertySymbol:
|
|
annotationsList: []
|
|
backingFieldSymbol: KtBackingFieldSymbol:
|
|
annotationsList: []
|
|
callableIdIfNonLocal: null
|
|
contextReceivers: []
|
|
isExtension: false
|
|
name: field
|
|
origin: PROPERTY_BACKING_FIELD
|
|
owningProperty: KtKotlinPropertySymbol(/Style.exitAnimation)
|
|
receiverParameter: null
|
|
returnType: KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: kotlin/String
|
|
symbolKind: LOCAL
|
|
typeParameters: []
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingJvmClassName: Style
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
deprecationStatus: null
|
|
callableIdIfNonLocal: /Style.exitAnimation
|
|
contextReceivers: []
|
|
getter: KtPropertyGetterSymbol:
|
|
annotationsList: []
|
|
callableIdIfNonLocal: null
|
|
contextReceivers: []
|
|
hasBody: false
|
|
hasStableParameterNames: true
|
|
isDefault: true
|
|
isExtension: false
|
|
isInline: false
|
|
isOverride: false
|
|
modality: ABSTRACT
|
|
origin: SOURCE
|
|
receiverParameter: null
|
|
returnType: KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: kotlin/String
|
|
symbolKind: ACCESSOR
|
|
typeParameters: []
|
|
valueParameters: []
|
|
visibility: Public
|
|
getDispatchReceiver(): KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: Style
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingJvmClassName: Style
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
deprecationStatus: null
|
|
hasBackingField: false
|
|
hasGetter: true
|
|
hasSetter: false
|
|
initializer: null
|
|
isActual: false
|
|
isConst: false
|
|
isDelegatedProperty: false
|
|
isExpect: false
|
|
isExtension: false
|
|
isFromPrimaryConstructor: false
|
|
isLateInit: false
|
|
isOverride: false
|
|
isStatic: false
|
|
isVal: true
|
|
modality: ABSTRACT
|
|
name: exitAnimation
|
|
origin: SOURCE
|
|
receiverParameter: null
|
|
returnType: KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: kotlin/String
|
|
setter: null
|
|
symbolKind: CLASS_MEMBER
|
|
typeParameters: []
|
|
visibility: Public
|
|
getDispatchReceiver(): KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: Style
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingJvmClassName: Style
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
deprecationStatus: null
|
|
getterDeprecationStatus: null
|
|
javaGetterName: getExitAnimation
|
|
javaSetterName: null
|
|
setterDeprecationStatus: null
|
|
|
|
KtNamedClassOrObjectSymbol:
|
|
annotationsList: []
|
|
classIdIfNonLocal: Style
|
|
classKind: ENUM_CLASS
|
|
companionObject: null
|
|
contextReceivers: []
|
|
isActual: false
|
|
isData: false
|
|
isExpect: false
|
|
isExternal: false
|
|
isFun: false
|
|
isInline: false
|
|
isInner: false
|
|
modality: FINAL
|
|
name: Style
|
|
origin: SOURCE
|
|
superTypes: [
|
|
KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: [
|
|
KtUsualClassType:
|
|
annotationsList: []
|
|
ownTypeArguments: []
|
|
type: Style
|
|
]
|
|
type: kotlin/Enum<Style>
|
|
]
|
|
symbolKind: TOP_LEVEL
|
|
typeParameters: []
|
|
visibility: Public
|
|
getContainingFileSymbol: KtFileSymbol(enumValueMember.kt)
|
|
getContainingModule: KtSourceModule "Sources of main"
|
|
annotationApplicableTargets: null
|
|
deprecationStatus: null
|