Add internal keyword overriding package(java) visibility

This commit is contained in:
Natalia.Ukhorskaya
2013-02-05 19:53:51 +04:00
parent 64bc79aaac
commit 7f28540e62
5 changed files with 36 additions and 1 deletions
@@ -33,6 +33,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.psi.*;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade;
@@ -264,7 +265,13 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns
private static String displayableVisibility(MemberDescriptor descriptor) {
Visibility visibility = descriptor.getVisibility();
return visibility != Visibilities.INTERNAL ? visibility.toString() + " " : "";
if (visibility == Visibilities.INTERNAL) {
return "";
}
if (visibility == JavaDescriptorResolver.PACKAGE_VISIBILITY) {
return "internal ";
}
return visibility.toString() + " ";
}
@NotNull
@@ -0,0 +1,7 @@
package foo
import foo.Intf
class Impl(): Intf() {
<caret>
}
@@ -0,0 +1,10 @@
package foo
import foo.Intf
class Impl(): Intf() {
internal override fun getFooBar(): String? {
return super<Intf>.getFooBar()
}
}
@@ -0,0 +1,7 @@
package foo;
public class Intf {
String getFooBar() {
return "OK";
}
}
@@ -138,6 +138,10 @@ public class OverrideImplementTest extends LightCodeInsightFixtureTestCase {
doOverrideDirectoryTest("getAnswer");
}
public void testJavaMethodWithPackageVisibility() {
doOverrideDirectoryTest("getFooBar");
}
public void testInheritVisibilities() {
doMultiOverrideFileTest();
}