Introduction of sealed classes
Sealed classes can be derived only by their own inner classes or objects. Their constructors cannot be called explicitly, so compiler knows all their descendants. Incompatible modifier checks (final, abstract). Impossible with interface, object, enum. A pack of tests provided.
This commit is contained in:
@@ -35,4 +35,5 @@ class MouseMovedEventArgs
|
||||
// EXIST: init
|
||||
/*why?*/
|
||||
// EXIST: companion object
|
||||
// EXIST: sealed
|
||||
// NOTHING_ELSE
|
||||
|
||||
@@ -38,5 +38,6 @@ class B {
|
||||
// EXIST: vararg
|
||||
/*why?*/
|
||||
// EXIST: companion object
|
||||
// EXIST: sealed
|
||||
/*TODO*/
|
||||
// NOTHING_ELSE
|
||||
|
||||
@@ -38,4 +38,5 @@ class A {
|
||||
// EXIST: init
|
||||
/*why?*/
|
||||
// EXIST: companion object
|
||||
// EXIST: sealed
|
||||
// NOTHING_ELSE
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
// EXIST: {"lookupString":"protected","itemText":"protected","attributes":"bold"}
|
||||
// EXIST: {"lookupString":"public","itemText":"public","attributes":"bold"}
|
||||
// EXIST: {"lookupString":"reified","itemText":"reified","attributes":"bold"}
|
||||
// EXIST: {"lookupString":"sealed","itemText":"sealed","attributes":"bold"}
|
||||
// EXIST: {"lookupString":"val","itemText":"val","attributes":"bold"}
|
||||
// EXIST: {"lookupString":"var","itemText":"var","attributes":"bold"}
|
||||
// EXIST: {"lookupString":"vararg","itemText":"vararg","attributes":"bold"}
|
||||
|
||||
@@ -38,5 +38,6 @@ var a : Int
|
||||
// EXIST: vararg
|
||||
/*why?*/
|
||||
// EXIST: companion object
|
||||
// EXIST: sealed
|
||||
/*TODO*/
|
||||
// NOTHING_ELSE
|
||||
|
||||
@@ -36,4 +36,5 @@ public class Test {
|
||||
// EXIST: init
|
||||
/*why?*/
|
||||
// EXIST: companion object
|
||||
// EXIST: sealed
|
||||
// NOTHING_ELSE
|
||||
|
||||
@@ -30,4 +30,5 @@ class TestClass {
|
||||
// EXIST: constructor
|
||||
// EXIST: init
|
||||
// EXIST: companion object
|
||||
// EXIST: sealed
|
||||
// NOTHING_ELSE
|
||||
|
||||
@@ -29,5 +29,6 @@ package Test
|
||||
// EXIST: vararg
|
||||
/*why?*/
|
||||
// EXIST: companion object
|
||||
// EXIST: sealed
|
||||
/*TODO*/
|
||||
// NOTHING_ELSE
|
||||
|
||||
@@ -34,4 +34,5 @@ class Some {
|
||||
// EXIST: constructor
|
||||
// EXIST: init
|
||||
// EXIST: companion object
|
||||
// EXIST: sealed
|
||||
// NOTHING_ELSE
|
||||
|
||||
@@ -34,4 +34,5 @@ class Some {
|
||||
// EXIST: constructor
|
||||
// EXIST: init
|
||||
// EXIST: companion object
|
||||
// EXIST: sealed
|
||||
// NOTHING_ELSE
|
||||
|
||||
@@ -36,4 +36,5 @@ class Some {
|
||||
// EXIST: constructor
|
||||
// EXIST: init
|
||||
// EXIST: companion object
|
||||
// EXIST: sealed
|
||||
// NOTHING_ELSE
|
||||
|
||||
@@ -28,5 +28,6 @@
|
||||
// EXIST: vararg
|
||||
/*why?*/
|
||||
// EXIST: companion object
|
||||
// EXIST: sealed
|
||||
/*TODO*/
|
||||
// NOTHING_ELSE
|
||||
|
||||
Reference in New Issue
Block a user