diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/Visibilities.java b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/Visibilities.java index bdf3b812960..8cb9d438ba1 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/Visibilities.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/Visibilities.java @@ -84,13 +84,6 @@ public class Visibilities { } }; - public static final Visibility INTERNAL_PROTECTED = new Visibility("internal protected", false) { - @Override - protected boolean isVisible(@NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) { - return PROTECTED.isVisible(what, from) && INTERNAL.isVisible(what, from); - } - }; - public static final Visibility LOCAL = new Visibility("local", false) { @Override protected boolean isVisible(@NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) { @@ -113,7 +106,7 @@ public class Visibilities { } }; - public static final Set INTERNAL_VISIBILITIES = Sets.newHashSet(PRIVATE, INTERNAL, INTERNAL_PROTECTED, LOCAL); + public static final Set INTERNAL_VISIBILITIES = Sets.newHashSet(PRIVATE, INTERNAL, LOCAL); private Visibilities() { } @@ -136,10 +129,9 @@ public class Visibilities { static { ORDERED_VISIBILITIES.put(PRIVATE, 0); - ORDERED_VISIBILITIES.put(INTERNAL_PROTECTED, 1); - ORDERED_VISIBILITIES.put(INTERNAL, 2); - ORDERED_VISIBILITIES.put(PROTECTED, 2); - ORDERED_VISIBILITIES.put(PUBLIC, 3); + ORDERED_VISIBILITIES.put(INTERNAL, 1); + ORDERED_VISIBILITIES.put(PROTECTED, 1); + ORDERED_VISIBILITIES.put(PUBLIC, 2); } /*package*/ 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 445ce552334..c2eb0b35d8f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java @@ -318,8 +318,7 @@ public class DeclarationsChecker { } } - checkCompatibility(modifierList, Lists.newArrayList(JetTokens.PRIVATE_KEYWORD, JetTokens.PROTECTED_KEYWORD, JetTokens.PUBLIC_KEYWORD, JetTokens.INTERNAL_KEYWORD), - Lists.newArrayList(JetTokens.PROTECTED_KEYWORD, JetTokens.INTERNAL_KEYWORD)); + checkCompatibility(modifierList, Lists.newArrayList(JetTokens.PRIVATE_KEYWORD, JetTokens.PROTECTED_KEYWORD, JetTokens.PUBLIC_KEYWORD, JetTokens.INTERNAL_KEYWORD)); } private void checkCompatibility(@Nullable JetModifierList modifierList, Collection availableModifiers, Collection... availableCombinations) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java index b1f3194a769..82188c8b3d2 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java @@ -743,15 +743,8 @@ public class DescriptorResolver { if (modifierList == null) return defaultVisibility; if (modifierList.hasModifier(JetTokens.PRIVATE_KEYWORD)) return Visibilities.PRIVATE; if (modifierList.hasModifier(JetTokens.PUBLIC_KEYWORD)) return Visibilities.PUBLIC; - if (modifierList.hasModifier(JetTokens.PROTECTED_KEYWORD)) { - if (modifierList.hasModifier(JetTokens.INTERNAL_KEYWORD)) { - return Visibilities.INTERNAL_PROTECTED; - } - return Visibilities.PROTECTED; - } - if (modifierList.hasModifier(JetTokens.INTERNAL_KEYWORD)) { - return Visibilities.INTERNAL; - } + if (modifierList.hasModifier(JetTokens.PROTECTED_KEYWORD)) return Visibilities.PROTECTED; + if (modifierList.hasModifier(JetTokens.INTERNAL_KEYWORD)) return Visibilities.INTERNAL; return defaultVisibility; } diff --git a/compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/kt362.jet b/compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/kt362.jet index cb0e1298dbb..f367e64fbe3 100644 --- a/compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/kt362.jet +++ b/compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/kt362.jet @@ -7,12 +7,10 @@ fun test() { val p = test.Public() if (p.public is Int) p.public + 1 if (p.protected is Int) p.protected + 1 - if (p.i_protected is Int) p.i_protected + 1 if (p.internal is Int) p.internal + 1 val i = test.Public() if (i.public is Int) i.public + 1 if (i.protected is Int) i.protected + 1 - if (i.i_protected is Int) i.i_protected + 1 if (i.internal is Int) i.internal + 1 } @@ -22,12 +20,10 @@ package test public class Public() { public val public : Int? = 1; protected val protected : Int? = 1; - internal protected val i_protected : Int? = 1; val internal : Int? = 1 } internal class Internal() { public val public : Int? = 1; protected val protected : Int? = 1; - internal protected val i_protected : Int? = 1; val internal : Int? = 1 } \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/scopes/VisibilityInheritModifier.jet b/compiler/testData/diagnostics/tests/scopes/VisibilityInheritModifier.jet index db64398e7c0..82d83383986 100644 --- a/compiler/testData/diagnostics/tests/scopes/VisibilityInheritModifier.jet +++ b/compiler/testData/diagnostics/tests/scopes/VisibilityInheritModifier.jet @@ -40,7 +40,7 @@ fun test_fun_stays_protected(g: G) { //------------ open class H { - internal protected open fun pi_fun() {} + protected open fun pi_fun() {} } class I : H() { @@ -48,7 +48,7 @@ class I : H() { } class J : H() { - internal override fun pi_fun() {} + internal override fun pi_fun() {} } class K : H() { @@ -69,11 +69,11 @@ class M : L() { } //--------------- trait R { - internal protected fun foo() {} + internal protected fun foo() {} } trait P : R { - internal override fun foo() {} + internal override fun foo() {} } trait Q : R { diff --git a/idea/src/org/jetbrains/jet/plugin/JetDescriptorIconProvider.java b/idea/src/org/jetbrains/jet/plugin/JetDescriptorIconProvider.java index 8d6ed7fdac7..8f34a113e19 100644 --- a/idea/src/org/jetbrains/jet/plugin/JetDescriptorIconProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/JetDescriptorIconProvider.java @@ -55,7 +55,7 @@ public final class JetDescriptorIconProvider { return PlatformIcons.PUBLIC_ICON; } - if (visibility == Visibilities.PROTECTED || visibility == Visibilities.INTERNAL_PROTECTED) { + if (visibility == Visibilities.PROTECTED) { return PlatformIcons.PROTECTED_ICON; } diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVisibilityModifierFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVisibilityModifierFix.java index e97136b63fd..fe07e7493ef 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVisibilityModifierFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeVisibilityModifierFix.java @@ -113,10 +113,6 @@ public class ChangeVisibilityModifierFix extends JetIntentionActionfoo() = 1 -} \ No newline at end of file