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)
|
result += incompatibilityRegister(PRIVATE_KEYWORD, PROTECTED_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD)
|
||||||
// Abstract + open + final + sealed: incompatible
|
// Abstract + open + final + sealed: incompatible
|
||||||
result += incompatibilityRegister(ABSTRACT_KEYWORD, OPEN_KEYWORD, FINAL_KEYWORD, SEALED_KEYWORD)
|
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, OPEN_KEYWORD)
|
||||||
result += deprecationRegister(DATA_KEYWORD, INNER_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
|
// open is redundant to abstract & override
|
||||||
result += redundantRegister(ABSTRACT_KEYWORD, OPEN_KEYWORD)
|
result += redundantRegister(ABSTRACT_KEYWORD, OPEN_KEYWORD)
|
||||||
result += redundantRegister(OVERRIDE_KEYWORD, OPEN_KEYWORD)
|
result += redundantRegister(OVERRIDE_KEYWORD, OPEN_KEYWORD)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ interface Allowed
|
|||||||
|
|
||||||
open class NotAllowed
|
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)
|
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);
|
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")
|
@TestMetadata("secondParamIsVal.kt")
|
||||||
public void testSecondParamIsVal() throws Exception {
|
public void testSecondParamIsVal() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dataClasses/secondParamIsVal.kt");
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dataClasses/secondParamIsVal.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user