Package edu.umd.cs.findbugs.ba
Class MethodHash
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.MethodHash
-
- All Implemented Interfaces:
java.lang.Comparable<MethodHash>
public class MethodHash extends java.lang.Object implements java.lang.Comparable<MethodHash>
Compute a hash of the bytecode for given method. This can find methods which have not been changed other than accessing different constant pool entries.- Author:
- David Hovemeyer
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringMETHOD_HASH_ELEMENT_NAME
-
Constructor Summary
Constructors Constructor Description MethodHash()Constructor.MethodHash(java.lang.String methodName, java.lang.String methodSig, boolean isStatic, byte[] hash)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static intcompareHashes(byte[] a, byte[] b)intcompareTo(MethodHash other)MethodHashcomputeHash(org.apache.bcel.classfile.Method method)Compute hash on given method.booleanequals(java.lang.Object o)byte[]getMethodHash()Get the computed method hash.java.lang.StringgetMethodName()java.lang.StringgetMethodSig()inthashCode()booleanisSameHash(MethodHash other)Return whether or not this method hash has the same value as the one given.booleanisStatic()
-
-
-
Field Detail
-
METHOD_HASH_ELEMENT_NAME
public static final java.lang.String METHOD_HASH_ELEMENT_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
MethodHash
public MethodHash()
Constructor. computeHash(Method) must be used to initialize the contents.
-
MethodHash
public MethodHash(java.lang.String methodName, java.lang.String methodSig, boolean isStatic, byte[] hash)Constructor.- Parameters:
methodName- method namemethodSig- method signatureisStatic- true if the method is static, false if nothash- the pre-computed hash
-
-
Method Detail
-
getMethodName
public java.lang.String getMethodName()
- Returns:
- Returns the method name.
-
getMethodSig
public java.lang.String getMethodSig()
- Returns:
- Returns the method signature.
-
isStatic
public boolean isStatic()
- Returns:
- Returns whether the method is static.
-
getMethodHash
public byte[] getMethodHash()
Get the computed method hash.- Returns:
- the method hash
-
computeHash
public MethodHash computeHash(org.apache.bcel.classfile.Method method)
Compute hash on given method.- Parameters:
method- the method- Returns:
- this object
-
isSameHash
public boolean isSameHash(MethodHash other)
Return whether or not this method hash has the same value as the one given.- Parameters:
other- another MethodHash- Returns:
- true if the hash values are the same, false if not
-
compareTo
public int compareTo(MethodHash other)
- Specified by:
compareToin interfacejava.lang.Comparable<MethodHash>
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
compareHashes
public static int compareHashes(byte[] a, byte[] b)
-
-