void (@NotNull PsiPostfixExpression expression) { if (expression.getType() == null) { throw evaluateException(JavaDebuggerBundle.message("evaluation.error.unknown.expression.type", expression.getText())); } final PsiExpression operandExpression = expression.getOperand(); operandExpression.accept(this); final Evaluator operandEvaluator = myResult; final IElementType operation = expression.getOperationTokenType(); final PsiType operandType = operandExpression.getType(); @Nullable final PsiType unboxedOperandType = PsiPrimitiveType.getUnboxedType(operandType); Evaluator incrementImpl = createBinaryEvaluator( operandEvaluator, operandType, new LiteralEvaluator(1, "int"), PsiTypes.intType(), operation == JavaTokenType.PLUSPLUS ? JavaTokenType.PLUS : JavaTokenType.MINUS, unboxedOperandType != null ? unboxedOperandType : operandType ); if (unboxedOperandType != null) { incrementImpl = new BoxingEvaluator(incrementImpl); } myResult = new PostfixOperationEvaluator(operandEvaluator, incrementImpl); }