Fix "cannot override invisible member" diagnostic message
Fix "cannot has", delete "in class ..." as it's already present in the message (function ... defined in class ...)
This commit is contained in:
@@ -211,8 +211,8 @@ public interface Errors {
|
||||
DiagnosticFactory3<PsiNameIdentifierOwner, CallableMemberDescriptor, CallableMemberDescriptor, DeclarationDescriptor> VIRTUAL_MEMBER_HIDDEN =
|
||||
DiagnosticFactory3.create(ERROR, NAMED_ELEMENT);
|
||||
|
||||
DiagnosticFactory3<JetModifierListOwner, CallableMemberDescriptor, CallableDescriptor, DeclarationDescriptor> CANNOT_OVERRIDE_INVISIBLE_MEMBER =
|
||||
DiagnosticFactory3.create(ERROR, OVERRIDE_MODIFIER);
|
||||
DiagnosticFactory2<JetModifierListOwner, CallableMemberDescriptor, CallableDescriptor> CANNOT_OVERRIDE_INVISIBLE_MEMBER =
|
||||
DiagnosticFactory2.create(ERROR, OVERRIDE_MODIFIER);
|
||||
|
||||
DiagnosticFactory2<JetAnnotationEntry, CallableMemberDescriptor, DeclarationDescriptor> DATA_CLASS_OVERRIDE_CONFLICT =
|
||||
DiagnosticFactory2.create(ERROR);
|
||||
|
||||
+1
-2
@@ -158,8 +158,7 @@ public class DefaultErrorMessages {
|
||||
|
||||
MAP.put(DATA_CLASS_OVERRIDE_CONFLICT, "Function ''{0}'' generated for the data class conflicts with member of supertype ''{1}''", NAME, NAME);
|
||||
|
||||
MAP.put(CANNOT_OVERRIDE_INVISIBLE_MEMBER, "''{0}'' cannot has no access to ''{1}'' in class {2}, so it cannot override it",
|
||||
TEXT, TEXT, TEXT);
|
||||
MAP.put(CANNOT_OVERRIDE_INVISIBLE_MEMBER, "''{0}'' has no access to ''{1}'', so it cannot override it", TEXT, TEXT);
|
||||
MAP.put(CANNOT_INFER_VISIBILITY, "Cannot infer visibility. Please specify it explicitly");
|
||||
|
||||
MAP.put(ENUM_ENTRY_SHOULD_BE_INITIALIZED, "Missing delegation specifier ''{0}''", NAME);
|
||||
|
||||
@@ -592,7 +592,7 @@ public class OverrideResolver {
|
||||
|
||||
@Override
|
||||
public void cannotOverrideInvisibleMember(@NotNull CallableMemberDescriptor invisibleOverridden) {
|
||||
trace.report(CANNOT_OVERRIDE_INVISIBLE_MEMBER.on(member, declared, invisibleOverridden, invisibleOverridden.getContainingDeclaration()));
|
||||
trace.report(CANNOT_OVERRIDE_INVISIBLE_MEMBER.on(member, declared, invisibleOverridden));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
// !DIAGNOSTICS_NUMBER: 1
|
||||
// !DIAGNOSTICS: CANNOT_OVERRIDE_INVISIBLE_MEMBER
|
||||
|
||||
open class A {
|
||||
private open fun foo() {}
|
||||
}
|
||||
|
||||
class B : A() {
|
||||
override fun foo() {}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
<!-- cannotOverrideInvisibleMember1 -->
|
||||
'internal open fun foo(): kotlin.Unit defined in B' has no access to 'private open fun foo(): kotlin.Unit defined in A', so it cannot override it
|
||||
@@ -41,6 +41,11 @@ public class DiagnosticMessageTestGenerated extends AbstractDiagnosticMessageTes
|
||||
doTest("idea/testData/diagnosticMessage/assignedButNeverAccessedVariable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("cannotOverrideInvisibleMember.kt")
|
||||
public void testCannotOverrideInvisibleMember() throws Exception {
|
||||
doTest("idea/testData/diagnosticMessage/cannotOverrideInvisibleMember.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("conflictingOverloadsClass.kt")
|
||||
public void testConflictingOverloadsClass() throws Exception {
|
||||
doTest("idea/testData/diagnosticMessage/conflictingOverloadsClass.kt");
|
||||
|
||||
Reference in New Issue
Block a user