public static int arrayHashCode ( Object array ) { if ( array == null ) { return 0 ; } IType arrayType = TypeSystem . getFromObject ( array ) ; int iLen = arrayType . getArrayLength ( array ) ; int hashCode = 0 ; for ( int i = 0 ; i < iLen ; i ++ ) { Object value = arrayType . getArrayComponent ( array , i ) ; if ( value != null ) { IType valueType = TypeSystem . getFromObject ( value ) ; if ( valueType . isArray ( ) ) { hashCode = 31 * hashCode + hashCode ( value ) ; } else { hashCode = 31 * hashCode + value . hashCode ( ) ; } } } return hashCode * 31 + iLen ; }
Return the hash code for an array