/** * Creates a new catch instance that can be used as a pseudo-instruction * to mark the start of an exception handler. Its offset can be used as * a branch target in replacement instructions ({@link Label#offset()}). */ public Label catch_(int startOffset, int endOffset, int catchType) { return catch_(labels.size(), startOffset, endOffset, catchType); }
/** * Creates a new catch instance that can be used as a pseudo-instruction * to mark the start of an exception handler. Its offset can be used as * a branch target in replacement instructions ({@link Label#offset()}). */ public Label catch_(int startOffset, int endOffset, int catchType) { return catch_(labels.size(), startOffset, endOffset, catchType); }
/** * Creates a new catch instance that can be used as a pseudo-instruction * to mark the start of an exception handler. Its offset can be used as * a branch target in replacement instructions ({@link Label#offset()}). */ public Label catch_(int startOffset, int endOffset, int catchType) { return catch_(labels.size(), startOffset, endOffset, catchType); }
public void visitCatchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, Catch catch_) { // Convert this pseudo-instruction into a corresponding // pseudo-instruction for the code attribute editor. // Then make sure we create and reference unique labels, // because there may be other matching sequences. replacementInstruction = codeAttributeEditor.catch_(uniqueLabel(catch_.identifier), uniqueLabel(catch_.startOfffset), uniqueLabel(catch_.endOffset), matchedConstantIndex((ProgramClass)clazz, catch_.catchType)); } }
public void visitCatchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, Catch catch_) { // Convert this pseudo-instruction into a corresponding // pseudo-instruction for the code attribute editor. // Then make sure we create and reference unique labels, // because there may be other matching sequences. replacementInstruction = codeAttributeEditor.catch_(uniqueLabel(catch_.identifier), uniqueLabel(catch_.startOfffset), uniqueLabel(catch_.endOffset), matchedConstantIndex((ProgramClass)clazz, catch_.catchType)); } }
public void visitCatchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, Catch catch_) { // Convert this pseudo-instruction into a corresponding // pseudo-instruction for the code attribute editor. // Then make sure we create and reference unique labels, // because there may be other matching sequences. replacementInstruction = codeAttributeEditor.catch_(uniqueLabel(catch_.identifier), uniqueLabel(catch_.startOfffset), uniqueLabel(catch_.endOffset), matchedConstantIndex((ProgramClass)clazz, catch_.catchType)); } }