diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowInspectionBase.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowInspectionBase.java index 5a901ae4f060..f9850537dc75 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowInspectionBase.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowInspectionBase.java @@ -551,6 +551,11 @@ public class DataFlowInspectionBase extends BaseJavaBatchLocalInspectionTool { for (PsiElement expr : visitor.getProblems(NullabilityProblem.passingNullableArgumentToNonAnnotatedParameter)) { if (reportedAnchors.contains(expr)) continue; + if (expr.getParent() instanceof PsiMethodReferenceExpression) { + holder.registerProblem(expr.getParent(), "Method reference argument might be null but passed to non annotated parameter"); + continue; + } + final String text = isNullLiteralExpression(expr) ? "Passing null argument to non annotated parameter" : "Argument #ref #loc might be null but passed to non annotated parameter"; diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inliner/StreamChainInliner.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inliner/StreamChainInliner.java index a365b9853a0a..7d1663130789 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inliner/StreamChainInliner.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/inliner/StreamChainInliner.java @@ -317,7 +317,7 @@ public class StreamChainInliner implements CallInliner { .chain(firstStep::before) .doWhile() .pushVariable(builder.createTempVariable(inType)) - .push(builder.getFactory().createTypeValue(inType, Nullness.UNKNOWN)) + .push(builder.getFactory().createTypeValue(inType, DfaPsiUtil.getTypeNullability(inType))) .assign() .chain(firstStep::iteration) .endWhileUnknown();