void (@NotNull DfaValue value, @NotNull PsiExpression expression, @NotNull DfaMemoryState state, PsiExpression anchor) { beforeExpressionPush(value, anchor, state); PsiElement parent = PsiUtil.skipParenthesizedExprUp(anchor.getParent()); if (parent instanceof PsiLambdaExpression) { beforeValueReturn(value, expression, parent, state); } else if (parent instanceof PsiReturnStatement) { PsiParameterListOwner context = PsiTreeUtil.getParentOfType(parent, PsiMethod.class, PsiLambdaExpression.class); if (context != null) { beforeValueReturn(value, expression, context, state); } } else if (anchor instanceof PsiArrayInitializerExpression && parent instanceof PsiNewExpression) { callBeforeExpressionPush(value, expression, state, (PsiExpression)parent); } else if (parent instanceof PsiConditionalExpression && !PsiTreeUtil.isAncestor(((PsiConditionalExpression)parent).getCondition(), anchor, false)) { callBeforeExpressionPush(value, expression, state, (PsiConditionalExpression)parent); } }