From af026b0fadcaa179db15b8148873952c7286e23d Mon Sep 17 00:00:00 2001 From: adam Date: Sun, 3 Jul 2005 02:42:40 +0000 Subject: [PATCH 1/1] added convenience methods to HasFlags darcs-hash:20050703024240-5007d-479b6c96277dec3d7361e2b7a48945b69e14ab27.gz --- src/org/ibex/classgen/ClassFile.java | 1 + src/org/ibex/classgen/HasFlags.java | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/org/ibex/classgen/ClassFile.java b/src/org/ibex/classgen/ClassFile.java index f598519..dd8b424 100644 --- a/src/org/ibex/classgen/ClassFile.java +++ b/src/org/ibex/classgen/ClassFile.java @@ -34,6 +34,7 @@ public class ClassFile implements CGConst { } public Type.Class getType() { return thisType; } + public int getFlags() { return flags; } String debugToString() { return debugToString(new StringBuffer(4096)).toString(); } StringBuffer debugToString(StringBuffer sb) { diff --git a/src/org/ibex/classgen/HasFlags.java b/src/org/ibex/classgen/HasFlags.java index 4bbd8f4..20aa90d 100644 --- a/src/org/ibex/classgen/HasFlags.java +++ b/src/org/ibex/classgen/HasFlags.java @@ -1,5 +1,18 @@ package org.ibex.classgen; -public interface HasFlags { - public int getFlags(); +public abstract class HasFlags implements CGConst { + public abstract int getFlags(); + + public boolean isPublic() { return (getFlags() & PUBLIC) != 0; } + public boolean isPrivate() { return (getFlags() & PRIVATE) != 0; } + public boolean isProtected() { return (getFlags() & PROTECTED) != 0; } + public boolean isStatic() { return (getFlags() & STATIC) != 0; } + public boolean isFinal() { return (getFlags() & FINAL) != 0; } + + public boolean isAbstract() { return (getFlags() & ABSTRACT) != 0; } + public boolean isNative() { return (getFlags() & NATIVE) != 0; } + public boolean isConcrete() { return !isAbstract() && !isNative(); } + + public boolean isVolatile() { return (getFlags() & VOLATILE) != 0; } + public boolean isTransient() { return (getFlags() & TRANSIENT) != 0; } } -- 1.7.10.4