summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab/classfile/AttributeParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/symtab/classfile/AttributeParser.java')
-rw-r--r--sources/scalac/symtab/classfile/AttributeParser.java19
1 files changed, 6 insertions, 13 deletions
diff --git a/sources/scalac/symtab/classfile/AttributeParser.java b/sources/scalac/symtab/classfile/AttributeParser.java
index 4df2529b2d..a4cfc6fec6 100644
--- a/sources/scalac/symtab/classfile/AttributeParser.java
+++ b/sources/scalac/symtab/classfile/AttributeParser.java
@@ -81,18 +81,8 @@ public class AttributeParser implements ClassfileConstants {
switch (attr) {
// class attributes
case SCALA_ATTR:
- in.skip(attrLen);
- /* not yet
- Name sourcefile = (Name)pool.readPool(in.nextChar());
- new UnPickle(
- (JavaClassSymbol) sym, in.nextBytes(attrLen - 2), sourcefile);
- */
- return;
-
- case SOURCEFILE_ATTR:
- // ((ClassDef)def).sourcefile = (Name)reader.readPool(in.nextChar());
- in.skip(attrLen);
- return;
+ new UnPickle(sym, in.nextBytes(attrLen), Name.fromString(in.path));
+ return;
case INNERCLASSES_ATTR:
/* int n = in.nextChar();
@@ -154,8 +144,11 @@ public class AttributeParser implements ClassfileConstants {
new MetaParser(meta, tvars, sym, type).parse(),
Symbol.FIRST_ID);
return;
+
+ default:
+ in.skip(attrLen);
+ return;
}
- throw new RuntimeException("unknown classfile attribute");
}
Scope tvars = new Scope();