mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-158061 ("variable fileToViewProvider too broad" is wrong)
This commit is contained in:
+4
-4
@@ -26,11 +26,8 @@ import com.intellij.util.Query;
|
||||
import com.siyeh.InspectionGadgetsBundle;
|
||||
import com.siyeh.ig.BaseInspection;
|
||||
import com.siyeh.ig.BaseInspectionVisitor;
|
||||
import com.siyeh.ig.psiutils.ClassUtils;
|
||||
import com.siyeh.ig.psiutils.ExpressionUtils;
|
||||
import com.siyeh.ig.psiutils.*;
|
||||
import com.intellij.psi.util.FileTypeUtils;
|
||||
import com.siyeh.ig.psiutils.ParenthesesUtils;
|
||||
import com.siyeh.ig.psiutils.VariableAccessUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -130,6 +127,9 @@ public class TooBroadScopeInspectionBase extends BaseInspection {
|
||||
return false;
|
||||
}
|
||||
final PsiVariable variable = (PsiVariable)target;
|
||||
if (!ClassUtils.isImmutable(variable.getType()) && !CollectionUtils.isEmptyArray(variable)) {
|
||||
return false;
|
||||
}
|
||||
if (variable.hasModifierProperty(PsiModifier.FINAL)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.siyeh.igtest.dataflow.scope;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection; import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
public class TooBroadScope
|
||||
{
|
||||
@@ -141,4 +140,20 @@ public class TooBroadScope
|
||||
System.out.println();
|
||||
System.out.println(yes);
|
||||
}
|
||||
|
||||
private final Map<String, String> important = new HashMap<>();
|
||||
public void processImportant() {
|
||||
final HashMap copy = new HashMap(important);
|
||||
important.clear();
|
||||
System.out.println();
|
||||
System.out.println(copy);
|
||||
}
|
||||
|
||||
private final String[] EMPTY = {};
|
||||
void abc() {
|
||||
String[] <warning descr="Scope of variable 'strings' is too broad">strings</warning> = EMPTY;
|
||||
System.out.println();
|
||||
System.out.println();
|
||||
System.out.println(strings);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user