Package proguard.classfile.util
Class AccessUtil
java.lang.Object
proguard.classfile.util.AccessUtil
Utility methods for working with access flags. For convenience, this class defines access levels,
in ascending order:
PRIVATE, PACKAGE_VISIBLE, PROTECTED, and PUBLIC.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanaccepted(int accessFlags, int requiredSetAccessFlags, int requiredUnsetAccessFlags) Returns whether the given access flags match the required set and unset access flags.static intaccessFlags(int accessLevel) Returns the corresponding access flags of the given access level.static intaccessLevel(int accessFlags) Returns the corresponding access level of the given access flags.static intreplaceAccessFlags(int accessFlags, int newAccessFlags) Replaces the access part of the given access flags.
-
Field Details
-
PRIVATE
public static final int PRIVATE- See Also:
-
PACKAGE_VISIBLE
public static final int PACKAGE_VISIBLE- See Also:
-
PROTECTED
public static final int PROTECTED- See Also:
-
PUBLIC
public static final int PUBLIC- See Also:
-
-
Constructor Details
-
AccessUtil
public AccessUtil()
-
-
Method Details
-
accessLevel
public static int accessLevel(int accessFlags) Returns the corresponding access level of the given access flags.- Parameters:
accessFlags- the internal access flags as a logical bit mask ofAccessConstants.PRIVATE,AccessConstants.PROTECTED, andAccessConstants.PUBLIC.- Returns:
- the corresponding access level:
PRIVATE,PACKAGE_VISIBLE,PROTECTED, orPUBLIC.
-
accessFlags
public static int accessFlags(int accessLevel) Returns the corresponding access flags of the given access level.- Parameters:
accessLevel- the access level:PRIVATE,PACKAGE_VISIBLE,PROTECTED, orPUBLIC.- Returns:
- the corresponding internal access flags as a logical bit mask of
AccessConstants.PRIVATE,AccessConstants.PROTECTED, andAccessConstants.PUBLIC.
-
replaceAccessFlags
public static int replaceAccessFlags(int accessFlags, int newAccessFlags) Replaces the access part of the given access flags.- Parameters:
accessFlags- the internal access flags as a logical bit mask ofAccessConstants.PRIVATE,AccessConstants.PROTECTED, andAccessConstants.PUBLIC.newAccessFlags- the new access flags as a logical bit mask ofAccessConstants.PRIVATE,AccessConstants.PROTECTED, andAccessConstants.PUBLIC.- Returns:
- the modified access flags.
-
accepted
public static boolean accepted(int accessFlags, int requiredSetAccessFlags, int requiredUnsetAccessFlags) Returns whether the given access flags match the required set and unset access flags.- Parameters:
accessFlags- the internal access flags as a logical bit mask ofAccessConstants.PRIVATE,AccessConstants.PROTECTED, andAccessConstants.PUBLIC.requiredSetAccessFlags- the internal access flags that should be set, as a logical bit mask ofAccessConstants.PRIVATE,AccessConstants.PROTECTED, andAccessConstants.PUBLIC.requiredUnsetAccessFlags- the internal access flags that should be unset, as a logical bit mask ofAccessConstants.PRIVATE,AccessConstants.PROTECTED, andAccessConstants.PUBLIC.- Returns:
- whether the access flags match the requirements.
-