make modality 'FINAL' for non-class members

not depend on actual modifier since it's not legal there
This commit is contained in:
Svetlana Isakova
2012-08-22 20:24:06 +04:00
parent bac0078646
commit f8edaad420
7 changed files with 29 additions and 18 deletions
@@ -758,12 +758,15 @@ public class DescriptorResolver {
boolean isVar = property.isVar();
boolean hasBody = hasBody(property);
Modality defaultModality = getDefaultModality(containingDeclaration, hasBody);
Modality modality = containingDeclaration instanceof ClassDescriptor
? ModifiersChecker.resolveModalityFromModifiers(property, getDefaultModality(containingDeclaration, hasBody))
: Modality.FINAL;
Visibility visibility = ModifiersChecker.resolveVisibilityFromModifiers(property, getDefaultVisibility(property, containingDeclaration));
PropertyDescriptor propertyDescriptor = new PropertyDescriptor(
containingDeclaration,
annotationResolver.resolveAnnotations(scope, modifierList, trace),
ModifiersChecker.resolveModalityFromModifiers(property, defaultModality),
ModifiersChecker.resolveVisibilityFromModifiers(property),
modality,
visibility,
isVar,
JetPsiUtil.safeName(property.getName()),
CallableMemberDescriptor.Kind.DECLARATION
@@ -179,11 +179,7 @@ public class ModifiersChecker {
@NotNull
public static Visibility resolveVisibilityFromModifiers(@NotNull JetModifierListOwner modifierListOwner) {
JetModifierList modifierList = modifierListOwner.getModifierList();
Visibility defaultVisibility = modifierList != null && modifierList.hasModifier(OVERRIDE_KEYWORD)
? Visibilities.INHERITED
: Visibilities.INTERNAL;
return resolveVisibilityFromModifiers(modifierListOwner, defaultVisibility);
return resolveVisibilityFromModifiers(modifierListOwner, Visibilities.INTERNAL);
}
@NotNull