summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Cunei <antonio.cunei@epfl.ch>2009-05-12 17:48:29 +0000
committerAntonio Cunei <antonio.cunei@epfl.ch>2009-05-12 17:48:29 +0000
commit7cfc53fb4b77f70af5de28a057b1d333bee415d8 (patch)
tree1119db4d6ecfcd34db6a643669f7afb3f4bace9a
parentc8ad9ef2d129e29c945ca86144b8ee875ad72a9b (diff)
downloadscala-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.sha12
-rw-r--r--lib/scala-compiler.jar.desired.sha12
-rw-r--r--lib/scala-library-src.jar.desired.sha12
-rw-r--r--lib/scala-library.jar.desired.sha12
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/PickleFormat.scala4
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala18
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 */