Refine type from property setter parameter on assignment

In most cases these types are equals, the only known exception is
var-property contained in projected type member scope (see test data)
This commit is contained in:
Denis Zharkov
2015-12-22 14:40:57 +03:00
parent e2c02f825f
commit 9773e98d8a
5 changed files with 48 additions and 16 deletions
@@ -6,6 +6,8 @@ interface Tr<T> {
}
fun test(t: Tr<*>) {
t.<!SETTER_PROJECTED_OUT!>v<!> = null!!
t.v = null!!
t.v = <!TYPE_MISMATCH!>""<!>
t.v = <!NULL_FOR_NONNULL_TYPE!>null<!>
t.v checkType { _<Any?>() }
}