@Nullable
  @Override
  protected PsiType inferNumericType(@NotNull PsiType ltype, @NotNull PsiType rtype, PsiElement e) {
    if (GrBinaryExpressionUtil.isFloatOrDouble(ltype, rtype)) {
      return GrBinaryExpressionUtil.createDouble(e);
    }

    return GrBinaryExpressionUtil.createBigDecimal(e);
  }
@Nullable
  @Override
  protected PsiType inferNumericType(@NotNull PsiType ltype, @NotNull PsiType rtype, PsiElement e)