1 package mockit.asm;
2
3 import edu.umd.cs.findbugs.annotations.NonNull;
4
5 import mockit.asm.constantPool.AttributeWriter;
6 import mockit.asm.constantPool.ConstantPoolGeneration;
7 import mockit.asm.util.ByteVector;
8
9 import org.checkerframework.checker.index.qual.NonNegative;
10
11 public final class SignatureWriter extends AttributeWriter {
12 @NonNegative
13 private final int signatureIndex;
14
15 public SignatureWriter(@NonNull ConstantPoolGeneration cp, @NonNull String signature) {
16 super(cp, "Signature");
17 signatureIndex = cp.newUTF8(signature);
18 }
19
20 @NonNegative
21 @Override
22 public int getSize() {
23 return 8;
24 }
25
26 @Override
27 public void put(@NonNull ByteVector out) {
28 super.put(out);
29 out.putShort(signatureIndex);
30 }
31 }