New J2K: Make JKType.updateNullability return the same type

This commit is contained in:
Ilya Kirillov
2018-12-18 14:46:47 +03:00
committed by Ilya Kirillov
parent 104cf2eef5
commit 757675c4ca
2 changed files with 3 additions and 3 deletions
@@ -35,7 +35,7 @@ interface JKClassBody : JKTreeElement, JKBranchElement {
interface JKEmptyClassBody : JKClassBody
interface JKJavaNewExpression : JKExpression, JKTypeArgumentListOwner {
interface JKJavaNewExpression : JKExpression, JKTypeArgumentListOwner, PsiOwner {
val classSymbol: JKClassSymbol
var arguments: JKExpressionList
var classBody: JKClassBody
@@ -146,7 +146,7 @@ fun JKClassSymbol.toKtType(symbolProvider: JKSymbolProvider): KotlinType {
return classDescriptor.defaultType
}
fun JKType.updateNullability(newNullability: Nullability): JKType =
inline fun <reified T : JKType> T.updateNullability(newNullability: Nullability): T =
if (nullability == newNullability) this
else when (this) {
is JKTypeParameterTypeImpl -> JKTypeParameterTypeImpl(name, newNullability)
@@ -157,7 +157,7 @@ fun JKType.updateNullability(newNullability: Nullability): JKType =
is JKJavaPrimitiveType -> this
is JKJavaArrayType -> JKJavaArrayTypeImpl(type, newNullability)
else -> TODO(this::class.toString())
}
} as T
fun JKJavaMethod.returnTypeNullability(context: ConversionContext): Nullability =
context.typeFlavorCalculator.methodNullability(psi()!!)