summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/backend/MSILPlatform.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/MSILPlatform.scala')
-rw-r--r--src/compiler/scala/tools/nsc/backend/MSILPlatform.scala17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/MSILPlatform.scala b/src/compiler/scala/tools/nsc/backend/MSILPlatform.scala
index 99878cc842..cf3be7c8cd 100644
--- a/src/compiler/scala/tools/nsc/backend/MSILPlatform.scala
+++ b/src/compiler/scala/tools/nsc/backend/MSILPlatform.scala
@@ -8,12 +8,11 @@ package backend
import ch.epfl.lamp.compiler.msil.{ Type => MSILType }
import util.MsilClassPath
-import util.MsilClassPath.MsilContext
-import util.ClassPath.{ isTraitImplementation }
import msil.GenMSIL
trait MSILPlatform extends Platform[MSILType] {
import global._
+ import definitions.{ ComparatorClass, BoxedNumberClass, getMember, getClass }
if (settings.verbose.value)
inform("[AssemRefs = " + settings.assemrefs.value + "]")
@@ -25,19 +24,13 @@ trait MSILPlatform extends Platform[MSILType] {
val runsRightAfter = None
} with GenMSIL
- lazy val classPath: MsilClassPath = {
- val context =
- if (isInlinerOn) new MsilContext
- else new MsilContext {
- override def isValidName(name: String) = !isTraitImplementation(name)
- }
-
- new MsilClassPath(settings.assemextdirs.value, settings.assemrefs.value, settings.sourcepath.value, context)
- }
-
+ lazy val classPath = MsilClassPath.fromSettings(settings)
def rootLoader = new loaders.NamespaceLoader(classPath)
def platformPhases = List(
genMSIL // generate .msil files
)
+
+ lazy val externalEquals = getMember(ComparatorClass.linkedModuleOfClass, nme.equals_)
+ def isMaybeBoxed(sym: Symbol) = sym isNonBottomSubClass BoxedNumberClass
}