void (@NotNull DfaValue value, @NotNull PsiExpression expression, @NotNull DfaMemoryState state) { if (value instanceof DfaVariableValue && myOkNullChecks.contains(value)) { DfType type = state.getDfType(value); if (type instanceof DfReferenceType && ((DfReferenceType)type).getNullability() == DfaNullability.NOT_NULL) { type = type instanceof DfConstantType ? DfType.TOP : ((DfReferenceType)type).dropNullability(); ((DfaMemoryStateImpl)state).recordVariableType((DfaVariableValue)value, type); } } if (PsiUtil.skipParenthesizedExprUp(expression.getParent()) != expressionToAnalyze) return; ThreeState old = values.get(expression); if (old == ThreeState.UNSURE) return; ThreeState result = ThreeState.UNSURE; Boolean bool = state.getDfType(value).getConstantOfType(Boolean.class); if (bool != null) { result = ThreeState.fromBoolean(bool); } values.put(expression, old == null || old == result ? result : ThreeState.UNSURE); }