CpoolInvokeDynamic.java 948 B

12345678910111213141516171819202122232425262728293031323334353637
  1. // Copyright (c) 2014 Per M.A. Bothner.
  2. // This is free software; for terms and warranty disclaimer see ./COPYING.
  3. package gnu.bytecode;
  4. import java.io.*;
  5. /** A CONSTANT_InvokeDynamic entry in the constant pool. */
  6. public class CpoolInvokeDynamic extends CpoolEntry {
  7. int bootstrapMethodIndex;
  8. CpoolNameAndType nameAndType;
  9. public CpoolInvokeDynamic() {
  10. }
  11. public int getTag() { return ConstantPool.INVOKE_DYNAMIC; }
  12. void write (DataOutputStream dstr) throws java.io.IOException {
  13. dstr.writeByte(ConstantPool.INVOKE_DYNAMIC);
  14. dstr.writeShort(bootstrapMethodIndex);
  15. dstr.writeShort(nameAndType.index);
  16. }
  17. public void print (ClassTypeWriter dst, int verbosity) {
  18. if (verbosity > 0) {
  19. dst.print("InvokeDynamic ");
  20. //if (verbosity == 2)
  21. //dst.printOptionalIndex(str);
  22. }
  23. dst.print("bootstrap_method: #");
  24. dst.print(bootstrapMethodIndex);
  25. dst.print(' ');
  26. nameAndType.print(dst, 0);
  27. }
  28. }