abstract + data and sealed + data are also deprecated
This commit is contained in:
@@ -100,9 +100,11 @@ public object ModifierCheckerCore {
|
||||
result += incompatibilityRegister(PRIVATE_KEYWORD, PROTECTED_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD)
|
||||
// Abstract + open + final + sealed: incompatible
|
||||
result += incompatibilityRegister(ABSTRACT_KEYWORD, OPEN_KEYWORD, FINAL_KEYWORD, SEALED_KEYWORD)
|
||||
// data + open, data + inner
|
||||
// data + open, data + inner, data + abstract, data + sealed
|
||||
result += deprecationRegister(DATA_KEYWORD, OPEN_KEYWORD)
|
||||
result += deprecationRegister(DATA_KEYWORD, INNER_KEYWORD)
|
||||
result += deprecationRegister(DATA_KEYWORD, ABSTRACT_KEYWORD)
|
||||
result += deprecationRegister(DATA_KEYWORD, SEALED_KEYWORD)
|
||||
// open is redundant to abstract & override
|
||||
result += redundantRegister(ABSTRACT_KEYWORD, OPEN_KEYWORD)
|
||||
result += redundantRegister(OVERRIDE_KEYWORD, OPEN_KEYWORD)
|
||||
|
||||
@@ -2,7 +2,7 @@ interface Allowed
|
||||
|
||||
open class NotAllowed
|
||||
|
||||
abstract data class Base(val x: Int)
|
||||
<!DEPRECATED_MODIFIER_PAIR!>abstract<!> <!DEPRECATED_MODIFIER_PAIR!>data<!> class Base(val x: Int)
|
||||
|
||||
class Derived: Base(42)
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<!DEPRECATED_MODIFIER_PAIR!>sealed<!> <!DEPRECATED_MODIFIER_PAIR!>data<!> class My(val x: Int) {
|
||||
object Your: My(1)
|
||||
class His(y: Int): My(y)
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package
|
||||
|
||||
@kotlin.data() public sealed class My {
|
||||
private constructor My(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public final /*synthesized*/ fun component1(): kotlin.Int
|
||||
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ...): My
|
||||
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 His : My {
|
||||
public constructor His(/*0*/ y: kotlin.Int)
|
||||
public final override /*1*/ /*fake_override*/ val x: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun component1(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun copy(/*0*/ x: kotlin.Int = ...): My
|
||||
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 object Your : My {
|
||||
private constructor Your()
|
||||
public final override /*1*/ /*fake_override*/ val x: kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun component1(): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun copy(/*0*/ x: kotlin.Int = ...): My
|
||||
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
|
||||
}
|
||||
}
|
||||
@@ -3414,6 +3414,12 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("sealedDataClass.kt")
|
||||
public void testSealedDataClass() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dataClasses/sealedDataClass.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("secondParamIsVal.kt")
|
||||
public void testSecondParamIsVal() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dataClasses/secondParamIsVal.kt");
|
||||
|
||||
Reference in New Issue
Block a user