summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab/classfile/ClassfileParser.java
diff options
context:
space:
mode:
authorMatthias Zenger <mzenger@gmail.com>2004-02-20 11:04:17 +0000
committerMatthias Zenger <mzenger@gmail.com>2004-02-20 11:04:17 +0000
commitffc44a5c910bc4209b1b2fc7344390e3019c272c (patch)
treea6719f89166dea49ab2d51d4fd13b4b45592239d /sources/scalac/symtab/classfile/ClassfileParser.java
parentd19cd4e6791347cfbcd161c02a49eebef4aab686 (diff)
downloadscala-ffc44a5c910bc4209b1b2fc7344390e3019c272c.tar.gz
scala-ffc44a5c910bc4209b1b2fc7344390e3019c272c.tar.bz2
scala-ffc44a5c910bc4209b1b2fc7344390e3019c272c.zip
Support for Java 1.5 classfiles generated with ...
Support for Java 1.5 classfiles generated with javac and the option -target 1.5 (which is switched on automatically also for -source 1.5).
Diffstat (limited to 'sources/scalac/symtab/classfile/ClassfileParser.java')
-rw-r--r--sources/scalac/symtab/classfile/ClassfileParser.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/sources/scalac/symtab/classfile/ClassfileParser.java b/sources/scalac/symtab/classfile/ClassfileParser.java
index fe51630f46..a24fed4feb 100644
--- a/sources/scalac/symtab/classfile/ClassfileParser.java
+++ b/sources/scalac/symtab/classfile/ClassfileParser.java
@@ -148,6 +148,8 @@ public class ClassfileParser implements ClassfileConstants {
res |= Modifiers.FINAL;
if ((flags & 0x0200) != 0)
res |= Modifiers.INTERFACE | Modifiers.TRAIT | Modifiers.ABSTRACT;
+ if ((flags & 0x1000) != 0)
+ res |= Modifiers.SYNTHETIC;
return res | Modifiers.JAVA;
}
@@ -197,6 +199,9 @@ public class ClassfileParser implements ClassfileConstants {
*/
protected void parseMethod() {
int flags = in.nextChar();
+ int sflags = transFlags(flags);
+ if ((flags & 0x0040) != 0)
+ sflags |= Modifiers.BRIDGE;
Name name = (Name)pool.readPool(in.nextChar());
Type type = readType(in.nextChar());
if (CONSTR_N.equals(name)) {