[java-refactoring] MakeMethodStaticProcessor: handle member classes without qualified name

Fixes EA-1001747 - IOE: BasicJavaParserUtil.parseFragment

GitOrigin-RevId: 472bbc66731a0ed38f1d0fe7c79aa5faa02d1dc1
This commit is contained in:
Tagir Valeev
2024-06-11 11:37:26 +02:00
committed by intellij-monorepo-bot
parent b483d35d43
commit 5ae125edd4

View File

@@ -296,11 +296,14 @@ public class MakeMethodStaticProcessor extends MakeMethodOrClassStaticProcessor<
final PsiClass memberClass = myMember.getContainingClass();
if (instanceRef == null || instanceRef instanceof PsiSuperExpression) {
PsiClass contextClass = PsiTreeUtil.getParentOfType(ref, PsiClass.class);
if (!InheritanceUtil.isInheritorOrSelf(contextClass, memberClass, true)) {
instanceRef = factory.createExpressionFromText(memberClass.getQualifiedName() + ".this", null);
} else {
instanceRef = factory.createExpressionFromText("this", null);
String qualifier = "";
if (memberClass != null && !InheritanceUtil.isInheritorOrSelf(contextClass, memberClass, true)) {
String name = memberClass.getQualifiedName();
if (name != null) {
qualifier = name + ".";
}
}
instanceRef = factory.createExpressionFromText(qualifier + "this", null);
newQualifier = null;
}
else {