2a7dc1cc0c
This scheme will be common for all compiler plugins with K1 and K2 support: - `plugin-common` contains classes shared with K1 and K2 implementations (if any) - `plugin-k1` contains implementation for K1 compiler - `plugin-k2` contains implementation for K2 compiler - `plugin-backend` contains implementation for backend extensions (if any) - `plugin-cli` is module for registration of plugin in CLI compiler - `plugin` is a root module with tests and all submodules embedded This structure is needed to distinguish parts related to different frontends, which is needed for proper dependencies settings for Kotlin IDE plugins
28 lines
531 B
Kotlin
Vendored
28 lines
531 B
Kotlin
Vendored
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_ShouldBeOpen() {}
|
|
}
|
|
|
|
class IntfImpl2_ShouldBeOpen : IntfImpl() {
|
|
fun intfImpl2Method_ShouldBeOpen() {}
|
|
} |