Improve diagnostics on header/impl classes when scopes don't match
Try to report most of the errors on the actual members of the impl class. In many cases, there's a 1:1 mapping of header to impl class members, so the error "some members are not implemented" on the class declaration itself is redundant. Exceptions include functions/properties from supertypes (there may be no other place to report a signature mismatch error in this case), functions/properties not marked with 'impl' (the checker is only run for declarations explicitly marked with 'impl') and default constructors (the checker is not run for them) #KT-18447 Fixed
This commit is contained in:
@@ -11,7 +11,7 @@ The following declaration is incompatible because parameter types are different:
|
||||
|
||||
header fun g(s: String)
|
||||
^
|
||||
compiler/testData/multiplatform/missingOverload/jvm.kt:1:12: error: 'impl' class 'Foo' has no implementations of 'header' class members:
|
||||
compiler/testData/multiplatform/missingOverload/jvm.kt:1:12: error: 'impl' class 'Foo' has no implementation of 'header' class members:
|
||||
|
||||
public final header fun f(a: Any): Unit
|
||||
|
||||
|
||||
Reference in New Issue
Block a user