User: rednesto Date: 10 Jan 24 15:38 Revision: bb8b39bf7b16f88a18cdd918c42c99ba4533332b Summary: Simplify PsiType creation TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=8971&personal=false Index: src/main/kotlin/platform/mixin/handlers/mixinextras/WrapOperationHandler.kt =================================================================== --- src/main/kotlin/platform/mixin/handlers/mixinextras/WrapOperationHandler.kt (revision 24042da8f456a464141d43f92dba75c2b0f23c07) +++ src/main/kotlin/platform/mixin/handlers/mixinextras/WrapOperationHandler.kt (revision bb8b39bf7b16f88a18cdd918c42c99ba4533332b) @@ -21,14 +21,13 @@ package com.demonwav.mcdev.platform.mixin.handlers.mixinextras import com.demonwav.mcdev.platform.mixin.inspection.injector.ParameterGroup -import com.demonwav.mcdev.platform.mixin.util.MixinConstants +import com.demonwav.mcdev.platform.mixin.util.MixinConstants.MixinExtras.OPERATION import com.demonwav.mcdev.util.Parameter import com.intellij.psi.JavaPsiFacade import com.intellij.psi.PsiAnnotation import com.intellij.psi.PsiElement import com.intellij.psi.PsiPrimitiveType import com.intellij.psi.PsiType -import com.intellij.psi.search.GlobalSearchScope import org.objectweb.asm.tree.AbstractInsnNode import org.objectweb.asm.tree.ClassNode import org.objectweb.asm.tree.MethodNode @@ -64,9 +63,8 @@ } else { type } - val psiClass = JavaPsiFacade.getInstance(project) - .findClass(MixinConstants.MixinExtras.OPERATION, GlobalSearchScope.allScope(project)) - ?: return null - return JavaPsiFacade.getElementFactory(project).createType(psiClass, boxedType) + + return JavaPsiFacade.getElementFactory(project) + .createTypeFromText("$OPERATION<${boxedType.canonicalText}>", context) } } Index: src/main/kotlin/platform/mixin/util/Mixin.kt =================================================================== --- src/main/kotlin/platform/mixin/util/Mixin.kt (revision 24042da8f456a464141d43f92dba75c2b0f23c07) +++ src/main/kotlin/platform/mixin/util/Mixin.kt (revision bb8b39bf7b16f88a18cdd918c42c99ba4533332b) @@ -150,11 +150,8 @@ returnType } - // TODO: Can we do this without looking up the PsiClass? - val psiClass = - JavaPsiFacade.getInstance(project).findClass(CALLBACK_INFO_RETURNABLE, GlobalSearchScope.allScope(project)) - ?: return null - return JavaPsiFacade.getElementFactory(project).createType(psiClass, boxedType) + return JavaPsiFacade.getElementFactory(project) + .createTypeFromText("$CALLBACK_INFO_RETURNABLE<${boxedType.canonicalText}>", context) } fun isAssignable(left: PsiType, right: PsiType, allowPrimitiveConversion: Boolean = true): Boolean {