User: rednesto Date: 16 Dec 23 10:35 Revision: 3006f6a7fb3fa1bd2e8365a087e65d9e2d67a7d0 Summary: Fix minecraft-dev/mcdev-error-report#878 'this' is not an identifier TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=8889&personal=false Index: src/main/kotlin/platform/mixin/inspection/injector/InvalidInjectorMethodSignatureInspection.kt =================================================================== --- src/main/kotlin/platform/mixin/inspection/injector/InvalidInjectorMethodSignatureInspection.kt (revision 037123dd707540b7115b02e14eb731fb8dc02e61) +++ src/main/kotlin/platform/mixin/inspection/injector/InvalidInjectorMethodSignatureInspection.kt (revision 3006f6a7fb3fa1bd2e8365a087e65d9e2d67a7d0) @@ -47,11 +47,13 @@ import com.intellij.psi.PsiElementVisitor import com.intellij.psi.PsiMethod import com.intellij.psi.PsiModifier +import com.intellij.psi.PsiNameHelper import com.intellij.psi.PsiParameterList import com.intellij.psi.PsiPrimitiveType import com.intellij.psi.PsiType import com.intellij.psi.codeStyle.JavaCodeStyleManager import com.intellij.psi.codeStyle.VariableKind +import com.intellij.psi.util.PsiUtil import com.intellij.psi.util.TypeConversionUtil import org.objectweb.asm.Opcodes import org.objectweb.asm.tree.AbstractInsnNode @@ -318,13 +320,15 @@ val newParams = expected.flatMapTo(mutableListOf()) { if (it.default) { + val nameHelper = PsiNameHelper.getInstance(project) + val languageLevel = PsiUtil.getLanguageLevel(parameters) it.parameters.mapIndexed { i: Int, p: Parameter -> - JavaPsiFacade.getElementFactory(project).createParameter( - p.name ?: JavaCodeStyleManager.getInstance(project) + val paramName = p.name?.takeIf { name -> nameHelper.isIdentifier(name, languageLevel) } + ?: JavaCodeStyleManager.getInstance(project) .suggestVariableName(VariableKind.PARAMETER, null, null, p.type).names - .firstOrNull() ?: "var$i", - p.type, - ) + .firstOrNull() + ?: "var$i" + JavaPsiFacade.getElementFactory(project).createParameter(paramName, p.type) } } else { emptyList()