19 * limitations under the License. |
19 * limitations under the License. |
20 */ |
20 */ |
21 |
21 |
22 package com.sun.org.apache.bcel.internal.generic; |
22 package com.sun.org.apache.bcel.internal.generic; |
23 |
23 |
24 |
|
25 /** |
24 /** |
26 * Denote that a class targets InstructionHandles within an InstructionList. Namely |
25 * Denote that a class targets InstructionHandles within an InstructionList. Namely |
27 * the following implementers: |
26 * the following implementers: |
28 * |
27 * |
29 * @see BranchHandle |
28 * @see BranchHandle |
30 * @see LocalVariableGen |
29 * @see LocalVariableGen |
31 * @see CodeExceptionGen |
30 * @see CodeExceptionGen |
32 * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A> |
31 * @version $Id: InstructionTargeter.java 1747278 2016-06-07 17:28:43Z britter $ |
33 */ |
32 */ |
34 public interface InstructionTargeter { |
33 public interface InstructionTargeter { |
35 public boolean containsTarget(InstructionHandle ih); |
34 |
36 public void updateTarget(InstructionHandle old_ih, InstructionHandle new_ih); |
35 /** |
|
36 * Checks whether this targeter targets the specified instruction handle. |
|
37 */ |
|
38 boolean containsTarget(InstructionHandle ih); |
|
39 |
|
40 /** |
|
41 * Replaces the target of this targeter from this old handle to the new handle. |
|
42 * |
|
43 * @param old_ih the old handle |
|
44 * @param new_ih the new handle |
|
45 * @throws ClassGenException if old_ih is not targeted by this object |
|
46 */ |
|
47 void updateTarget(InstructionHandle old_ih, InstructionHandle new_ih) throws ClassGenException; |
37 } |
48 } |