diff options
author | Paul Phillips <paulp@improving.org> | 2010-02-15 06:32:50 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-02-15 06:32:50 +0000 |
commit | 15dfc92cdd7f345943b54196d8047e26c2d206e0 (patch) | |
tree | 6122be2b4c7ab8a58d96da308c47196dd257aa9a | |
parent | 1ec5bf5c82ab29a565eeeec2ce8df2bddab7da0b (diff) | |
download | scala-15dfc92cdd7f345943b54196d8047e26c2d206e0.tar.gz scala-15dfc92cdd7f345943b54196d8047e26c2d206e0.tar.bz2 scala-15dfc92cdd7f345943b54196d8047e26c2d206e0.zip |
Restored the disabled exception in classfilepar...
Restored the disabled exception in classfileparser. Strange quick
behavior was being caused by multiple occurrences of some classpath
elements. No review.
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala | 6 | ||||
-rw-r--r-- | src/compiler/scala/tools/util/PathResolver.scala | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala index 1f1a41055c..745761a065 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala @@ -429,8 +429,10 @@ abstract class ClassfileParser { } } - if (c != clazz && externalName.toString.indexOf("$") < 0 && (clazz eq NoSymbol) && (c ne NoSymbol)) - clazz = c + if (c != clazz && externalName.toString.indexOf("$") < 0) { + if ((clazz eq NoSymbol) && (c ne NoSymbol)) clazz = c + else throw new IOException("class file '" + in.file + "' contains wrong " + c) + } addEnclosingTParams(clazz) parseInnerClasses() // also sets the isScala / isScalaRaw / hasMeta flags, see r15956 diff --git a/src/compiler/scala/tools/util/PathResolver.scala b/src/compiler/scala/tools/util/PathResolver.scala index e3195eb767..9feb61e0a3 100644 --- a/src/compiler/scala/tools/util/PathResolver.scala +++ b/src/compiler/scala/tools/util/PathResolver.scala @@ -115,10 +115,14 @@ object PathResolver { else if (scalaLibAsDir.isDirectory) scalaLibAsDir.path else "" - def scalaBootClassPath = scalaLibDirFound match { - case Some(dir) => join(ClassPath expandDir dir.path) - case _ => "" - } + // This attempt to duplicate the original logic of MainGenericRunner + // was causing the issue described in r20878. Obviously it's past time + // to establish with certainty what each of these paths should contain. + def scalaBootClassPath = "" + // scalaLibDirFound match { + // case Some(dir) => join(ClassPath expandDir dir.path) + // case _ => "" + // } def scalaExtDirs = Environment.scalaExtDirs def scalaPluginDirs = List("misc", "scala-devel", "plugins") |