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.classes;
7   
8   import edu.umd.cs.findbugs.annotations.NonNull;
9   
10  import mockit.asm.constantPool.AttributeWriter;
11  import mockit.asm.constantPool.ConstantPoolGeneration;
12  import mockit.asm.util.ByteVector;
13  
14  import org.checkerframework.checker.index.qual.NonNegative;
15  
16  final class NestHostWriter extends AttributeWriter {
17      @NonNegative
18      private final int hostClassNameIndex;
19  
20      NestHostWriter(@NonNull ConstantPoolGeneration cp, @NonNull String hostClassName) {
21          super(cp, "NestHost");
22          hostClassNameIndex = cp.newClass(hostClassName);
23      }
24  
25      @NonNegative
26      @Override
27      public int getSize() {
28          return 8;
29      }
30  
31      @Override
32      public void put(@NonNull ByteVector out) {
33          super.put(out);
34          out.putShort(hostClassNameIndex);
35      }
36  }