User: rednesto Date: 16 Jul 23 14:40 Revision: ea427f844a94df607d0f355fb932e40f98814406 Summary: Do not cast to PsiLiteralExpression Created expressions aren't always PsiLiteralExpression Fixes minecraft-dev/mcdev-error-report#218 TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=8634&personal=false Index: src/main/kotlin/util/psi-utils.kt =================================================================== --- src/main/kotlin/util/psi-utils.kt (revision 9ea1e404264046b08ea70b0d09e70fd1b70edff1) +++ src/main/kotlin/util/psi-utils.kt (revision ea427f844a94df607d0f355fb932e40f98814406) @@ -42,9 +42,9 @@ import com.intellij.psi.PsiElementFactory import com.intellij.psi.PsiElementResolveResult import com.intellij.psi.PsiEllipsisType +import com.intellij.psi.PsiExpression import com.intellij.psi.PsiFile import com.intellij.psi.PsiKeyword -import com.intellij.psi.PsiLiteralExpression import com.intellij.psi.PsiMember import com.intellij.psi.PsiMethod import com.intellij.psi.PsiMethodReferenceExpression @@ -282,7 +282,7 @@ val PsiClass.psiType: PsiType get() = PsiTypesUtil.getClassType(this) -fun PsiElementFactory.createLiteralExpression(constant: Any?): PsiLiteralExpression { +fun PsiElementFactory.createLiteralExpression(constant: Any?): PsiExpression { return when (constant) { null -> createExpressionFromText("null", null) is Boolean, is Double, is Int -> createExpressionFromText(constant.toString(), null) @@ -292,5 +292,5 @@ is String -> createExpressionFromText("\"${StringUtil.escapeStringCharacters(constant)}\"", null) else -> throw IncorrectOperationException("Unsupported literal type: ${constant.javaClass.name}") - } as PsiLiteralExpression -} + } +}