diff options
author | Lukas Rytz <lukas.rytz@typesafe.com> | 2016-01-25 13:02:09 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@typesafe.com> | 2016-01-25 13:02:09 +0100 |
commit | 90ee1b871236402f8543bf424a4f38d909598b3a (patch) | |
tree | 6340addb2c5fcbf661a2fabaeffc245e1edd128d /src/reflect | |
parent | 1081e718f8f8e174dbf615e42b157e187d3d3886 (diff) | |
parent | 3dccf0ee22303e1c192ed3e40391df48d811f3f6 (diff) | |
download | scala-90ee1b871236402f8543bf424a4f38d909598b3a.tar.gz scala-90ee1b871236402f8543bf424a4f38d909598b3a.tar.bz2 scala-90ee1b871236402f8543bf424a4f38d909598b3a.zip |
Merge pull request #4858 from lrytz/opt/elimBoxes
Eliminate non-escaping boxes, tuples and refs
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/internal/Definitions.scala | 4 | ||||
-rw-r--r-- | src/reflect/scala/reflect/runtime/JavaUniverseForce.scala | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/internal/Definitions.scala b/src/reflect/scala/reflect/internal/Definitions.scala index d167f1485d..ba6c363918 100644 --- a/src/reflect/scala/reflect/internal/Definitions.scala +++ b/src/reflect/scala/reflect/internal/Definitions.scala @@ -94,6 +94,10 @@ trait Definitions extends api.StandardDefinitions { lazy val refClass = classesMap(x => getRequiredClass("scala.runtime." + x + "Ref")) lazy val volatileRefClass = classesMap(x => getRequiredClass("scala.runtime.Volatile" + x + "Ref")) + lazy val allRefClasses: Set[Symbol] = { + refClass.values.toSet ++ volatileRefClass.values.toSet ++ Set(VolatileObjectRefClass, ObjectRefClass) + } + def isNumericSubClass(sub: Symbol, sup: Symbol) = ( (numericWeight contains sub) && (numericWeight contains sup) diff --git a/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala b/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala index a9b91b5ec3..d6b611a3f4 100644 --- a/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala +++ b/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala @@ -423,6 +423,7 @@ trait JavaUniverseForce { self: runtime.JavaUniverse => definitions.boxedClass definitions.refClass definitions.volatileRefClass + definitions.allRefClasses definitions.UnitClass definitions.ByteClass definitions.ShortClass |