User: joe Date: 09 May 25 10:35 Revision: e5e74064a776186dd18004bbfaabf74979edaca1 Summary: Move away from reflection to call ByteCodeViewerManager.loadClassFileBytes TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=9987&personal=false Index: src/main/kotlin/platform/mixin/util/AsmUtil.kt =================================================================== --- src/main/kotlin/platform/mixin/util/AsmUtil.kt (revision 72dcdc9a61be940a534faefe088cc584362a7c53) +++ src/main/kotlin/platform/mixin/util/AsmUtil.kt (revision e5e74064a776186dd18004bbfaabf74979edaca1) @@ -39,6 +39,7 @@ import com.demonwav.mcdev.util.mapToArray import com.demonwav.mcdev.util.realName import com.demonwav.mcdev.util.toJavaIdentifier +import com.intellij.byteCodeViewer.ByteCodeViewerManager import com.intellij.codeEditor.JavaEditorFileSwapper import com.intellij.ide.highlighter.JavaFileType import com.intellij.openapi.module.Module @@ -86,7 +87,6 @@ import java.io.PrintWriter import java.io.StringWriter import java.lang.reflect.InvocationTargetException -import java.lang.reflect.Method import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.ConcurrentMap import org.objectweb.asm.ClassReader @@ -183,12 +183,6 @@ val ClassNode.shortName get() = internalNameToShortName(name) -private val LOAD_CLASS_FILE_BYTES: Method? = runCatching { - com.intellij.byteCodeViewer.ByteCodeViewerManager::class.java - .getDeclaredMethod("loadClassFileBytes", PsiClass::class.java) - .let { it.isAccessible = true; it } -}.getOrNull() - private val INNER_CLASS_NODES_KEY = Key.create>>("mcdev.innerClassNodes") /** @@ -224,7 +218,7 @@ fun findClassNodeByPsiClass(psiClass: PsiClass, module: Module? = psiClass.findModule()): ClassNode? { return psiClass.lockedCached(NODE_BY_PSI_CLASS_KEY) { try { - val bytes = LOAD_CLASS_FILE_BYTES?.invoke(null, psiClass) as? ByteArray + val bytes = ByteCodeViewerManager.loadClassFileBytes(psiClass) if (bytes == null) { // find compiler output if (module == null) return@lockedCached null