137 return lookupsEqual(getLookup(), csd.getLookup()); |
137 return lookupsEqual(getLookup(), csd.getLookup()); |
138 } |
138 } |
139 |
139 |
140 @Override |
140 @Override |
141 public int hashCode() { |
141 public int hashCode() { |
|
142 final MethodHandles.Lookup lookup = getLookup(); |
|
143 int h = lookup.lookupClass().hashCode() + 31 * lookup.lookupModes(); |
142 final int c = getNameTokenCount(); |
144 final int c = getNameTokenCount(); |
143 int h = 0; |
|
144 for(int i = 0; i < c; ++i) { |
145 for(int i = 0; i < c; ++i) { |
145 h = h * 31 + getNameToken(i).hashCode(); |
146 h = h * 31 + getNameToken(i).hashCode(); |
146 } |
147 } |
147 return h * 31 + getMethodType().hashCode(); |
148 return h * 31 + getMethodType().hashCode(); |
148 } |
149 } |