diff options
author | Antonio Cunei <antonio.cunei@epfl.ch> | 2009-05-12 17:48:29 +0000 |
---|---|---|
committer | Antonio Cunei <antonio.cunei@epfl.ch> | 2009-05-12 17:48:29 +0000 |
commit | 7cfc53fb4b77f70af5de28a057b1d333bee415d8 (patch) | |
tree | 1119db4d6ecfcd34db6a643669f7afb3f4bace9a | |
parent | c8ad9ef2d129e29c945ca86144b8ee875ad72a9b (diff) | |
download | scala-7cfc53fb4b77f70af5de28a057b1d333bee415d8.tar.gz scala-7cfc53fb4b77f70af5de28a057b1d333bee415d8.tar.bz2 scala-7cfc53fb4b77f70af5de28a057b1d333bee415d8.zip |
The compiler will complain when trying to
compile against binaries created prior to
this revision, which are however still
transitionally accepted. That is done
in preparation for future 2.8 releases,
which will be binary incompatible.
Includes new starr, aligned with r17713.
-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 */ |