Check platform<->impl declaration compatibility
For each platform declaration, there must be at least one impl declaration in the module with the compatible signature; similarly, for each impl declaration, there must be at least one platform declaration with the compatible signature. Note that currently the presence of the 'impl' modifier is not checked yet. Also, the sad fact is that if you have platform and impl declarations which are not compatible, you get two errors: on the platform delcaration and on the impl declaration. This needs to be addressed as well
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
impl interface PClass
|
||||
impl object PInterface
|
||||
impl enum class PObject
|
||||
impl annotation class PEnumClass
|
||||
impl class PAnnotationClass
|
||||
|
||||
private impl object InternalObject
|
||||
internal impl object PublicObject
|
||||
public impl object PrivateObject
|
||||
|
||||
final impl class OpenClass
|
||||
open impl class AbstractClass
|
||||
abstract impl class FinalClass
|
||||
|
||||
// impl class DataClass(val x: Int)
|
||||
impl data class NonDataClass(val x: Int)
|
||||
|
||||
impl class C1<A, Extra>
|
||||
impl class C2<out B>
|
||||
impl class C3<D, E : D?>
|
||||
|
||||
impl typealias C4<F> = C4Impl<F>
|
||||
class C4Impl<F : Number>
|
||||
|
||||
impl abstract class ExtendsNumber : Any()
|
||||
Reference in New Issue
Block a user