From c47e3957a71f5a17d86e32f627f02c7923d2cb4b Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Tue, 3 Apr 2012 16:24:13 +0400 Subject: [PATCH] return type can be omitted when override --- .../org/jetbrains/jet/lang/resolve/DeclarationsChecker.java | 2 +- compiler/testData/diagnostics/tests/scopes/visibility2.jet | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) 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" +}