1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.commons.compress.harmony.unpack200.bytecode;
20
21 import java.util.List;
22
23
24
25
26 public class CPMethod extends CPMember {
27
28 private boolean hashCodeComputed;
29
30 private int cachedHashCode;
31
32 public CPMethod(final CPUTF8 name, final CPUTF8 descriptor, final long flags, final List<Attribute> attributes) {
33 super(name, descriptor, flags, attributes);
34 }
35
36 private void generateHashCode() {
37 hashCodeComputed = true;
38 final int PRIME = 31;
39 int result = 1;
40 result = PRIME * result + name.hashCode();
41 result = PRIME * result + descriptor.hashCode();
42 cachedHashCode = result;
43 }
44
45 @Override
46 public int hashCode() {
47 if (!hashCodeComputed) {
48 generateHashCode();
49 }
50 return cachedHashCode;
51 }
52
53 @Override
54 public String toString() {
55 return "Method: " + name + "(" + descriptor + ")";
56 }
57
58 }