void (IElementType tokenType, Boolean lConstBoolean, PsiExpression rOperand) { if (!markAndCheckCreateResult()) { return; } if (JavaTokenType.ANDAND == tokenType || JavaTokenType.AND == tokenType) { if (lConstBoolean.booleanValue()) { resultExpression = rOperand; } else if (!SideEffectChecker.mayHaveSideEffects(rOperand)) { resultExpression = falseExpression; } } else if (JavaTokenType.OROR == tokenType || JavaTokenType.OR == tokenType) { if (!lConstBoolean.booleanValue()) { resultExpression = rOperand; } else if (!SideEffectChecker.mayHaveSideEffects(rOperand)) { resultExpression = trueExpression; } } else if (JavaTokenType.EQEQ == tokenType) { simplifyEquation(lConstBoolean, rOperand); } else if (JavaTokenType.NE == tokenType) { PsiPrefixExpression negatedExpression = createNegatedExpression(rOperand); resultExpression = negatedExpression; visitPrefixExpression(negatedExpression); simplifyEquation(lConstBoolean, resultExpression); } }