diff options
author | Martin Odersky <odersky@gmail.com> | 2013-03-25 12:18:34 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-03-25 12:18:34 +0100 |
commit | 27a508c50482f4053591ed740f09ecced5bf749b (patch) | |
tree | 936cf263cc1236bb308cc786c0f7ee0cdc0f2fa8 /src/dotty/tools/dotc/core/Definitions.scala | |
parent | 4a17f0d1e17adecbdc4755bf719feff18d115318 (diff) | |
download | dotty-27a508c50482f4053591ed740f09ecced5bf749b.tar.gz dotty-27a508c50482f4053591ed740f09ecced5bf749b.tar.bz2 dotty-27a508c50482f4053591ed740f09ecced5bf749b.zip |
More fixes for classfile reading.
In particular: Survive malformed type errors. Make trees cloneable. and others more.
Diffstat (limited to 'src/dotty/tools/dotc/core/Definitions.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/Definitions.scala | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/src/dotty/tools/dotc/core/Definitions.scala index 8ac67dd02..81cdf4826 100644 --- a/src/dotty/tools/dotc/core/Definitions.scala +++ b/src/dotty/tools/dotc/core/Definitions.scala @@ -83,7 +83,12 @@ class Definitions(implicit ctx: Context) { lazy val PredefModule = requiredModule("scala.Predef") // lazy val FunctionClass: ClassSymbol = requiredClass("scala.Function") - lazy val SingletonClass: ClassSymbol = requiredClass("dotty.Singleton") + lazy val SingletonClass: ClassSymbol = + // needed as a synthetic class because Scala 2.x refers to it in classfiles + // but does not define it as an explicit class. + ctx.newCompleteClassSymbol( + ScalaPackageClass, tpnme.Singleton, Trait | Interface | Final, + List(AnyClass.typeConstructor), EmptyScope).entered lazy val SeqClass: ClassSymbol = requiredClass("scala.collection.Seq") lazy val ArrayClass: ClassSymbol = requiredClass("scala.Array") lazy val uncheckedStableClass: ClassSymbol = requiredClass("scala.annotation.unchecked.uncheckedStable") @@ -291,6 +296,7 @@ class Definitions(implicit ctx: Context) { AnyValClass, NullClass, NothingClass, + SingletonClass, EqualsPatternClass) private[this] var _isInitialized = false |