summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-04-15 21:58:47 +0000
committerPaul Phillips <paulp@improving.org>2010-04-15 21:58:47 +0000
commit41860ffcf7b29f8857b21ec5559f0a9ef9d0e96f (patch)
treeb4187960c0ed304b4eb274f7ac681c008a3463a0 /src/library
parent4fb3473182262b7cce33406ba7d0701e6622e3c3 (diff)
downloadscala-41860ffcf7b29f8857b21ec5559f0a9ef9d0e96f.tar.gz
scala-41860ffcf7b29f8857b21ec5559f0a9ef9d0e96f.tar.bz2
scala-41860ffcf7b29f8857b21ec5559f0a9ef9d0e96f.zip
Initialization ordering issue in BigDecimal.
be slipping by because -Xcheckinit doesn't work since specialization began.) No review.
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/math/BigDecimal.scala21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/library/scala/math/BigDecimal.scala b/src/library/scala/math/BigDecimal.scala
index c4cccd1f52..67604e8b78 100644
--- a/src/library/scala/math/BigDecimal.scala
+++ b/src/library/scala/math/BigDecimal.scala
@@ -19,24 +19,23 @@ import scala.collection.immutable.NumericRange
* @version 1.0
* @since 2.7
*/
-object BigDecimal
-{
- @serializable
- object RoundingMode extends Enumeration(java.math.RoundingMode.values map (_.toString) : _*) {
- type RoundingMode = Value
- val UP, DOWN, CEILING, FLOOR, HALF_UP, HALF_DOWN, HALF_EVEN, UNNECESSARY = Value
- }
-
+object BigDecimal {
private val minCached = -512
private val maxCached = 512
- val MinLong = BigDecimal(Long.MinValue)
- val MaxLong = BigDecimal(Long.MaxValue)
+ val defaultMathContext = MathContext.UNLIMITED
+
+ val MinLong = new BigDecimal(BigDec valueOf Long.MinValue, defaultMathContext)
+ val MaxLong = new BigDecimal(BigDec valueOf Long.MaxValue, defaultMathContext)
/** Cache ony for defaultMathContext using BigDecimals in a small range. */
private lazy val cache = new Array[BigDecimal](maxCached - minCached + 1)
- val defaultMathContext = MathContext.UNLIMITED
+ @serializable
+ object RoundingMode extends Enumeration(java.math.RoundingMode.values map (_.toString) : _*) {
+ type RoundingMode = Value
+ val UP, DOWN, CEILING, FLOOR, HALF_UP, HALF_DOWN, HALF_EVEN, UNNECESSARY = Value
+ }
/** Constructs a <code>BigDecimal</code> using the java BigDecimal static
* valueOf constructor.