aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Definitions.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-08-11 10:42:41 +0200
committerMartin Odersky <odersky@gmail.com>2014-08-11 10:43:11 +0200
commit98d258399767fa0577ba243cd7301878ec995508 (patch)
tree0cc89f0f39a2ccea1f81f8be112ef9a8fd8326c5 /src/dotty/tools/dotc/core/Definitions.scala
parentc7f817f80d7a07c5d3a15eac03e4520097d81ecb (diff)
downloaddotty-98d258399767fa0577ba243cd7301878ec995508.tar.gz
dotty-98d258399767fa0577ba243cd7301878ec995508.tar.bz2
dotty-98d258399767fa0577ba243cd7301878ec995508.zip
New methods in Definitions
Also renamed Boolean_and/or to _&&/||, to make it conform to naming convention for other Definition operators.
Diffstat (limited to 'src/dotty/tools/dotc/core/Definitions.scala')
-rw-r--r--src/dotty/tools/dotc/core/Definitions.scala20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/src/dotty/tools/dotc/core/Definitions.scala
index e1808b181..123e6e671 100644
--- a/src/dotty/tools/dotc/core/Definitions.scala
+++ b/src/dotty/tools/dotc/core/Definitions.scala
@@ -181,8 +181,17 @@ class Definitions {
lazy val ScalaPredefModule = ctx.requiredModule("scala.Predef")
lazy val ScalaRuntimeModule = ctx.requiredModule("scala.runtime.ScalaRunTime")
- lazy val BoxesRunTimeModule = ctx.requiredModule("scala.runtime.BoxesRunTime")
- lazy val BoxesRunTimeClass = BoxesRunTimeModule.moduleClass
+ lazy val ScalaRuntimeClass = ScalaRuntimeModule.moduleClass.asClass
+
+ def runtimeMethod(name: PreName) = ctx.requiredMethod(ScalaRuntimeClass, name)
+
+ lazy val BoxesRunTimeModule = ctx.requiredModule("scala.runtime.BoxesRunTime")
+ lazy val BoxesRunTimeClass = BoxesRunTimeModule.moduleClass.asClass
+ lazy val ScalaStaticsModule = ctx.requiredModule("scala.runtime.Statics")
+ lazy val ScalaStaticsClass = ScalaStaticsModule.moduleClass.asClass
+
+ def staticsMethod(name: PreName) = ctx.requiredMethod(ScalaStaticsClass, name)
+
lazy val DottyPredefModule = ctx.requiredModule("dotty.DottyPredef")
lazy val NilModule = ctx.requiredModule("scala.collection.immutable.Nil")
lazy val PredefConformsClass = ctx.requiredClass("scala.Predef." + tpnme.Conforms)
@@ -204,8 +213,8 @@ class Definitions {
lazy val UnitClass = valueClassSymbol("scala.Unit", BoxedUnitClass, java.lang.Void.TYPE, UnitEnc)
lazy val BooleanClass = valueClassSymbol("scala.Boolean", BoxedBooleanClass, java.lang.Boolean.TYPE, BooleanEnc)
lazy val Boolean_! = BooleanClass.requiredMethod(nme.UNARY_!)
- lazy val Boolean_and = BooleanClass.requiredMethod(nme.ZAND)
- lazy val Boolean_or = BooleanClass.requiredMethod(nme.ZOR)
+ lazy val Boolean_&& = BooleanClass.requiredMethod(nme.ZAND)
+ lazy val Boolean_|| = BooleanClass.requiredMethod(nme.ZOR)
lazy val ByteClass = valueClassSymbol("scala.Byte", BoxedByteClass, java.lang.Byte.TYPE, ByteEnc)
lazy val ShortClass = valueClassSymbol("scala.Short", BoxedShortClass, java.lang.Short.TYPE, ShortEnc)
@@ -273,6 +282,9 @@ class Definitions {
lazy val JavaSerializableClass = ctx.requiredClass("java.lang.Serializable")
lazy val ComparableClass = ctx.requiredClass("java.lang.Comparable")
lazy val ProductClass = ctx.requiredClass("scala.Product")
+
+ lazy val Product_canEqual = ProductClass.requiredMethod(nme.canEqual_)
+
lazy val LanguageModuleClass = ctx.requiredModule("dotty.language").moduleClass.asClass
// Annotation base classes