diff options
-rw-r--r-- | lib/msil.jar.desired.sha1 | 2 | ||||
-rw-r--r-- | lib/scala-compiler.jar.desired.sha1 | 2 | ||||
-rw-r--r-- | lib/scala-library-src.jar.desired.sha1 | 2 | ||||
-rw-r--r-- | lib/scala-library.jar.desired.sha1 | 2 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/classfile/PickleFormat.scala | 4 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala | 18 |
6 files changed, 18 insertions, 12 deletions
diff --git a/lib/msil.jar.desired.sha1 b/lib/msil.jar.desired.sha1 index 0079fc4d47..5216f9c392 100644 --- a/lib/msil.jar.desired.sha1 +++ b/lib/msil.jar.desired.sha1 @@ -1 +1 @@ -b73c6a7eafee8d31d7ddf4066dd8f640163939b6 ?msil.jar +2f0878da4a94439a434c21ab4974c7712b39a1e8 ?msil.jar diff --git a/lib/scala-compiler.jar.desired.sha1 b/lib/scala-compiler.jar.desired.sha1 index b8759d191b..dea5c4d2a8 100644 --- a/lib/scala-compiler.jar.desired.sha1 +++ b/lib/scala-compiler.jar.desired.sha1 @@ -1 +1 @@ -6e45b297a30df884614addeb027b5ebf76485f11 ?scala-compiler.jar +9482091ea9274a830f75eff740501a32c323f1a3 ?scala-compiler.jar diff --git a/lib/scala-library-src.jar.desired.sha1 b/lib/scala-library-src.jar.desired.sha1 index e0ef39b088..633043844b 100644 --- a/lib/scala-library-src.jar.desired.sha1 +++ b/lib/scala-library-src.jar.desired.sha1 @@ -1 +1 @@ -0c72a64d2744d408a66d5207d68951b3389990fc ?scala-library-src.jar +e5a8e0f93e0ff91e194edf70c6920c2991306a30 ?scala-library-src.jar diff --git a/lib/scala-library.jar.desired.sha1 b/lib/scala-library.jar.desired.sha1 index b70c4f6b6e..73f7aa9208 100644 --- a/lib/scala-library.jar.desired.sha1 +++ b/lib/scala-library.jar.desired.sha1 @@ -1 +1 @@ -c077142101bb954b29c460580a2450cdc4742ab0 ?scala-library.jar +beda5be87a8860ad4079f484a207b4477767ded2 ?scala-library.jar diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/PickleFormat.scala b/src/compiler/scala/tools/nsc/symtab/classfile/PickleFormat.scala index 0b74201a96..28accffa02 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/PickleFormat.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/PickleFormat.scala @@ -119,8 +119,8 @@ object PickleFormat { * * len is remaining length after `len'. */ - val MajorVersion = 4 - val MinorVersion = 1 + val MajorVersion = 5 + val MinorVersion = 0 final val TERMname = 1 final val TYPEname = 2 diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala b/src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala index 490db843e5..c09136e9a5 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala @@ -35,7 +35,7 @@ abstract class UnPickler { */ def unpickle(bytes: Array[Byte], offset: Int, classRoot: Symbol, moduleRoot: Symbol, filename: String) { try { - new UnPickle(bytes, offset, classRoot, moduleRoot) + new UnPickle(bytes, offset, classRoot, moduleRoot, filename) } catch { case ex: IOException => throw ex @@ -45,9 +45,9 @@ abstract class UnPickler { } } - private class UnPickle(bytes: Array[Byte], offset: Int, classRoot: Symbol, moduleRoot: Symbol) extends PickleBuffer(bytes, offset, -1) { + private class UnPickle(bytes: Array[Byte], offset: Int, classRoot: Symbol, moduleRoot: Symbol, filename: String) extends PickleBuffer(bytes, offset, -1) { if (settings.debug.value) global.log("unpickle " + classRoot + " and " + moduleRoot) - checkVersion() + checkVersion(filename) /** A map from entry numbers to array offsets */ private val index = createIndex @@ -65,14 +65,20 @@ abstract class UnPickler { if (settings.debug.value) global.log("unpickled " + classRoot + ":" + classRoot.rawInfo + ", " + moduleRoot + ":" + moduleRoot.rawInfo);//debug - private def checkVersion() { + private def checkVersion(filename: String) { val major = readNat() val minor = readNat() - if (major < 4 /*!= MajorVersion*/ || minor > MinorVersion) // !!! temporarily accept 4 as version. +//---cut here--- + if (major == 4) { // !!! temporarily accept 4 as version. + println("WARNING: old class format, please recompile "+filename) + } else +//---cut here--- + if (major != MajorVersion || minor > MinorVersion) throw new IOException("Scala signature " + classRoot.name + " has wrong version\n expected: " + MajorVersion + "." + MinorVersion + - "\n found: " + major + "." + minor) + "\n found: " + major + "." + minor + + " in "+filename) } /** The `decls' scope associated with given symbol */ |