// ABSTRACT=16
public static final int FINAL=32;
public static final int NATIVE=64;
-// SYNCHRONIZED=128
+ public static final int SYNCHRONIZED=128;
+ public static final int ATOMIC=2048;
// TRANSIENT=256
// VOLATILE=512
// STRICTFP=1024
value=0;
}
+ public Modifiers(int v) {
+ value=v;
+ }
+
public void addModifier(int mod) {
value|=mod;
+ if (isSynchronized()&&isNative())
+ throw new Error("Synchronized native methods are not supported");
+ }
+
+ public boolean isAtomic() {
+ return ((value&ATOMIC)!=0);
+ }
+
+ public boolean isSynchronized() {
+ return ((value&SYNCHRONIZED)!=0);
}
public boolean isStatic() {
return ((value&NATIVE)!=0);
}
+ public boolean isFinal() {
+ return ((value&FINAL)!=0);
+ }
+
public String toString() {
String st="";
if ((value&PUBLIC)!=0)
st+="final ";
if ((value&NATIVE)!=0)
st+="native ";
+ if ((value&SYNCHRONIZED)!=0)
+ st+="synchronized ";
+ if ((value&ATOMIC)!=0)
+ st+="atomic ";
return st;
}
}