New J2K: Make JKType.updateNullability return the same type
This commit is contained in:
committed by
Ilya Kirillov
parent
104cf2eef5
commit
757675c4ca
@@ -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()!!)
|
||||
|
||||
Reference in New Issue
Block a user