summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-02-15 06:32:50 +0000
committerPaul Phillips <paulp@improving.org>2010-02-15 06:32:50 +0000
commit15dfc92cdd7f345943b54196d8047e26c2d206e0 (patch)
tree6122be2b4c7ab8a58d96da308c47196dd257aa9a
parent1ec5bf5c82ab29a565eeeec2ce8df2bddab7da0b (diff)
downloadscala-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.scala6
-rw-r--r--src/compiler/scala/tools/util/PathResolver.scala12
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")