Allopen: Handle allopen annotations on classes (KT-12149)

This commit is contained in:
Yan Zhulanow
2016-09-29 13:56:14 +03:00
committed by Yan Zhulanow
parent 58f408e173
commit f57df272ac
33 changed files with 815 additions and 36 deletions
@@ -0,0 +1,28 @@
annotation class AllOpen
@AllOpen
abstract class Base_ShouldBeOpen {
fun baseMethod() {}
}
open class BaseImpl : Base_ShouldBeOpen() {
fun baseImplMethod_ShouldBeOpen() {}
}
class BaseImpl2_ShouldBeOpen : BaseImpl() {
fun baseImpl2Method_ShouldBeOpen() {}
val baseImpl2Property_ShouldBeOpen = ""
}
@AllOpen
interface Intf {
fun intfMethod() {}
}
open class IntfImpl : Intf {
fun intfImplMethod_ShouldBeFinal() {}
}
class IntfImpl2_ShouldBeFinalBecauseIntfIsAnInterface : IntfImpl() {
fun intfImpl2Method_ShouldBeFinal() {}
}