Fix compatibility of CapturedTypeConstructor and NewCapturedTypeConstructor

Now both of those classes implements one interface with `TypeProjection`
  property. That allows old captured type approximator use new captured types.

That change fixes tests related to diagnostics:
- SETTER_PROJECTED_OUT
- DEBUG_INFO_UNRESOLVED_WITH_TARGET
- UNRESOLVED_REFERENCE_WRONG_RECEIVER

Also `typeProjection` property renamed to `projection` according to naming in NI.
This commit is contained in:
Dmitriy Novozhilov
2019-01-21 14:53:26 +03:00
parent 42b333f6fd
commit 21f0557502
15 changed files with 53 additions and 48 deletions
@@ -8,7 +8,7 @@ interface Tr<T> {
fun test(t: Tr<*>) {
t.v = null!!
<!OI;SETTER_PROJECTED_OUT!>t.v<!> = ""
<!OI;SETTER_PROJECTED_OUT!>t.v<!> = null
<!SETTER_PROJECTED_OUT!>t.v<!> = ""
<!SETTER_PROJECTED_OUT!>t.v<!> = null
t.v checkType { _<Any?>() }
}