< prev index next >

src/jdk/nashorn/internal/parser/Lexer.java

Print this page

        

*** 1040,1054 **** * @param radix Numeric base. * @return Converted number. */ private static Number valueOf(final String valueString, final int radix) throws NumberFormatException { try { ! final long value = Long.parseLong(valueString, radix); ! if(value >= MIN_INT_L && value <= MAX_INT_L) { ! return Integer.valueOf((int)value); ! } ! return Long.valueOf(value); } catch (final NumberFormatException e) { if (radix == 10) { return Double.valueOf(valueString); } --- 1040,1050 ---- * @param radix Numeric base. * @return Converted number. */ private static Number valueOf(final String valueString, final int radix) throws NumberFormatException { try { ! return Integer.parseInt(valueString, radix); } catch (final NumberFormatException e) { if (radix == 10) { return Double.valueOf(valueString); }
*** 1653,1664 **** //and new Color(float, float, float) will get ambiguous for cases like //new Color(1.0, 1.5, 1.5) if we don't respect the decimal point. //yet we don't want e.g. 1e6 to be a double unnecessarily if (JSType.isStrictlyRepresentableAsInt(value)) { return (int)value; - } else if (JSType.isStrictlyRepresentableAsLong(value)) { - return (long)value; } return value; case STRING: return source.getString(start, len); // String case ESCSTRING: --- 1649,1658 ----
< prev index next >