mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-08 15:09:39 +07:00
[java] IJ-CR-167924 IDEA-371865 Inspection to convert 'System.out'<->'IO'
(cherry picked from commit 810b99e29ae3b425287263935f242136fdba71c4) (cherry picked from commit 6f3161348217cd7d03e59652be993a7c46468967) IJ-MR-169535 GitOrigin-RevId: 7462eaa2c86626fae801a18622993e6e42a6b6e7
This commit is contained in:
committed by
intellij-monorepo-bot
parent
13a06ddd5f
commit
01c7dc6dd8
@@ -17,6 +17,8 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import static com.intellij.psi.CommonClassNames.JAVA_LANG_IO;
|
||||
|
||||
public final class MigrateToJavaLangIoInspection extends AbstractBaseJavaLocalInspectionTool {
|
||||
|
||||
public boolean processImplicitClasses = true;
|
||||
@@ -125,9 +127,23 @@ public final class MigrateToJavaLangIoInspection extends AbstractBaseJavaLocalIn
|
||||
|
||||
static boolean isSystemOutPrintln(@NotNull PsiMethodCallExpression expression) {
|
||||
if (!PRINT_STREAM_PRINT.test(expression)) return false;
|
||||
if (!isSystemOutCall(expression)) return false;
|
||||
return callIOAndSystemIdentical(expression.getArgumentList());
|
||||
}
|
||||
|
||||
private static boolean isSystemOutCall(@NotNull PsiMethodCallExpression expression) {
|
||||
PsiReferenceExpression methodExpression = expression.getMethodExpression();
|
||||
PsiExpression qualifier = methodExpression.getQualifierExpression();
|
||||
if (!(qualifier instanceof PsiReferenceExpression ref)) return false;
|
||||
PsiElement resolved = ref.resolve();
|
||||
if (!(resolved instanceof PsiField field)) return false;
|
||||
if (!field.getName().equals("out")) return false;
|
||||
PsiClass containingClass = field.getContainingClass();
|
||||
if (containingClass == null) return false;
|
||||
if (!CommonClassNames.JAVA_LANG_SYSTEM.equals(containingClass.getQualifiedName())) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
static boolean callIOAndSystemIdentical(@NotNull PsiExpressionList list) {
|
||||
PsiExpression[] expressions = list.getExpressions();
|
||||
if (expressions.length == 0) return true;
|
||||
|
||||
Reference in New Issue
Block a user