Generate type-safe barrier in method body

In cases when signature of special bridge is the same as current method,
but type is not 'Any?'.

Also there is tiny optimization:
only null check needed if value parameter type is mapped to Object,
but it's not nullable.

 #KT-9973 Fixed
This commit is contained in:
Denis Zharkov
2015-11-16 13:02:45 +03:00
parent 1f704e0c4d
commit fa99ea1e98
14 changed files with 226 additions and 29 deletions

View File

@@ -23,3 +23,5 @@ abstract class A2 : MutableCollection<String> {
// 1 public final bridge contains\(Ljava/lang/Object;\)Z
// 1 public final bridge remove\(Ljava/lang/Object;\)Z
// 1 INVOKEVIRTUAL A[0-9]\.contains \(Ljava/lang/String;\)Z
/* 2 INSTANCEOF: one for 'remove', one for 'contains' type-safe bridges */
// 2 INSTANCEOF