void (Map<JavaDfaAnchor, DataflowPoint> data, JavaDfaAnchor anchor, DfaMemoryState memState, DfaValue value) { DataflowPoint point = data.computeIfAbsent(anchor, e -> new DataflowPoint()); if (DfaTypeValue.isContractFail(value)) { point.myMayFailByContract = true; return; } if (point.myDfType != DfType.TOP && anchor instanceof JavaExpressionAnchor) { PsiExpression expression = ((JavaExpressionAnchor)anchor).getExpression(); PsiElement parent = PsiUtil.skipParenthesizedExprUp(expression.getParent()); if (parent instanceof PsiConditionalExpression && !PsiTreeUtil.isAncestor(((PsiConditionalExpression)parent).getCondition(), expression, false)) { add(new JavaExpressionAnchor((PsiExpression)parent), memState, value); } } point.addFacts(memState, value); point.addValue(memState, value); }