protected is deprecated inside objects and forbidden inside annotations and enum entries
This commit is contained in:
committed by
Mikhail Glukhikh
parent
407d46baad
commit
846d7cac69
@@ -93,7 +93,7 @@ public object ModifierCheckerCore {
|
|||||||
private val possibleParentTargetMap = mapOf<JetModifierKeywordToken, Set<KotlinTarget>>(
|
private val possibleParentTargetMap = mapOf<JetModifierKeywordToken, Set<KotlinTarget>>(
|
||||||
INNER_KEYWORD to EnumSet.of(CLASS_ONLY, INNER_CLASS, LOCAL_CLASS, ENUM_CLASS, ENUM_ENTRY),
|
INNER_KEYWORD to EnumSet.of(CLASS_ONLY, INNER_CLASS, LOCAL_CLASS, ENUM_CLASS, ENUM_ENTRY),
|
||||||
OVERRIDE_KEYWORD to EnumSet.of(CLASS, ENUM_ENTRY),
|
OVERRIDE_KEYWORD to EnumSet.of(CLASS, ENUM_ENTRY),
|
||||||
PROTECTED_KEYWORD to EnumSet.of(CLASS, ENUM_ENTRY),
|
PROTECTED_KEYWORD to EnumSet.of(CLASS_ONLY, INNER_CLASS, LOCAL_CLASS, ENUM_CLASS, INTERFACE, OBJECT),
|
||||||
COMPANION_KEYWORD to EnumSet.of(CLASS_ONLY, ENUM_CLASS, INTERFACE)
|
COMPANION_KEYWORD to EnumSet.of(CLASS_ONLY, ENUM_CLASS, INTERFACE)
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -102,7 +102,8 @@ public object ModifierCheckerCore {
|
|||||||
INTERNAL_KEYWORD to EnumSet.of(INTERFACE),
|
INTERNAL_KEYWORD to EnumSet.of(INTERFACE),
|
||||||
PROTECTED_KEYWORD to EnumSet.of(INTERFACE),
|
PROTECTED_KEYWORD to EnumSet.of(INTERFACE),
|
||||||
// Deprecated in M15
|
// Deprecated in M15
|
||||||
FINAL_KEYWORD to EnumSet.of(INTERFACE)
|
FINAL_KEYWORD to EnumSet.of(INTERFACE),
|
||||||
|
PROTECTED_KEYWORD to EnumSet.of(OBJECT)
|
||||||
)
|
)
|
||||||
|
|
||||||
// First modifier in pair should be also first in declaration
|
// First modifier in pair should be also first in declaration
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ class Test {
|
|||||||
public val prop1 : Int = 10
|
public val prop1 : Int = 10
|
||||||
|
|
||||||
public var prop2 : Int = 11
|
public var prop2 : Int = 11
|
||||||
protected set
|
private set
|
||||||
|
|
||||||
public val prop3: Int = 12
|
public val prop3: Int = 12
|
||||||
get() {
|
get() {
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
class My(protected val x: Int) {
|
||||||
|
class Her(protected val x: Int)
|
||||||
|
|
||||||
|
inner class Its(protected val x: Int)
|
||||||
|
}
|
||||||
|
|
||||||
|
object Your {
|
||||||
|
<!DEPRECATED_MODIFIER_CONTAINING_DECLARATION!>protected<!> fun foo() = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
annotation class His(<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> val x: Int)
|
||||||
|
|
||||||
|
enum class Our(protected val x: Int) {
|
||||||
|
FIRST(42) {
|
||||||
|
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> fun foo() = 13
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Their {
|
||||||
|
<!DEPRECATED_MODIFIER_CONTAINING_DECLARATION!>protected<!> fun foo() = 7
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
@kotlin.annotation.annotation() public final class His : kotlin.Annotation {
|
||||||
|
public constructor His(/*0*/ x: kotlin.Int)
|
||||||
|
protected final val x: kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class My {
|
||||||
|
public constructor My(/*0*/ x: kotlin.Int)
|
||||||
|
protected final val x: kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
|
||||||
|
public final class Her {
|
||||||
|
public constructor Her(/*0*/ x: kotlin.Int)
|
||||||
|
protected final val x: kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
|
|
||||||
|
public final inner class Its {
|
||||||
|
public constructor Its(/*0*/ x: kotlin.Int)
|
||||||
|
protected final val x: kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public final enum class Our : kotlin.Enum<Our> {
|
||||||
|
enum entry FIRST
|
||||||
|
|
||||||
|
private constructor Our(/*0*/ x: kotlin.Int)
|
||||||
|
protected final val x: kotlin.Int
|
||||||
|
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
|
||||||
|
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: Our): kotlin.Int
|
||||||
|
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
|
||||||
|
public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
|
||||||
|
// Static members
|
||||||
|
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Our
|
||||||
|
public final /*synthesized*/ fun values(): kotlin.Array<Our>
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface Their {
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
protected open fun foo(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
|
|
||||||
|
public object Your {
|
||||||
|
private constructor Your()
|
||||||
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
|
protected final fun foo(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||||
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
}
|
||||||
@@ -5,7 +5,7 @@ open class A {
|
|||||||
val internal_val = 1
|
val internal_val = 1
|
||||||
public val public_val: Int = 2
|
public val public_val: Int = 2
|
||||||
private val private_val = 3
|
private val private_val = 3
|
||||||
protected val protected_val: Int = 5
|
<!DEPRECATED_MODIFIER_CONTAINING_DECLARATION!>protected<!> val protected_val: Int = 5
|
||||||
}
|
}
|
||||||
|
|
||||||
fun fromClass() {
|
fun fromClass() {
|
||||||
|
|||||||
@@ -9192,6 +9192,12 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("protected.kt")
|
||||||
|
public void testProtected() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/modifiers/protected.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("redundantTargets.kt")
|
@TestMetadata("redundantTargets.kt")
|
||||||
public void testRedundantTargets() throws Exception {
|
public void testRedundantTargets() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/modifiers/redundantTargets.kt");
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/modifiers/redundantTargets.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user