DfaRelation (MemoryStateChange change, PsiBinaryExpression binOp) { PsiExpression lOperand = binOp.getLOperand(); PsiExpression rOperand = binOp.getROperand(); MemoryStateChange leftPos = change.findExpressionPush(lOperand); MemoryStateChange rightPos = change.findExpressionPush(rOperand); if (leftPos != null && rightPos != null) { DfaValue leftValue = leftPos.myTopOfStack; DfaValue rightValue = rightPos.myTopOfStack; RelationType type = DfaPsiUtil.getRelationByToken(binOp.getOperationTokenType()); if (type != null) { return DfaRelation.createRelation(leftValue, type, rightValue); } } return null; }