Fix positioning strategy for OVERRIDING_FINAL_MEMBER
Remove unneeded call to AST
This commit is contained in:
@@ -219,7 +219,8 @@ public interface Errors {
|
|||||||
|
|
||||||
DiagnosticFactory0<JetDeclaration> CANNOT_INFER_VISIBILITY = DiagnosticFactory0.create(ERROR, DECLARATION);
|
DiagnosticFactory0<JetDeclaration> CANNOT_INFER_VISIBILITY = DiagnosticFactory0.create(ERROR, DECLARATION);
|
||||||
|
|
||||||
DiagnosticFactory2<PsiElement, CallableMemberDescriptor, DeclarationDescriptor> OVERRIDING_FINAL_MEMBER = DiagnosticFactory2.create(ERROR);
|
DiagnosticFactory2<JetNamedDeclaration, CallableMemberDescriptor, DeclarationDescriptor> OVERRIDING_FINAL_MEMBER =
|
||||||
|
DiagnosticFactory2.create(ERROR, OVERRIDE_MODIFIER);
|
||||||
|
|
||||||
DiagnosticFactory3<JetModifierListOwner, Visibility, CallableMemberDescriptor, DeclarationDescriptor> CANNOT_WEAKEN_ACCESS_PRIVILEGE =
|
DiagnosticFactory3<JetModifierListOwner, Visibility, CallableMemberDescriptor, DeclarationDescriptor> CANNOT_WEAKEN_ACCESS_PRIVILEGE =
|
||||||
DiagnosticFactory3.create(ERROR, VISIBILITY_MODIFIER);
|
DiagnosticFactory3.create(ERROR, VISIBILITY_MODIFIER);
|
||||||
|
|||||||
@@ -549,20 +549,20 @@ public class OverrideResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
JetModifierList modifierList = member.getModifierList();
|
JetModifierList modifierList = member.getModifierList();
|
||||||
final ASTNode overrideNode = modifierList != null ? modifierList.getModifierNode(JetTokens.OVERRIDE_KEYWORD) : null;
|
boolean hasOverrideNode = modifierList != null && modifierList.hasModifier(JetTokens.OVERRIDE_KEYWORD);
|
||||||
Set<? extends CallableMemberDescriptor> overriddenDescriptors = declared.getOverriddenDescriptors();
|
Set<? extends CallableMemberDescriptor> overriddenDescriptors = declared.getOverriddenDescriptors();
|
||||||
|
|
||||||
if (overrideNode != null) {
|
if (hasOverrideNode) {
|
||||||
checkOverridesForMemberMarkedOverride(declared, true, new CheckOverrideReportStrategy() {
|
checkOverridesForMemberMarkedOverride(declared, true, new CheckOverrideReportStrategy() {
|
||||||
private boolean finalOverriddenError = false;
|
private boolean finalOverriddenError = false;
|
||||||
private boolean typeMismatchError = false;
|
private boolean typeMismatchError = false;
|
||||||
private boolean kindMismatchError = false;
|
private boolean kindMismatchError = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void overridingFinalMember( @NotNull CallableMemberDescriptor overridden) {
|
public void overridingFinalMember(@NotNull CallableMemberDescriptor overridden) {
|
||||||
if (!finalOverriddenError) {
|
if (!finalOverriddenError) {
|
||||||
finalOverriddenError = true;
|
finalOverriddenError = true;
|
||||||
trace.report(OVERRIDING_FINAL_MEMBER.on(overrideNode.getPsi(), overridden, overridden.getContainingDeclaration()));
|
trace.report(OVERRIDING_FINAL_MEMBER.on(member, overridden, overridden.getContainingDeclaration()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user