diff options
author | Paul Phillips <paulp@improving.org> | 2010-11-30 17:13:52 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-11-30 17:13:52 +0000 |
commit | 81f38907b838caa64d26b4ea49efe938a3d0673f (patch) | |
tree | 06d272e24be36f359be3ea8b788491f0f26c30fd /src/compiler/scala/tools/nsc/symtab/Definitions.scala | |
parent | 4be5e11cccace4974ed9a449052455392570139f (diff) | |
download | scala-81f38907b838caa64d26b4ea49efe938a3d0673f.tar.gz scala-81f38907b838caa64d26b4ea49efe938a3d0673f.tar.bz2 scala-81f38907b838caa64d26b4ea49efe938a3d0673f.zip |
Found several minor thigns wrong with checkSens...
Found several minor thigns wrong with checkSensible, which tries to
issue warnings for comparisons which will always be true or false. No
review.
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/Definitions.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/Definitions.scala | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Definitions.scala b/src/compiler/scala/tools/nsc/symtab/Definitions.scala index 5a4fa51899..12a91a2a8c 100644 --- a/src/compiler/scala/tools/nsc/symtab/Definitions.scala +++ b/src/compiler/scala/tools/nsc/symtab/Definitions.scala @@ -801,11 +801,17 @@ trait Definitions extends reflect.generic.StandardDefinitions { def isValueClass(sym: Symbol): Boolean = (sym eq UnitClass) || (boxedClass contains sym) + /** If symbol is a value class or a boxed value class, return the value class: otherwise NoSymbol. */ + def unboxedValueClass(sym: Symbol): Symbol = + if (isValueClass(sym)) sym + else if (sym == BoxedUnitClass) sym + else boxedClass.map(_.swap).getOrElse(sym, NoSymbol) + /** Is symbol a numeric value class? */ def isNumericValueClass(sym: Symbol): Boolean = numericWeight contains sym - /** Is symbol a numeric value class? */ + /** Is type's symbol a numeric value class? */ def isNumericValueType(tp: Type): Boolean = tp match { case TypeRef(_, sym, _) => isNumericValueClass(sym) case _ => false |