aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Definitions.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-04-14 14:42:05 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-04-15 11:07:36 +0200
commit0aa3f4cecfff4a2c883a5b814c551f399dc425e1 (patch)
treebd625a14416766af69547e9198a8610999013cef /src/dotty/tools/dotc/core/Definitions.scala
parent2a681ecf7236fb2fdc128f7ab9d5e94d7889fc75 (diff)
downloaddotty-0aa3f4cecfff4a2c883a5b814c551f399dc425e1.tar.gz
dotty-0aa3f4cecfff4a2c883a5b814c551f399dc425e1.tar.bz2
dotty-0aa3f4cecfff4a2c883a5b814c551f399dc425e1.zip
New phase: Nullarify
Eliminates ExprTypes and PolyTypes over value types.
Diffstat (limited to 'src/dotty/tools/dotc/core/Definitions.scala')
-rw-r--r--src/dotty/tools/dotc/core/Definitions.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/src/dotty/tools/dotc/core/Definitions.scala
index 53e8b4d2c..f1c69027e 100644
--- a/src/dotty/tools/dotc/core/Definitions.scala
+++ b/src/dotty/tools/dotc/core/Definitions.scala
@@ -341,6 +341,8 @@ class Definitions {
lazy val AbstractFunctionClass = mkArityArray("scala.runtime.AbstractFunction", MaxFunctionArity, 0)
lazy val FunctionClass = mkArityArray("scala.Function", MaxFunctionArity, 0)
+ lazy val Function0_apply = FunctionClass(0).requiredMethod(nme.apply)
+
lazy val TupleClass = mkArityArray("scala.Tuple", MaxTupleArity, 2)
lazy val ProductNClass = mkArityArray("scala.Product", MaxTupleArity, 2)
@@ -357,6 +359,7 @@ class Definitions {
lazy val asInstanceOfMethods = Set[Symbol](Any_asInstanceOf, Object_asInstanceOf)
lazy val isInstanceOfMethods = Set[Symbol](Any_isInstanceOf, Object_isInstanceOf)
+ lazy val typeTestsOrCasts = asInstanceOfMethods ++ isInstanceOfMethods
lazy val RootImports = List[Symbol](JavaLangPackageVal, ScalaPackageVal, ScalaPredefModule, DottyPredefModule)
@@ -440,7 +443,7 @@ class Definitions {
LongClass,
FloatClass,
DoubleClass)
-
+
lazy val ScalaValueClasses: collection.Set[Symbol] = ScalaNumericValueClasses + UnitClass + BooleanClass
lazy val ScalaBoxedClasses = ScalaValueClasses map boxedClass