mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-05-06 05:10:22 +07:00
[java-inspections] SlowAbstractSetRemoveAllInspection: disable warning for CopyOnWriteArraySet qualifier
GitOrigin-RevId: e2d2f76bdf94e61c8dfa2bd874d2d8fd2e613439
This commit is contained in:
committed by
intellij-monorepo-bot
parent
deb9027cac
commit
99007aee1f
@@ -17,6 +17,7 @@ import com.siyeh.ig.callMatcher.CallMatcher;
|
||||
import com.siyeh.ig.psiutils.CommentTracker;
|
||||
import com.siyeh.ig.psiutils.ExpressionUtils;
|
||||
import com.siyeh.ig.psiutils.ParenthesesUtils;
|
||||
import com.siyeh.ig.psiutils.TypeUtils;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -43,6 +44,9 @@ public class SlowAbstractSetRemoveAllInspection extends AbstractBaseJavaLocalIns
|
||||
final TypeConstraint constraint = TypeConstraint.fromDfType(CommonDataflow.getDfType(arg));
|
||||
final PsiType type = constraint.getPsiType(holder.getProject());
|
||||
if (!InheritanceUtil.isInheritor(type, CommonClassNames.JAVA_UTIL_LIST)) return;
|
||||
final TypeConstraint qualifierConstraint = TypeConstraint.fromDfType(CommonDataflow.getDfType(qualifier));
|
||||
final PsiType qualifierType = qualifierConstraint.getPsiType(holder.getProject());
|
||||
if (InheritanceUtil.isInheritor(qualifierType, "java.util.concurrent.CopyOnWriteArraySet")) return;
|
||||
final LongRangeSet setSizeRange = getSizeRangeOfCollection(qualifier);
|
||||
if (setSizeRange.isEmpty() || setSizeRange.max() <= 1) return;
|
||||
final LongRangeSet listSizeRange = getSizeRangeOfCollection(arg);
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
// "Fix all 'Call to 'set.removeAll(list)' may work slowly' problems in file" "false"
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.*;
|
||||
|
||||
class Test {
|
||||
void foo(CopyOnWriteArraySet<Integer> source, List<Integer> removals) {
|
||||
source.removeAll<caret>(removals);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user