summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 */