- public static String flagsToString(int flags) {
- String ret = "";
- if ((flags & ACC_PUBLIC) != 0) ret += "public ";
- if ((flags & ACC_PRIVATE) != 0) ret += "private ";
- if ((flags & ACC_PROTECTED) != 0) ret += "protected ";
- if ((flags & ACC_STATIC) != 0) ret += "static ";
- if ((flags & ACC_FINAL) != 0) ret += "final ";
- if ((flags & ACC_ABSTRACT) != 0) ret += "abstract ";
- if ((flags & ACC_SYNCHRONIZED) != 0) ret += "synchronized ";
- if ((flags & ACC_NATIVE) != 0) ret += "native ";
- if ((flags & ACC_STRICT) != 0) ret += "strictfp ";
- if ((flags & ACC_VOLATILE) != 0) ret += "volatile ";
- if ((flags & ACC_TRANSIENT) != 0) ret += "transient ";
- return ret;
+ static String flagsToString(int flags, boolean isClass) {
+ StringBuffer sb = new StringBuffer(32);
+ if ((flags & PUBLIC) != 0) sb.append("public ");
+ if ((flags & PRIVATE) != 0) sb.append("private ");
+ if ((flags & PROTECTED) != 0) sb.append("protected ");
+ if ((flags & STATIC) != 0) sb.append("static ");
+ if ((flags & FINAL) != 0) sb.append("final ");
+ if ((flags & ABSTRACT) != 0) sb.append("abstract ");
+ if (!isClass && (flags & SYNCHRONIZED) != 0) sb.append("synchronized ");
+ if (!isClass && (flags & NATIVE) != 0) sb.append("native ");
+ if (!isClass && (flags & STRICT) != 0) sb.append("strictfp ");
+ if (!isClass && (flags & VOLATILE) != 0) sb.append("volatile ");
+ if (!isClass && (flags & TRANSIENT) != 0) sb.append("transient ");
+ return sb.toString();