mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
[java-analysis] Parameter nullability: prefer nullability known from type over nullability known from parameter declaration
Type nullability could be more precise if parameter is generic Fixes IDEA-364343 False-positive NPE at unboxing inside lambda with JSpecify annotations (cherry picked from commit 9a49f5687eccaa013e639cdf15950be911e100bc) IJ-CR-151033 GitOrigin-RevId: be6c25b7e63a9d231077351fd0bf813515e7f9bf
This commit is contained in:
committed by
intellij-monorepo-bot
parent
fca9777595
commit
3eea2c8961
@@ -284,12 +284,12 @@ public final class DfaPsiUtil {
|
||||
if (sam != null) {
|
||||
PsiParameter parameter = sam.getParameterList().getParameter(index);
|
||||
if (parameter != null) {
|
||||
Nullability nullability = getElementNullability(null, parameter);
|
||||
if (nullability != Nullability.UNKNOWN) {
|
||||
return nullability;
|
||||
}
|
||||
PsiType parameterType = type.resolveGenerics().getSubstitutor().substitute(parameter.getType());
|
||||
return getTypeNullability(GenericsUtil.eliminateWildcards(parameterType, false, true));
|
||||
NullabilityAnnotationInfo info = getTypeNullabilityInfo(GenericsUtil.eliminateWildcards(parameterType, false, true));
|
||||
if (info != null) {
|
||||
return info.getNullability();
|
||||
}
|
||||
return getElementNullability(null, parameter);
|
||||
}
|
||||
}
|
||||
return Nullability.UNKNOWN;
|
||||
|
||||
Reference in New Issue
Block a user