mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-20 13:31:28 +07:00
[java-analysis] Fixes in NullableNotNullManager (IJ-CR-4616)
1. NotNull/Nullity annotations 2. Indentation 3. Javadocs 4. findNullityDefaultFiltered extracted GitOrigin-RevId: 73d666ba4e765e3312b99f1f65428023bbf0fc19
This commit is contained in:
committed by
intellij-monorepo-bot
parent
dbac726dc7
commit
6178d87978
@@ -582,10 +582,10 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection
|
||||
}
|
||||
|
||||
/**
|
||||
* @return if owner has a @NotNull or @Nullable annotation,
|
||||
* @return true if owner has a @NotNull or @Nullable annotation,
|
||||
* or is in scope of @ParametersAreNullableByDefault or ParametersAreNonnullByDefault
|
||||
*/
|
||||
private static boolean hasNullability(NullableNotNullManager manager, @NotNull PsiModifierListOwner owner) {
|
||||
private static boolean hasNullability(@NotNull NullableNotNullManager manager, @NotNull PsiModifierListOwner owner) {
|
||||
NullabilityAnnotationInfo info = manager.findEffectiveNullabilityInfo(owner);
|
||||
return info != null && info.getNullability() != Nullability.UNKNOWN && info.getInheritedFrom() == null;
|
||||
}
|
||||
|
||||
@@ -233,9 +233,9 @@ public class AnnotationUtil {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
static AnnotationAndOwner findAnnotationAndOwnerInHierarchy(@NotNull final PsiModifierListOwner listOwner,
|
||||
@NotNull Set<String> annotationNames,
|
||||
boolean skipExternal) {
|
||||
static AnnotationAndOwner findAnnotationAndOwnerInHierarchy(@NotNull PsiModifierListOwner listOwner,
|
||||
@NotNull Set<String> annotationNames,
|
||||
boolean skipExternal) {
|
||||
PsiAnnotation directAnnotation = findAnnotation(listOwner, annotationNames, skipExternal);
|
||||
if (directAnnotation != null) return new AnnotationAndOwner(listOwner, directAnnotation);
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ public class NullabilityAnnotationInfo {
|
||||
return myInheritedFrom;
|
||||
}
|
||||
|
||||
NullabilityAnnotationInfo withInheritedFrom(PsiModifierListOwner owner) {
|
||||
@NotNull NullabilityAnnotationInfo withInheritedFrom(@Nullable PsiModifierListOwner owner) {
|
||||
return new NullabilityAnnotationInfo(myAnnotation, myNullability, owner, myContainer);
|
||||
}
|
||||
|
||||
|
||||
@@ -198,10 +198,8 @@ public abstract class NullableNotNullManager {
|
||||
|
||||
if (!lambdaParameter) {
|
||||
// For lambda parameter, inherited annotation overrides the default one
|
||||
NullabilityAnnotationInfo defaultInfo = findNullityDefaultInHierarchy(owner);
|
||||
if (defaultInfo != null && (defaultInfo.getNullability() == Nullability.NULLABLE || !hasHardcodedContracts(owner))) {
|
||||
return defaultInfo;
|
||||
}
|
||||
NullabilityAnnotationInfo defaultInfo = findNullityDefaultFiltered(owner);
|
||||
if (defaultInfo != null) return defaultInfo;
|
||||
}
|
||||
|
||||
if (owner instanceof PsiParameter) {
|
||||
@@ -221,10 +219,15 @@ public abstract class NullableNotNullManager {
|
||||
}
|
||||
|
||||
if (lambdaParameter) {
|
||||
NullabilityAnnotationInfo defaultInfo = findNullityDefaultInHierarchy(owner);
|
||||
if (defaultInfo != null && (defaultInfo.getNullability() == Nullability.NULLABLE || !hasHardcodedContracts(owner))) {
|
||||
return defaultInfo;
|
||||
}
|
||||
return findNullityDefaultFiltered(owner);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private @Nullable NullabilityAnnotationInfo findNullityDefaultFiltered(@NotNull PsiModifierListOwner owner) {
|
||||
NullabilityAnnotationInfo defaultInfo = findNullityDefaultInHierarchy(owner);
|
||||
if (defaultInfo != null && (defaultInfo.getNullability() == Nullability.NULLABLE || !hasHardcodedContracts(owner))) {
|
||||
return defaultInfo;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user