Replace UastEmptyExpression with UastEmptyExpression(null)

This commit is contained in:
Dmitry Gridin
2019-04-17 17:53:59 +07:00
parent 648ed92ba3
commit d7d9771b3c
6 changed files with 11 additions and 11 deletions
@@ -236,7 +236,7 @@ internal object KotlinConverter {
} }
} }
is KtLiteralStringTemplateEntry, is KtEscapeStringTemplateEntry -> el<ULiteralExpression>(build(::KotlinStringULiteralExpression)) is KtLiteralStringTemplateEntry, is KtEscapeStringTemplateEntry -> el<ULiteralExpression>(build(::KotlinStringULiteralExpression))
is KtStringTemplateEntry -> element.expression?.let { convertExpression(it, givenParent, expectedTypes) } ?: expr<UExpression> { UastEmptyExpression } is KtStringTemplateEntry -> element.expression?.let { convertExpression(it, givenParent, expectedTypes) } ?: expr<UExpression> { UastEmptyExpression(null) }
is KtWhenEntry -> el<USwitchClauseExpressionWithBody>(build(::KotlinUSwitchEntry)) is KtWhenEntry -> el<USwitchClauseExpressionWithBody>(build(::KotlinUSwitchEntry))
is KtWhenCondition -> convertWhenCondition(element, givenParent, expectedTypes) is KtWhenCondition -> convertWhenCondition(element, givenParent, expectedTypes)
is KtTypeReference -> el<UTypeReferenceExpression> { LazyKotlinUTypeReferenceExpression(element, givenParent) } is KtTypeReference -> el<UTypeReferenceExpression> { LazyKotlinUTypeReferenceExpression(element, givenParent) }
@@ -381,7 +381,7 @@ internal object KotlinConverter {
KotlinUDeclarationsExpression(givenParent).apply { KotlinUDeclarationsExpression(givenParent).apply {
declarations = listOf(KotlinUClass.create(lightClass, this)) declarations = listOf(KotlinUClass.create(lightClass, this))
} }
} ?: UastEmptyExpression } ?: UastEmptyExpression(null)
} }
is KtFunction -> if (expression.name.isNullOrEmpty()) { is KtFunction -> if (expression.name.isNullOrEmpty()) {
expr<ULambdaExpression>(build(::createLocalFunctionLambdaExpression)) expr<ULambdaExpression>(build(::createLocalFunctionLambdaExpression))
@@ -427,7 +427,7 @@ internal object KotlinConverter {
is KtWhenConditionWithExpression -> is KtWhenConditionWithExpression ->
condition.expression?.let { KotlinConverter.convertExpression(it, givenParent, requiredType) } condition.expression?.let { KotlinConverter.convertExpression(it, givenParent, requiredType) }
else -> expr<UExpression> { UastEmptyExpression } else -> expr<UExpression> { UastEmptyExpression(null) }
} }
} }
} }
@@ -614,7 +614,7 @@ internal object KotlinConverter {
internal fun convertOrEmpty(expression: KtExpression?, parent: UElement?): UExpression { internal fun convertOrEmpty(expression: KtExpression?, parent: UElement?): UExpression {
return expression?.let { convertExpression(it, parent, DEFAULT_EXPRESSION_TYPES_LIST) } ?: UastEmptyExpression return expression?.let { convertExpression(it, parent, DEFAULT_EXPRESSION_TYPES_LIST) } ?: UastEmptyExpression(null)
} }
internal fun convertOrNull(expression: KtExpression?, parent: UElement?): UExpression? { internal fun convertOrNull(expression: KtExpression?, parent: UElement?): UExpression? {
@@ -59,7 +59,7 @@ abstract class AbstractKotlinUVariable(givenParent: UElement?) : KotlinAbstractU
} }
else -> null else -> null
} ?: return null } ?: return null
return getLanguagePlugin().convertElement(initializerExpression, this) as? UExpression ?: UastEmptyExpression return getLanguagePlugin().convertElement(initializerExpression, this) as? UExpression ?: UastEmptyExpression(null)
} }
val delegateExpression: UExpression? by lz { val delegateExpression: UExpression? by lz {
@@ -149,7 +149,7 @@ abstract class AbstractKotlinUVariable(givenParent: UElement?) : KotlinAbstractU
} }
private fun toUExpression(psi: PsiElement?): UExpression = psi.toUElementOfType<UExpression>() ?: UastEmptyExpression private fun toUExpression(psi: PsiElement?): UExpression = psi.toUElementOfType<UExpression>() ?: UastEmptyExpression(null)
class KotlinUVariable( class KotlinUVariable(
psi: PsiVariable, psi: PsiVariable,
@@ -78,8 +78,8 @@ private fun createElvisExpressions(
} }
fun createElvisExpression(elvisExpression: KtBinaryExpression, givenParent: UElement?): UExpression { fun createElvisExpression(elvisExpression: KtBinaryExpression, givenParent: UElement?): UExpression {
val left = elvisExpression.left ?: return UastEmptyExpression val left = elvisExpression.left ?: return UastEmptyExpression(null)
val right = elvisExpression.right ?: return UastEmptyExpression val right = elvisExpression.right ?: return UastEmptyExpression(null)
return KotlinUElvisExpression(elvisExpression, left, right, givenParent) return KotlinUElvisExpression(elvisExpression, left, right, givenParent)
} }
@@ -42,7 +42,7 @@ class KotlinUBlockExpression(
fun create(initializers: List<KtAnonymousInitializer>, uastParent: UElement): UBlockExpression { fun create(initializers: List<KtAnonymousInitializer>, uastParent: UElement): UBlockExpression {
val languagePlugin = uastParent.getLanguagePlugin() val languagePlugin = uastParent.getLanguagePlugin()
return KotlinLazyUBlockExpression(uastParent) { expressionParent -> return KotlinLazyUBlockExpression(uastParent) { expressionParent ->
initializers.map { languagePlugin.convertOpt<UExpression>(it.body, expressionParent) ?: UastEmptyExpression } initializers.map { languagePlugin.convertOpt<UExpression>(it.body, expressionParent) ?: UastEmptyExpression(null) }
} }
} }
} }
@@ -68,7 +68,7 @@ class KotlinUVarargExpression(
valueArgs.map { valueArgs.map {
it.getArgumentExpression()?.let { argumentExpression -> it.getArgumentExpression()?.let { argumentExpression ->
getLanguagePlugin().convert<UExpression>(argumentExpression, this) getLanguagePlugin().convert<UExpression>(argumentExpression, this)
} ?: UastEmptyExpression } ?: UastEmptyExpression(null)
} }
} }
@@ -54,7 +54,7 @@ class KotlinUSwitchEntry(
givenParent: UElement? givenParent: UElement?
) : KotlinAbstractUExpression(givenParent), USwitchClauseExpressionWithBody { ) : KotlinAbstractUExpression(givenParent), USwitchClauseExpressionWithBody {
override val caseValues by lz { override val caseValues by lz {
psi.conditions.map { KotlinConverter.convertWhenCondition(it, this, DEFAULT_EXPRESSION_TYPES_LIST) ?: UastEmptyExpression } psi.conditions.map { KotlinConverter.convertWhenCondition(it, this, DEFAULT_EXPRESSION_TYPES_LIST) ?: UastEmptyExpression(null) }
} }
override val body: UExpressionList by lz { override val body: UExpressionList by lz {