[AllOpen] Reorganize module structure of AllOpen plugin
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
This commit is contained in:
committed by
teamcity
parent
22ebea8174
commit
2a7dc1cc0c
@@ -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_ShouldBeOpen() {}
|
||||
}
|
||||
|
||||
class IntfImpl2_ShouldBeOpen : IntfImpl() {
|
||||
fun intfImpl2Method_ShouldBeOpen() {}
|
||||
}
|
||||
Reference in New Issue
Block a user