summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@epfl.ch>2010-09-09 08:25:47 +0000
committerLukas Rytz <lukas.rytz@epfl.ch>2010-09-09 08:25:47 +0000
commitec7cc94358fc73308b12a468d1671752fad439a0 (patch)
treea555cbbbc4e7a2aeaca9793da5894cb4d6e42940 /src
parent6dfcae30bfcdc93509755185f814c8e318a64012 (diff)
downloadscala-ec7cc94358fc73308b12a468d1671752fad439a0.tar.gz
scala-ec7cc94358fc73308b12a468d1671752fad439a0.tar.bz2
scala-ec7cc94358fc73308b12a468d1671752fad439a0.zip
close #3791 according to jason's proposal.
long cycle (deprecate, remove, add with new behavior). I tried adding Scaladoc for these members but failed for now, see my message in internals.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Definitions.scala21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Definitions.scala b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
index 534cfb566a..a7fbcd7019 100644
--- a/src/compiler/scala/tools/nsc/symtab/Definitions.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
@@ -714,10 +714,15 @@ trait Definitions extends reflect.generic.StandardDefinitions {
List(ByteClass, ShortClass, CharClass, IntClass, LongClass) foreach (x => initValueClass(x, true))
List(FloatClass, DoubleClass) foreach (x => initValueClass(x, false))
- def addModuleMethod(clazz: Symbol, name: Name, value: Any) {
+ def addModuleMethod(clazz: Symbol, name: Name, value: Any) = {
val owner = clazz.linkedClassOfClass
newParameterlessMethod(owner, name, ConstantType(Constant(value)))
}
+ def addDeprecatedModuleMethod(clazz: Symbol, name: Name, value: Any, msg: String) = {
+ val m = addModuleMethod(clazz, name, value)
+ val arg = Literal(Constant(msg))
+ m.addAnnotation(AnnotationInfo(DeprecatedAttr.tpe, List(arg), List()))
+ }
addModuleMethod(ByteClass, "MinValue", java.lang.Byte.MIN_VALUE)
addModuleMethod(ByteClass, "MaxValue", java.lang.Byte.MAX_VALUE)
addModuleMethod(ShortClass, "MinValue", java.lang.Short.MIN_VALUE)
@@ -729,16 +734,22 @@ trait Definitions extends reflect.generic.StandardDefinitions {
addModuleMethod(LongClass, "MinValue", java.lang.Long.MIN_VALUE)
addModuleMethod(LongClass, "MaxValue", java.lang.Long.MAX_VALUE)
- addModuleMethod(FloatClass, "MinValue", -java.lang.Float.MAX_VALUE)
+ addDeprecatedModuleMethod(FloatClass, "MinValue", -java.lang.Float.MAX_VALUE, "use Float.MinNegativeValue instead")
+ addModuleMethod(FloatClass, "MinNegativeValue", -java.lang.Float.MAX_VALUE)
addModuleMethod(FloatClass, "MaxValue", java.lang.Float.MAX_VALUE)
- addModuleMethod(FloatClass, "Epsilon", java.lang.Float.MIN_VALUE)
+ addDeprecatedModuleMethod(FloatClass, "Epsilon", java.lang.Float.MIN_VALUE, "use Float.MinPositiveValue instead")
+ addModuleMethod(FloatClass, "MinPositiveValue", -java.lang.Float.MAX_VALUE)
addModuleMethod(FloatClass, "NaN", java.lang.Float.NaN)
addModuleMethod(FloatClass, "PositiveInfinity", java.lang.Float.POSITIVE_INFINITY)
addModuleMethod(FloatClass, "NegativeInfinity", java.lang.Float.NEGATIVE_INFINITY)
- addModuleMethod(DoubleClass, "MinValue", -java.lang.Double.MAX_VALUE)
+ addDeprecatedModuleMethod(DoubleClass, "MinValue", -java.lang.Double.MAX_VALUE, "use Double.MinNegativeValue instead")
+ addModuleMethod(DoubleClass, "MinNegativeValue", -java.lang.Double.MAX_VALUE)
addModuleMethod(DoubleClass, "MaxValue", java.lang.Double.MAX_VALUE)
- addModuleMethod(DoubleClass, "Epsilon", java.lang.Double.MIN_VALUE)
+ // see #3791. change cycle for `Epsilon`: 1. deprecate, 2. remove, 3. re-introduce as
+ // org.apache.commons.math.util.MathUtils.EPSILON (0x1.0p-53). not sure what to do for float.
+ addDeprecatedModuleMethod(DoubleClass, "Epsilon", java.lang.Double.MIN_VALUE, "use Double.MinPositiveValue instead")
+ addModuleMethod(DoubleClass, "MinPositiveValue", java.lang.Double.MIN_VALUE)
addModuleMethod(DoubleClass, "NaN", java.lang.Double.NaN)
addModuleMethod(DoubleClass, "PositiveInfinity", java.lang.Double.POSITIVE_INFINITY)
addModuleMethod(DoubleClass, "NegativeInfinity", java.lang.Double.NEGATIVE_INFINITY)