private Class<?> jitAritmeticExpression(AritmeticExpression aritmeticExpression) {
   if (aritmeticExpression.isStringConcat()) {
     jitStringConcat(aritmeticExpression.left, aritmeticExpression.right);
   } else {
     Class<?> operationType = aritmeticExpression.getType();
     jitExpressionToPrimitiveType(aritmeticExpression.left, operationType);
     jitExpressionToPrimitiveType(
         aritmeticExpression.right,
         aritmeticExpression.operator.isBitwiseOperation() ? int.class : operationType);
     jitAritmeticOperation(operationType, aritmeticExpression.operator);
   }
   return aritmeticExpression.getType();
 }
 private void ensureNotNullInAritmeticExpression(
     AritmeticExpression aritmeticExpression, Label nullArg) {
   if (!aritmeticExpression.isStringConcat()) {
     ensureNotNullArgs(aritmeticExpression.left, nullArg);
     ensureNotNullArgs(aritmeticExpression.right, nullArg);
   }
 }