summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab/classfile/ClassfileParser.java
diff options
context:
space:
mode:
authorMatthias Zenger <mzenger@gmail.com>2004-01-08 15:18:38 +0000
committerMatthias Zenger <mzenger@gmail.com>2004-01-08 15:18:38 +0000
commitabdb5cc6bb86908c0a8a1d9e9ebd038e08c33964 (patch)
tree4b3cf4e78b4260f7ee24e5cdc2f2e6f0294e613c /sources/scalac/symtab/classfile/ClassfileParser.java
parentcc195672a2bc2c8bec71783c50dd36da2217381a (diff)
downloadscala-abdb5cc6bb86908c0a8a1d9e9ebd038e08c33964.tar.gz
scala-abdb5cc6bb86908c0a8a1d9e9ebd038e08c33964.tar.bz2
scala-abdb5cc6bb86908c0a8a1d9e9ebd038e08c33964.zip
Ignore bridge methods of Java 1.5
Diffstat (limited to 'sources/scalac/symtab/classfile/ClassfileParser.java')
-rw-r--r--sources/scalac/symtab/classfile/ClassfileParser.java23
1 files changed, 14 insertions, 9 deletions
diff --git a/sources/scalac/symtab/classfile/ClassfileParser.java b/sources/scalac/symtab/classfile/ClassfileParser.java
index 94dec05d4a..f595883fcd 100644
--- a/sources/scalac/symtab/classfile/ClassfileParser.java
+++ b/sources/scalac/symtab/classfile/ClassfileParser.java
@@ -25,16 +25,20 @@ public class ClassfileParser implements ClassfileConstants {
| DEPRECATED_ATTR
| META_ATTR
| SCALA_ATTR
- | JACO_ATTR;
+ | JACO_ATTR
+ | SIG_ATTR;
static final int METH_ATTR = CODE_ATTR
| EXCEPTIONS_ATTR
| SYNTHETIC_ATTR
| DEPRECATED_ATTR
- | META_ATTR;
+ | META_ATTR
+ | SIG_ATTR
+ | BRIDGE_ATTR;
static final int FIELD_ATTR = CONSTANT_VALUE_ATTR
| SYNTHETIC_ATTR
| DEPRECATED_ATTR
- | META_ATTR;
+ | META_ATTR
+ | SIG_ATTR;
protected Global global;
protected AbstractFileReader in;
@@ -204,11 +208,11 @@ public class ClassfileParser implements ClassfileConstants {
return;
}
switch (type) {
- case MethodType(Symbol[] vparams, _):
- type = Type.MethodType(vparams, ctype);
- break;
- default:
- throw new ApplicationError();
+ case MethodType(Symbol[] vparams, _):
+ type = Type.MethodType(vparams, ctype);
+ break;
+ default:
+ throw new ApplicationError();
}
Symbol constr = c.primaryConstructor();
if (constr.isInitialized())
@@ -227,7 +231,8 @@ public class ClassfileParser implements ClassfileConstants {
setParamOwners(type, s);
s.setFirstInfo(type);
attrib.readAttributes(s, type, METH_ATTR);
- ((flags & 0x0008) != 0 ? statics : locals).enterOrOverload(s);
+ if ((s.flags & Modifiers.BRIDGE) == 0)
+ ((flags & 0x0008) != 0 ? statics : locals).enterOrOverload(s);
}
}