diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-04-14 16:13:11 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-05-06 16:18:45 +0200 |
commit | 54034c1f56b6d9a10cbe2985a5cd90e5dc354f7e (patch) | |
tree | 1c805d3bd76c84a3873626c7284f8c2645edf3b4 /src/dotty/tools/dotc | |
parent | 026b86da4c11a2e4933af00fe65cb2c37851ed3c (diff) | |
download | dotty-54034c1f56b6d9a10cbe2985a5cd90e5dc354f7e.tar.gz dotty-54034c1f56b6d9a10cbe2985a5cd90e5dc354f7e.tar.bz2 dotty-54034c1f56b6d9a10cbe2985a5cd90e5dc354f7e.zip |
Definitions used by backend.
Diffstat (limited to 'src/dotty/tools/dotc')
-rw-r--r-- | src/dotty/tools/dotc/core/Definitions.scala | 23 |
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") |