Common fix for FINAL_SUPERTYPE and FINAL_UPPER_BOUND errors

This commit is contained in:
Wojciech Lopata
2013-02-26 12:59:05 +01:00
committed by Evgeny Gerashchenko
parent 6e1e495397
commit a887175f1a
28 changed files with 142 additions and 108 deletions
@@ -0,0 +1,3 @@
// "Make A open" "true"
open class A {}
class B : A<caret>() {}
@@ -0,0 +1,3 @@
// "Make A open" "true"
open class A {}
class B<T : A<caret>> {}
@@ -0,0 +1,3 @@
// "Make A open" "true"
open class A {}
class B : A<caret>() {}
@@ -0,0 +1,3 @@
// "Make A open" "true"
open class A {}
class B<T : A<caret>> {}
@@ -1,4 +1,4 @@
// "Add 'open' modifier to supertype" "true"
// "Make A open" "true"
trait X {}
trait Y {}
@@ -1,4 +1,4 @@
// "Add 'open' modifier to supertype" "false"
// "Make E open" "false"
// ERROR: This type is final, so it cannot be inherited from
// ERROR: Cannot access '<init>': it is 'private' in 'E'
enum class E {}
@@ -0,0 +1,3 @@
// "Make E open" "false"
enum class E {}
class A<T : E<caret>> {}
@@ -0,0 +1,3 @@
// "Make A open" "true"
final class A {}
class B : A<caret>() {}
@@ -0,0 +1,3 @@
// "Make A open" "true"
final class A {}
class B<T : A<caret>> {}
@@ -1,3 +1,3 @@
// "Add 'open' modifier to supertype" "false"
// "Make String open" "false"
// ERROR: This type is final, so it cannot be inherited from
class A : String<caret>() {}
@@ -0,0 +1,2 @@
// "Make String open" "false"
class A<T : String<caret>> {}
@@ -0,0 +1,3 @@
// "Make A open" "true"
class A {}
class B : A<caret>() {}
@@ -0,0 +1,3 @@
// "Make A open" "true"
final class A {}
class B<T : A<caret>> {}
@@ -1,4 +1,4 @@
// "Add 'open' modifier to supertype" "true"
// "Make A open" "true"
trait X {}
trait Y {}
@@ -1,4 +1,4 @@
// "Add 'open' modifier to supertype" "false"
// "Make JavaClass open" "false"
// ERROR: This type is final, so it cannot be inherited from
import testPackage.*
@@ -0,0 +1,4 @@
// "Make JavaClass open" "false"
import testPackage.*
class foo<T : JavaClass>() {}
@@ -1,3 +0,0 @@
// "Add 'open' modifier to supertype" "true"
open class A {}
class B : A<caret>() {}
@@ -1,3 +0,0 @@
// "Add 'open' modifier to supertype" "true"
open class A {}
class B : A<caret>() {}
@@ -1,3 +0,0 @@
// "Add 'open' modifier to supertype" "true"
final class A {}
class B : A<caret>() {}
@@ -1,3 +0,0 @@
// "Add 'open' modifier to supertype" "true"
class A {}
class B : A<caret>() {}