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 }