diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java index 2acb2886028..75058247ec6 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java @@ -162,7 +162,7 @@ public class DeclarationsChecker { JetFunction function = (JetFunction) member; hasDeferredType = function.getReturnTypeRef() == null && function.getBodyExpression() != null && !function.hasBlockBody(); } - if ((memberDescriptor.getVisibility().isPublicAPI()) && hasDeferredType) { + if ((memberDescriptor.getVisibility().isPublicAPI()) && memberDescriptor.getOverriddenDescriptors().size() == 0 && hasDeferredType) { trace.report(PUBLIC_MEMBER_SHOULD_SPECIFY_TYPE.on(member)); } } diff --git a/compiler/testData/diagnostics/tests/scopes/visibility2.jet b/compiler/testData/diagnostics/tests/scopes/visibility2.jet index 3517adab1b3..b31b44b58fa 100644 --- a/compiler/testData/diagnostics/tests/scopes/visibility2.jet +++ b/compiler/testData/diagnostics/tests/scopes/visibility2.jet @@ -38,3 +38,7 @@ class Q { } } +//check that 'toString' can be invoked without specifying 'public' and ': String' +class NewClass : java.util.ArrayList() { + override fun toString() = "a" +}