aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Definitions.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2014-04-14 16:13:11 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-05-06 16:18:45 +0200
commit54034c1f56b6d9a10cbe2985a5cd90e5dc354f7e (patch)
tree1c805d3bd76c84a3873626c7284f8c2645edf3b4 /src/dotty/tools/dotc/core/Definitions.scala
parent026b86da4c11a2e4933af00fe65cb2c37851ed3c (diff)
downloaddotty-54034c1f56b6d9a10cbe2985a5cd90e5dc354f7e.tar.gz
dotty-54034c1f56b6d9a10cbe2985a5cd90e5dc354f7e.tar.bz2
dotty-54034c1f56b6d9a10cbe2985a5cd90e5dc354f7e.zip
Definitions used by backend.
Diffstat (limited to 'src/dotty/tools/dotc/core/Definitions.scala')
-rw-r--r--src/dotty/tools/dotc/core/Definitions.scala23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/src/dotty/tools/dotc/core/Definitions.scala
index f1c69027e..9497438f2 100644
--- a/src/dotty/tools/dotc/core/Definitions.scala
+++ b/src/dotty/tools/dotc/core/Definitions.scala
@@ -156,6 +156,8 @@ 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 DottyPredefModule = ctx.requiredModule("dotty.DottyPredef")
lazy val NilModule = ctx.requiredModule("scala.collection.immutable.Nil")
@@ -168,6 +170,10 @@ class Definitions {
List(AnyClass.typeRef), EmptyScope)
lazy val SeqClass: ClassSymbol = ctx.requiredClass("scala.collection.Seq")
lazy val ArrayClass: ClassSymbol = ctx.requiredClass("scala.Array")
+ lazy val Array_apply = ctx.requiredMethod(ArrayClass, nme.apply)
+ lazy val Array_update = ctx.requiredMethod(ArrayClass, nme.update)
+ lazy val Array_length = ctx.requiredMethod(ArrayClass, nme.length)
+ lazy val Array_clone = ctx.requiredMethod(ArrayClass, nme.clone_)
lazy val uncheckedStableClass: ClassSymbol = ctx.requiredClass("scala.annotation.unchecked.uncheckedStable")
lazy val UnitClass = valueClassSymbol("scala.Unit", BoxedUnitClass, java.lang.Void.TYPE, UnitEnc)
@@ -211,8 +217,20 @@ class Definitions {
// fundamental classes
lazy val StringClass = ctx.requiredClass("java.lang.String")
+ lazy val StringModule = StringClass.moduleClass
lazy val String_+ = newMethod(StringClass, nme.raw.PLUS, methOfAny(StringType), Final)
+ lazy val String_valueOf_Object = StringModule.info.member(nme.valueOf).suchThat(_.info.firstParamTypes match {
+ case List(pt) => pt isRef ObjectClass
+ case _ => false
+ }).symbol
+
+ // in scalac modified to have Any as parrent
+
+ lazy val SerializableClass = ctx.requiredClass("scala.Serializable")
+ lazy val JavaCloneableClass = ctx.requiredClass("java.lang.Cloneable")
+ lazy val StringBuilderClass = ctx.requiredClass("scala.collection.mutable.StringBuilder")
+ lazy val NullPointerExceptionClass = ctx.requiredClass(jnme.NPException)
lazy val StringAddClass = ctx.requiredClass("scala.runtime.StringAdd")
@@ -238,6 +256,11 @@ class Definitions {
lazy val ClassfileAnnotationClass = ctx.requiredClass("scala.annotation.ClassfileAnnotation")
lazy val StaticAnnotationClass = ctx.requiredClass("scala.annotation.StaticAnnotation")
lazy val TailrecAnnotationClass = ctx.requiredClass("scala.annotation.tailrec")
+ lazy val RemoteAnnot = ctx.requiredClass("scala.remote")
+ lazy val SerialVersionUIDAnnot = ctx.requiredClass("scala.SerialVersionUID")
+ lazy val TransientAnnot = ctx.requiredClass("scala.transient")
+ lazy val NativeAnnot = ctx.requiredClass("scala.native")
+ lazy val ScalaStrictFPAnnot = ctx.requiredClass("scala.annotation.strictfp")
// Annotation classes
lazy val AliasAnnot = ctx.requiredClass("dotty.annotation.internal.Alias")