Add CodegenUtil.isNullableType(), fix assertions

JetType.isNullable() is not accurate when the type denotes a type parameter:
a parameter can be not null (isNullable=false), but its upper bound can be
nullable (<T: Any?>), so null may appear in the value of such type. Therefore
it's preferred to use a special check (isNullableType()) in codegen from now on

Do not generate assertion for parameters of not-null types which have a
nullable upper bound + the same with Java method calls

Also fix Intrinsics class internal name in tests

 #KT-3313 Fixed
This commit is contained in:
Alexander Udalov
2013-02-05 18:54:19 +04:00
parent b6870b4bba
commit 1f4dd8cd33
7 changed files with 53 additions and 5 deletions
@@ -0,0 +1,3 @@
fun foo<T>(a: List<T>) {
val t: T = a.get(0)
}