Common fix for FINAL_SUPERTYPE and FINAL_UPPER_BOUND errors
This commit is contained in:
committed by
Evgeny Gerashchenko
parent
6e1e495397
commit
a887175f1a
+3
@@ -0,0 +1,3 @@
|
||||
// "Make A open" "true"
|
||||
open class A {}
|
||||
class B : A<caret>() {}
|
||||
+3
@@ -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>> {}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
// "Make A open" "true"
|
||||
trait X {}
|
||||
trait Y {}
|
||||
|
||||
open class A {}
|
||||
class B : X, A<caret>(), Y {}
|
||||
@@ -0,0 +1,5 @@
|
||||
// "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 {}
|
||||
class A : E<caret>() {}
|
||||
@@ -0,0 +1,3 @@
|
||||
// "Make E open" "false"
|
||||
enum class E {}
|
||||
class A<T : E<caret>> {}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
// "Make A open" "true"
|
||||
final class A {}
|
||||
class B : A<caret>() {}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
// "Make A open" "true"
|
||||
final class A {}
|
||||
class B<T : A<caret>> {}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
// "Make String open" "false"
|
||||
// ERROR: This type is final, so it cannot be inherited from
|
||||
class A : String<caret>() {}
|
||||
+2
@@ -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>> {}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
// "Make A open" "true"
|
||||
trait X {}
|
||||
trait Y {}
|
||||
|
||||
class A {}
|
||||
class B : X, A<caret>(), Y {}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
// "Make JavaClass open" "false"
|
||||
// ERROR: This type is final, so it cannot be inherited from
|
||||
import testPackage.*
|
||||
|
||||
class foo : <caret>JavaClass() {}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// "Make JavaClass open" "false"
|
||||
import testPackage.*
|
||||
|
||||
class foo<T : JavaClass>() {}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package testPackage;
|
||||
|
||||
public final class JavaClass {}
|
||||
Reference in New Issue
Block a user