start to fix the interface problem
authorbrian <brian@brianweb.net>
Sun, 3 Jul 2005 19:57:06 +0000 (19:57 +0000)
committerbrian <brian@brianweb.net>
Sun, 3 Jul 2005 19:57:06 +0000 (19:57 +0000)
darcs-hash:20050703195706-24bed-9423b8ebbf5668257d7ed49f8e433a89a9b8fcce.gz

src/org/ibex/classgen/HasFlags.java
src/org/ibex/classgen/Type.java

index 313c422..88760dd 100644 (file)
@@ -16,7 +16,6 @@ public abstract class HasFlags implements CGConst {
 
     public boolean isAbstract() { return (getFlags() & ABSTRACT) != 0; }
     public boolean isNative() { return (getFlags() & NATIVE) != 0; }
 
     public boolean isAbstract() { return (getFlags() & ABSTRACT) != 0; }
     public boolean isNative() { return (getFlags() & NATIVE) != 0; }
-    public boolean isConcrete() { return !isAbstract() && !isNative() && !isInterface(); }
 
     public boolean isVolatile() { return (getFlags() & VOLATILE) != 0; }
     public boolean isTransient() { return (getFlags() & TRANSIENT) != 0; }
 
     public boolean isVolatile() { return (getFlags() & VOLATILE) != 0; }
     public boolean isTransient() { return (getFlags() & TRANSIENT) != 0; }
index 9e30f19..b5428ad 100644 (file)
@@ -205,6 +205,7 @@ public abstract class Type implements CGConst {
             }
             public boolean isConstructor() { return getName().equals("<init>"); }
             public boolean isClassInitializer() { return getName().equals("<clinit>"); }
             }
             public boolean isConstructor() { return getName().equals("<init>"); }
             public boolean isClassInitializer() { return getName().equals("<clinit>"); }
+            
             public String toString() {
                 StringBuffer sb = new StringBuffer();
                 if (name.equals("<clinit>")) sb.append("static ");
             public String toString() {
                 StringBuffer sb = new StringBuffer();
                 if (name.equals("<clinit>")) sb.append("static ");
@@ -242,6 +243,7 @@ public abstract class Type implements CGConst {
                     super(flags, attrs);
                     if ((flags & ~VALID_METHOD_FLAGS) != 0) throw new IllegalArgumentException("invalid flags");
                 }
                     super(flags, attrs);
                     if ((flags & ~VALID_METHOD_FLAGS) != 0) throw new IllegalArgumentException("invalid flags");
                 }
+                public boolean isConcrete() { return !isAbstract() && !isNative() /*FIXME: !inAnInterface*/; }
                 public void toString(StringBuffer sb, String constructorName) {
                     int flags = getFlags();
                     sb.append("  ").append(ClassFile.flagsToString(flags,false));
                 public void toString(StringBuffer sb, String constructorName) {
                     int flags = getFlags();
                     sb.append("  ").append(ClassFile.flagsToString(flags,false));