11021315c11e619e0735bea1349e04023178c4067Alexander Blompackage org.robolectric.internal.bytecode; 21021315c11e619e0735bea1349e04023178c4067Alexander Blom 31021315c11e619e0735bea1349e04023178c4067Alexander Blom/** 41021315c11e619e0735bea1349e04023178c4067Alexander Blom * Reference to a specific method on a class. 51021315c11e619e0735bea1349e04023178c4067Alexander Blom */ 61021315c11e619e0735bea1349e04023178c4067Alexander Blompublic class MethodRef { 71021315c11e619e0735bea1349e04023178c4067Alexander Blom public final String className; 81021315c11e619e0735bea1349e04023178c4067Alexander Blom public final String methodName; 91021315c11e619e0735bea1349e04023178c4067Alexander Blom 101021315c11e619e0735bea1349e04023178c4067Alexander Blom public MethodRef(Class<?> clazz, String methodName) { 111021315c11e619e0735bea1349e04023178c4067Alexander Blom this(clazz.getName(), methodName); 121021315c11e619e0735bea1349e04023178c4067Alexander Blom } 131021315c11e619e0735bea1349e04023178c4067Alexander Blom 141021315c11e619e0735bea1349e04023178c4067Alexander Blom public MethodRef(String className, String methodName) { 151021315c11e619e0735bea1349e04023178c4067Alexander Blom this.className = className; 161021315c11e619e0735bea1349e04023178c4067Alexander Blom this.methodName = methodName; 171021315c11e619e0735bea1349e04023178c4067Alexander Blom } 181021315c11e619e0735bea1349e04023178c4067Alexander Blom 191021315c11e619e0735bea1349e04023178c4067Alexander Blom @Override 201021315c11e619e0735bea1349e04023178c4067Alexander Blom public boolean equals(Object o) { 211021315c11e619e0735bea1349e04023178c4067Alexander Blom if (this == o) return true; 221021315c11e619e0735bea1349e04023178c4067Alexander Blom if (o == null || getClass() != o.getClass()) return false; 231021315c11e619e0735bea1349e04023178c4067Alexander Blom 241021315c11e619e0735bea1349e04023178c4067Alexander Blom MethodRef methodRef = (MethodRef) o; 251021315c11e619e0735bea1349e04023178c4067Alexander Blom 261021315c11e619e0735bea1349e04023178c4067Alexander Blom return className.equals(methodRef.className) && methodName.equals(methodRef.methodName); 271021315c11e619e0735bea1349e04023178c4067Alexander Blom } 281021315c11e619e0735bea1349e04023178c4067Alexander Blom 291021315c11e619e0735bea1349e04023178c4067Alexander Blom @Override public int hashCode() { 301021315c11e619e0735bea1349e04023178c4067Alexander Blom int result = className.hashCode(); 311021315c11e619e0735bea1349e04023178c4067Alexander Blom result = 31 * result + methodName.hashCode(); 321021315c11e619e0735bea1349e04023178c4067Alexander Blom return result; 331021315c11e619e0735bea1349e04023178c4067Alexander Blom } 341021315c11e619e0735bea1349e04023178c4067Alexander Blom 351021315c11e619e0735bea1349e04023178c4067Alexander Blom @Override 361021315c11e619e0735bea1349e04023178c4067Alexander Blom public String toString() { 371021315c11e619e0735bea1349e04023178c4067Alexander Blom return "MethodRef{" + 381021315c11e619e0735bea1349e04023178c4067Alexander Blom "className='" + className + '\'' + 391021315c11e619e0735bea1349e04023178c4067Alexander Blom ", methodName='" + methodName + '\'' + 401021315c11e619e0735bea1349e04023178c4067Alexander Blom '}'; 411021315c11e619e0735bea1349e04023178c4067Alexander Blom } 421021315c11e619e0735bea1349e04023178c4067Alexander Blom} 43