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