You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2020/12/02 23:57:22 UTC

[groovy] branch master updated: Trivial refactoring: eliminate duplicated code

This is an automated email from the ASF dual-hosted git repository.

sunlan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/master by this push:
     new 42f547a  Trivial refactoring: eliminate duplicated code
42f547a is described below

commit 42f547a7970fda02eb88d06aec98c0fc6c98c0e4
Author: Daniel Sun <su...@apache.org>
AuthorDate: Thu Dec 3 07:56:15 2020 +0800

    Trivial refactoring: eliminate duplicated code
---
 .../groovy/reflection/stdclasses/BigDecimalCachedClass.java  | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/reflection/stdclasses/BigDecimalCachedClass.java b/src/main/java/org/codehaus/groovy/reflection/stdclasses/BigDecimalCachedClass.java
index 0278205..ce9b941 100644
--- a/src/main/java/org/codehaus/groovy/reflection/stdclasses/BigDecimalCachedClass.java
+++ b/src/main/java/org/codehaus/groovy/reflection/stdclasses/BigDecimalCachedClass.java
@@ -19,9 +19,9 @@
 package org.codehaus.groovy.reflection.stdclasses;
 
 import org.codehaus.groovy.reflection.ClassInfo;
+import org.codehaus.groovy.runtime.typehandling.NumberMath;
 
 import java.math.BigDecimal;
-import java.math.BigInteger;
 
 public class BigDecimalCachedClass extends DoubleCachedClass {
     public BigDecimalCachedClass(Class klazz, ClassInfo classInfo) {
@@ -35,16 +35,8 @@ public class BigDecimalCachedClass extends DoubleCachedClass {
 
     @Override
     public Object coerceArgument(Object argument) {
-        if (argument instanceof BigDecimal) {
-            return argument;
-        } else if (argument instanceof Long) {
-            return new BigDecimal((Long) argument);
-        } else if (argument instanceof BigInteger) {
-            return new BigDecimal((BigInteger) argument);
-        }
-
         if (argument instanceof Number) {
-            return new BigDecimal(((Number) argument).doubleValue());
+            return NumberMath.toBigDecimal((Number) argument);
         }
         return argument;
     }