public CompactCodeAttributeComposer invokedynamic(int bootStrapMethodIndex, String name, String descriptor, Clazz[] referencedClasses) { return invokedynamic(constantPoolEditor.addInvokeDynamicConstant(bootStrapMethodIndex, name, descriptor, referencedClasses)); }
public CompactCodeAttributeComposer invokedynamic(int bootStrapMethodIndex, String name, String descriptor, Clazz[] referencedClasses) { return invokedynamic(constantPoolEditor.addInvokeDynamicConstant(bootStrapMethodIndex, name, descriptor, referencedClasses)); }
public CompactCodeAttributeComposer invokedynamic(int bootStrapMethodIndex, String name, String descriptor, Clazz[] referencedClasses) { return invokedynamic(constantPoolEditor.addInvokeDynamicConstant(bootStrapMethodIndex, name, descriptor, referencedClasses)); }
/** * Finds or creates a InvokeDynamicConstant constant pool entry with the * given bootstrap method constant pool entry index, method name, and * descriptor. * @return the constant pool index of the InvokeDynamicConstant. */ public int addInvokeDynamicConstant(int bootstrapMethodIndex, String name, String descriptor, Clazz[] referencedClasses) { return addInvokeDynamicConstant(bootstrapMethodIndex, addNameAndTypeConstant(name, descriptor), referencedClasses); }
/** * Finds or creates a InvokeDynamicConstant constant pool entry with the * given bootstrap method constant pool entry index, method name, and * descriptor. * @return the constant pool index of the InvokeDynamicConstant. */ public int addInvokeDynamicConstant(int bootstrapMethodIndex, String name, String descriptor, Clazz[] referencedClasses) { return addInvokeDynamicConstant(bootstrapMethodIndex, addNameAndTypeConstant(name, descriptor), referencedClasses); }
/** * Finds or creates a InvokeDynamicConstant constant pool entry with the * given bootstrap method constant pool entry index, method name, and * descriptor. * @return the constant pool index of the InvokeDynamicConstant. */ public int addInvokeDynamicConstant(int bootstrapMethodIndex, String name, String descriptor, Clazz[] referencedClasses) { return addInvokeDynamicConstant(bootstrapMethodIndex, addNameAndTypeConstant(name, descriptor), referencedClasses); }
public InstructionSequenceBuilder invokedynamic(int bootStrapMethodIndex, String name, String descriptor, Clazz[] referencedClasses) { return invokedynamic(constantPoolEditor.addInvokeDynamicConstant(bootStrapMethodIndex, name, descriptor, referencedClasses)); }
public InstructionSequenceBuilder invokedynamic(int bootStrapMethodIndex, String name, String descriptor, Clazz[] referencedClasses) { return invokedynamic(constantPoolEditor.addInvokeDynamicConstant(bootStrapMethodIndex, name, descriptor, referencedClasses)); }
public InstructionSequenceBuilder invokedynamic(int bootStrapMethodIndex, String name, String descriptor, Clazz[] referencedClasses) { return invokedynamic(constantPoolEditor.addInvokeDynamicConstant(bootStrapMethodIndex, name, descriptor, referencedClasses)); }
public void visitInvokeDynamicConstant(Clazz clazz, InvokeDynamicConstant invokeDynamicConstant) { // Find the bootstrap methods attribute. AttributesEditor attributesEditor = new AttributesEditor((ProgramClass)clazz, false); BootstrapMethodsAttribute bootstrapMethodsAttribute = (BootstrapMethodsAttribute)attributesEditor.findAttribute(ClassConstants.ATTR_BootstrapMethods); // Add the name and type constant. clazz.constantPoolEntryAccept(invokeDynamicConstant.u2nameAndTypeIndex, this); // Copy the referenced classes. Clazz[] referencedClasses = invokeDynamicConstant.referencedClasses; Clazz[] referencedClassesCopy = null; if (referencedClasses != null) { referencedClassesCopy = new Clazz[referencedClasses.length]; System.arraycopy(referencedClasses, 0, referencedClassesCopy, 0, referencedClasses.length); } bootstrapMethodsAttribute.bootstrapMethodEntryAccept(clazz, invokeDynamicConstant.getBootstrapMethodAttributeIndex(), bootstrapMethodsAttributeAdder); // Then add the actual invoke dynamic constant. constantIndex = constantPoolEditor.addInvokeDynamicConstant(bootstrapMethodsAttributeAdder.getBootstrapMethodIndex(), constantIndex, referencedClassesCopy); }
public void visitInvokeDynamicConstant(Clazz clazz, InvokeDynamicConstant invokeDynamicConstant) { // Find the bootstrap methods attribute. AttributesEditor attributesEditor = new AttributesEditor((ProgramClass)clazz, false); BootstrapMethodsAttribute bootstrapMethodsAttribute = (BootstrapMethodsAttribute)attributesEditor.findAttribute(ClassConstants.ATTR_BootstrapMethods); // Add the name and type constant. clazz.constantPoolEntryAccept(invokeDynamicConstant.u2nameAndTypeIndex, this); // Copy the referenced classes. Clazz[] referencedClasses = invokeDynamicConstant.referencedClasses; Clazz[] referencedClassesCopy = null; if (referencedClasses != null) { referencedClassesCopy = new Clazz[referencedClasses.length]; System.arraycopy(referencedClasses, 0, referencedClassesCopy, 0, referencedClasses.length); } bootstrapMethodsAttribute.bootstrapMethodEntryAccept(clazz, invokeDynamicConstant.getBootstrapMethodAttributeIndex(), bootstrapMethodsAttributeAdder); // Then add the actual invoke dynamic constant. constantIndex = constantPoolEditor.addInvokeDynamicConstant(bootstrapMethodsAttributeAdder.getBootstrapMethodIndex(), constantIndex, referencedClassesCopy); }
public void visitInvokeDynamicConstant(Clazz clazz, InvokeDynamicConstant invokeDynamicConstant) { // Find the bootstrap methods attribute. AttributesEditor attributesEditor = new AttributesEditor((ProgramClass)clazz, false); BootstrapMethodsAttribute bootstrapMethodsAttribute = (BootstrapMethodsAttribute)attributesEditor.findAttribute(ClassConstants.ATTR_BootstrapMethods); // Add the name and type constant. clazz.constantPoolEntryAccept(invokeDynamicConstant.u2nameAndTypeIndex, this); // Copy the referenced classes. Clazz[] referencedClasses = invokeDynamicConstant.referencedClasses; Clazz[] referencedClassesCopy = null; if (referencedClasses != null) { referencedClassesCopy = new Clazz[referencedClasses.length]; System.arraycopy(referencedClasses, 0, referencedClassesCopy, 0, referencedClasses.length); } bootstrapMethodsAttribute.bootstrapMethodEntryAccept(clazz, invokeDynamicConstant.getBootstrapMethodAttributeIndex(), bootstrapMethodsAttributeAdder); // Then add the actual invoke dynamic constant. constantIndex = constantPoolEditor.addInvokeDynamicConstant(bootstrapMethodsAttributeAdder.getBootstrapMethodIndex(), constantIndex, referencedClassesCopy); }