mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Allow for Collections and Maps in non-internal mode
GitOrigin-RevId: a3ddd348eb7e2ff50ea4d7c51c6beaf5a2127d97
This commit is contained in:
committed by
intellij-monorepo-bot
parent
48b498ec70
commit
a7149e200a
+8
-5
@@ -2,11 +2,13 @@
|
||||
package com.intellij.codeInsight.externalAnnotation;
|
||||
|
||||
import com.intellij.codeInspection.dataFlow.Mutability;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.CommonClassNames;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.PsiModifierListOwner;
|
||||
import com.siyeh.ig.psiutils.ClassUtils;
|
||||
import com.intellij.psi.util.InheritanceUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class UnmodifiableAnnotationProvider implements AnnotationProvider {
|
||||
@@ -19,9 +21,10 @@ public class UnmodifiableAnnotationProvider implements AnnotationProvider {
|
||||
|
||||
@Override
|
||||
public boolean isAvailable(PsiModifierListOwner owner) {
|
||||
return ApplicationManager.getApplication().isInternal() &&
|
||||
owner instanceof PsiMethod &&
|
||||
!ClassUtils.isImmutable(((PsiMethod)owner).getReturnType());
|
||||
if (!(owner instanceof PsiMethod)) return false;
|
||||
PsiClass returnClass = PsiUtil.resolveClassInClassTypeOnly(((PsiMethod)owner).getReturnType());
|
||||
return InheritanceUtil.isInheritor(returnClass, CommonClassNames.JAVA_UTIL_COLLECTION) ||
|
||||
InheritanceUtil.isInheritor(returnClass, CommonClassNames.JAVA_UTIL_MAP);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+8
-5
@@ -2,11 +2,13 @@
|
||||
package com.intellij.codeInsight.externalAnnotation;
|
||||
|
||||
import com.intellij.codeInspection.dataFlow.Mutability;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.CommonClassNames;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.PsiModifierListOwner;
|
||||
import com.siyeh.ig.psiutils.ClassUtils;
|
||||
import com.intellij.psi.util.InheritanceUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class UnmodifiableViewAnnotationProvider implements AnnotationProvider {
|
||||
@@ -19,9 +21,10 @@ public class UnmodifiableViewAnnotationProvider implements AnnotationProvider {
|
||||
|
||||
@Override
|
||||
public boolean isAvailable(PsiModifierListOwner owner) {
|
||||
return ApplicationManager.getApplication().isInternal() &&
|
||||
owner instanceof PsiMethod &&
|
||||
!ClassUtils.isImmutable(((PsiMethod)owner).getReturnType());
|
||||
if (!(owner instanceof PsiMethod)) return false;
|
||||
PsiClass returnClass = PsiUtil.resolveClassInClassTypeOnly(((PsiMethod)owner).getReturnType());
|
||||
return InheritanceUtil.isInheritor(returnClass, CommonClassNames.JAVA_UTIL_COLLECTION) ||
|
||||
InheritanceUtil.isInheritor(returnClass, CommonClassNames.JAVA_UTIL_MAP);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user