View Javadoc
1   /*
2    * MIT License
3    * Copyright (c) 2006-2025 JMockit developers
4    * See LICENSE file for full license text.
5    */
6   package mockit.asm.constantPool;
7   
8   import edu.umd.cs.findbugs.annotations.NonNull;
9   
10  import org.checkerframework.checker.index.qual.NonNegative;
11  
12  public final class ClassMemberItem extends TypeOrMemberItem {
13      @NonNull
14      String owner;
15  
16      public ClassMemberItem(@NonNegative int index) {
17          super(index);
18          owner = "";
19      }
20  
21      ClassMemberItem(@NonNegative int index, @NonNull ClassMemberItem item) {
22          super(index, item);
23          owner = item.owner;
24      }
25  
26      /**
27       * Sets the values of this field/method item.
28       */
29      public void set(int type, @NonNull String owner, @NonNull String name, @NonNull String desc) {
30          this.type = type;
31          this.owner = owner;
32          setValuesAndHashcode(name, desc, owner.hashCode());
33      }
34  
35      @Override
36      boolean isEqualTo(@NonNull Item item) {
37          ClassMemberItem other = (ClassMemberItem) item;
38          return other.owner.equals(owner) && isEqualTo(other);
39      }
40  }