User: joe Date: 20 May 25 13:21 Revision: 0bd63b3e7c473ebd9571f3f7c637cbbba6ede118 Summary: More debug printing for MEExpressionInjector TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=10016&personal=false Index: src/main/kotlin/platform/mixin/expression/MEExpressionCompletionUtil.kt =================================================================== --- src/main/kotlin/platform/mixin/expression/MEExpressionCompletionUtil.kt (revision db621d51f93a4c13fd962d22ac19e3a3641b17ae) +++ src/main/kotlin/platform/mixin/expression/MEExpressionCompletionUtil.kt (revision 0bd63b3e7c473ebd9571f3f7c637cbbba6ede118) @@ -89,6 +89,7 @@ import com.intellij.openapi.command.WriteCommandAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.editor.FoldRegion +import com.intellij.openapi.project.DumbService import com.intellij.openapi.project.Project import com.intellij.patterns.PlatformPatterns import com.intellij.patterns.StandardPatterns @@ -1208,7 +1209,7 @@ id: String, definitionValue: String ): PsiAnnotation? { - if (debugCompletionUnitTest) System.err.println("Here 9, $id") + if (debugCompletionUnitTest) System.err.println("Here 9, $id, ${DumbService.getInstance(project).isDumb}") val injectionHost = contextElement.findMultiInjectionHost() ?: return null if (debugCompletionUnitTest) System.err.println("Here 10") val expressionAnnotation = injectionHost.parentOfType() ?: return null Index: src/main/kotlin/platform/mixin/expression/MEExpressionInjector.kt =================================================================== --- src/main/kotlin/platform/mixin/expression/MEExpressionInjector.kt (revision db621d51f93a4c13fd962d22ac19e3a3641b17ae) +++ src/main/kotlin/platform/mixin/expression/MEExpressionInjector.kt (revision 0bd63b3e7c473ebd9571f3f7c637cbbba6ede118) @@ -80,21 +80,28 @@ } override fun getLanguagesToInject(registrar: MultiHostRegistrar, context: PsiElement) { + if (MEExpressionCompletionUtil.debugCompletionUnitTest) System.err.println("Injector 1") val project = context.project val (anchor, _) = JavaConcatenationToInjectorAdapter(project).computeAnchorAndOperands(context) + if (MEExpressionCompletionUtil.debugCompletionUnitTest) System.err.println("Injector 2 ${anchor.text}") if (!shouldInjectIn(anchor)) { return } + if (MEExpressionCompletionUtil.debugCompletionUnitTest) System.err.println("Injector 3") + if (MEExpressionCompletionUtil.debugCompletionUnitTest) Thread.dumpStack() val modifierList = anchor.findContainingModifierList() ?: return + if (MEExpressionCompletionUtil.debugCompletionUnitTest) System.err.println("Injector 4") val modCount = PsiModificationTracker.getInstance(project).modificationCount val primaryElement = modifierList.getUserData(ME_EXPRESSION_INJECTION) + if (MEExpressionCompletionUtil.debugCompletionUnitTest) System.err.println("Injector 5, $modCount") if (primaryElement != null && primaryElement.modCount == modCount) { METHOD_ADD_TO_RESULTS.invoke(registrar, primaryElement.injectionResult) return } + if (MEExpressionCompletionUtil.debugCompletionUnitTest) System.err.println("Injector 6") // A Frankenstein injection is an injection where we don't know the entire contents, and therefore errors should // not be reported.