@@ -1,5 +1,5 @@
/*
* Copyright 2001-2004 The Apache Software Foundation
* Copyright 2001-2005 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -25,7 +25,7 @@ import org.apache.tools.ant.taskdefs.optional.depend.constantpool.Utf8CPInfo;
* Utilities mostly to manipulate methods and access flags.
*
*/
public class Utils {
public final class Utils {
/** public access flag */
public static final short ACC_PUBLIC = 1;
/** private access flag */
@@ -98,7 +98,7 @@ public class Utils {
/**
* return the object type of a return type.
* @param descriptor
* @param descriptor the description symbol
* @return get the return type objet of a given descriptor
*/
public static String getMethodReturnType(String descriptor) {
@@ -172,143 +172,157 @@ public class Utils {
/**
* check for abstract access
* @param access_flags access flags
* @param accessFlags access flags
* @return true if there is abstact access
*/
public static boolean isAbstract(int access_f lags) {
return (access_f lags & ACC_ABSTRACT) != 0;
public static boolean isAbstract(int accessF lags) {
return (accessF lags & ACC_ABSTRACT) != 0;
}
/**
* check for public access
* @param access_flags access flags
* @param accessFlags access flags
* @return true if there is public access
*/
public static boolean isPublic(int access_f lags) {
return (access_f lags & ACC_PUBLIC) != 0;
public static boolean isPublic(int accessF lags) {
return (accessF lags & ACC_PUBLIC) != 0;
}
/**
* check for a static access
* @param access_flags access flags
* @param accessFlags access flags
* @return true if there is static access
*/
public static boolean isStatic(int access_f lags) {
return (access_f lags & ACC_STATIC) != 0;
public static boolean isStatic(int accessF lags) {
return (accessF lags & ACC_STATIC) != 0;
}
/**
* check for native access
* @param access_flags access flags
* check for native access
* @param accessFlags access flags
* @return true if there is native access
*/
public static boolean isNative(int access_f lags) {
return (access_f lags & ACC_NATIVE) != 0;
public static boolean isNative(int accessF lags) {
return (accessF lags & ACC_NATIVE) != 0;
}
/**
* check for class access
* @param access_flags access flags
* @param accessFlags access flags
* @return true if there is class access
*/
public static boolean isClass(int access_f lags) {
return !isInterface(access_f lags);
public static boolean isClass(int accessF lags) {
return !isInterface(accessF lags);
}
/**
* check for strict access
* @param access_flags access flags
* @param accessFlags access flags
* @return true if there is strict access
*/
public static boolean isStrict(int access_f lags) {
return (access_f lags & ACC_STRICT) != 0;
public static boolean isStrict(int accessF lags) {
return (accessF lags & ACC_STRICT) != 0;
}
/**
* check for interface access
* @param access_flags access flags
* @param accessFlags access flags
* @return true if there is interface access
*/
public static boolean isInterface(int access_f lags) {
return (access_f lags & ACC_INTERFACE) != 0;
public static boolean isInterface(int accessF lags) {
return (accessF lags & ACC_INTERFACE) != 0;
}
/**
* check for private access
* @param access_flags access flags
* @param accessFlags access flags
* @return true if there is private access
*/
public static boolean isPrivate(int access_f lags) {
return (access_f lags & ACC_PRIVATE) != 0;
public static boolean isPrivate(int accessF lags) {
return (accessF lags & ACC_PRIVATE) != 0;
}
/**
* check for transient flag
* @param access_flags access flags
* @param accessFlags access flags
* @return true if there is transient access
*/
public static boolean isTransient(int access_f lags) {
return (access_f lags & ACC_TRANSIENT) != 0;
public static boolean isTransient(int accessF lags) {
return (accessF lags & ACC_TRANSIENT) != 0;
}
/**
* check for volatile flag
* @param access_flags access flags
* @param accessFlags access flags
* @return true if there is volatile access
*/
public static boolean isVolatile(int access_f lags) {
return (access_f lags & ACC_VOLATILE) != 0;
public static boolean isVolatile(int accessF lags) {
return (accessF lags & ACC_VOLATILE) != 0;
}
/**
* check for super flag
* @param access_flags access flag
* @param accessFlags access flag
* @return true if there the super flag is set
*/
public static boolean isSuper(int access_f lags) {
return (access_f lags & ACC_SUPER) != 0;
public static boolean isSuper(int accessF lags) {
return (accessF lags & ACC_SUPER) != 0;
}
/**
* check for protected flag
* @param access_flags access flags
* @param accessFlags access flags
* @return true if there is protected access
*/
public static boolean isProtected(int access_f lags) {
return (access_f lags & ACC_PROTECTED) != 0;
public static boolean isProtected(int accessF lags) {
return (accessF lags & ACC_PROTECTED) != 0;
}
/**
* chck for final flag
* @param access_flags access flags
* @param accessFlags access flags
* @return true if there the final flag is set
*/
public static boolean isFinal(int access_f lags) {
return (access_f lags & ACC_FINAL) != 0;
public static boolean isFinal(int accessF lags) {
return (accessF lags & ACC_FINAL) != 0;
}
/**
* check for synchronized flag
* @param access_flags access flags
* @param accessFlags access flags
* @return true if there the synchronized flag is set
*/
public static boolean isSynchronized(int access_f lags) {
return (access_f lags & ACC_SYNCHRONIZED) != 0;
public static boolean isSynchronized(int accessF lags) {
return (accessF lags & ACC_SYNCHRONIZED) != 0;
}
/**
* return the method access flag as java modifiers
* @param access_f lags access flags
* @param accessF lags access flags
* @return the access flags as modifier strings
*/
public static String getMethodAccess(int access_f lags) {
public static String getMethodAccess(int accessF lags) {
StringBuffer sb = new StringBuffer();
if (isPublic(access_f lags)) {
if (isPublic(accessF lags)) {
sb.append("public ");
} else if (isPrivate(access_f lags)) {
} else if (isPrivate(accessF lags)) {
sb.append("private ");
} else if (isProtected(access_f lags)) {
} else if (isProtected(accessF lags)) {
sb.append("protected ");
}
if (isFinal(access_f lags)) {
if (isFinal(accessF lags)) {
sb.append("final ");
}
if (isStatic(access_f lags)) {
if (isStatic(accessF lags)) {
sb.append("static ");
}
if (isSynchronized(access_f lags)) {
if (isSynchronized(accessF lags)) {
sb.append("synchronized ");
}
if (isNative(access_f lags)) {
if (isNative(accessF lags)) {
sb.append("native ");
}
if (isAbstract(access_f lags)) {
if (isAbstract(accessF lags)) {
sb.append("abstract ");
}
return sb.toString().trim();
@@ -316,28 +330,28 @@ public class Utils {
/**
* return the field access flag as java modifiers
* @param access_f lags access flags
* @param accessF lags access flags
* @return the access flags as modifier strings
*/
public static String getFieldAccess(int access_f lags) {
public static String getFieldAccess(int accessF lags) {
StringBuffer sb = new StringBuffer();
if (isPublic(access_f lags)) {
if (isPublic(accessF lags)) {
sb.append("public ");
} else if (isPrivate(access_f lags)) {
} else if (isPrivate(accessF lags)) {
sb.append("private ");
} else if (isProtected(access_f lags)) {
} else if (isProtected(accessF lags)) {
sb.append("protected ");
}
if (isFinal(access_f lags)) {
if (isFinal(accessF lags)) {
sb.append("final ");
}
if (isStatic(access_f lags)) {
if (isStatic(accessF lags)) {
sb.append("static ");
}
if (isVolatile(access_f lags)) {
if (isVolatile(accessF lags)) {
sb.append("volatile ");
}
if (isTransient(access_f lags)) {
if (isTransient(accessF lags)) {
sb.append("transient ");
}
return sb.toString().trim();
@@ -345,31 +359,31 @@ public class Utils {
/**
* return the class access flag as java modifiers
* @param access_f lags access flags
* @param accessF lags access flags
* @return the access flags as modifier strings
*/
public static String getClassAccess(int access_f lags) {
public static String getClassAccess(int accessF lags) {
StringBuffer sb = new StringBuffer();
if (isPublic(access_f lags)) {
if (isPublic(accessF lags)) {
sb.append("public ");
} else if (isProtected(access_f lags)) {
} else if (isProtected(accessF lags)) {
sb.append("protected ");
} else if (isPrivate(access_f lags)) {
} else if (isPrivate(accessF lags)) {
sb.append("private ");
}
if (isFinal(access_f lags)) {
if (isFinal(accessF lags)) {
sb.append("final ");
}
if (isSuper(access_f lags)) {
if (isSuper(accessF lags)) {
sb.append("/*super*/ ");
}
if (isInterface(access_f lags)) {
if (isInterface(accessF lags)) {
sb.append("interface ");
}
if (isAbstract(access_f lags)) {
if (isAbstract(accessF lags)) {
sb.append("abstract ");
}
if (isClass(access_f lags)) {
if (isClass(accessF lags)) {
sb.append("class ");
}
return sb.toString().trim();