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  abstract class TypeTableItem extends Item {
13      /**
14       * Defines constants for {@link #NORMAL normal}, {@link #UNINIT uninitialized}, and {@link #MERGED merged} special
15       * item types stored in the {@linkplain ConstantPoolGeneration#typeTable constant pool's type table}, instead of the
16       * constant pool, in order to avoid clashes with normal constant pool items in the
17       * {@linkplain ConstantPoolGeneration#items constant pool's hash table}.
18       */
19      interface SpecialType {
20          int NORMAL = 30;
21          int UNINIT = 31;
22          int MERGED = 32;
23      }
24  
25      @NonNull
26      String typeDesc;
27  
28      TypeTableItem() {
29          super(0);
30          typeDesc = "";
31      }
32  
33      TypeTableItem(@NonNegative int index, @NonNull TypeTableItem item) {
34          super(index, item);
35          typeDesc = item.typeDesc;
36      }
37  }