summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2006-11-02 16:41:51 +0000
committerIulian Dragos <jaguarul@gmail.com>2006-11-02 16:41:51 +0000
commitf25687d77f8328de0797fca94f5d091c397e8102 (patch)
tree1a3122f32532b021187b8dec94e4d9027e56cfef /src
parentd433eb14c8a069f349979282b0acb71cedb43b49 (diff)
downloadscala-f25687d77f8328de0797fca94f5d091c397e8102.tar.gz
scala-f25687d77f8328de0797fca94f5d091c397e8102.tar.bz2
scala-f25687d77f8328de0797fca94f5d091c397e8102.zip
Classes in the empty package are found now when...
Classes in the empty package are found now when referred as types from external classfiles -- was 'classfile is broken'
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
index 822c1fa35c..f005b53921 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
@@ -320,7 +320,11 @@ abstract class ClassfileParser {
while (name(index) != ';') { index = index + 1 }
val end = index
index = index + 1
- definitions.getClass(name.subName(start, end)).tpe
+ val clsName = name.subName(start, end)
+ if (clsName.pos('.') == clsName.length)
+ definitions.getMember(definitions.EmptyPackageClass, clsName.toTypeName).tpe
+ else
+ definitions.getClass(clsName).tpe
case ARRAY_TAG =>
while ('0' <= name(index) && name(index) <= '9') index = index + 1
appliedType(definitions.ArrayClass.tpe, List(sig2type))