11 * the License. You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 */
21
22 package com.sun.org.apache.bcel.internal.generic;
23
24 /**
25 * Denote that a class targets InstructionHandles within an InstructionList. Namely
26 * the following implementers:
27 *
28 * @see BranchHandle
29 * @see LocalVariableGen
30 * @see CodeExceptionGen
31 * @version $Id$
32 */
33 public interface InstructionTargeter {
34
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;
48 }
|
11 * the License. You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 */
21
22 package com.sun.org.apache.bcel.internal.generic;
23
24 /**
25 * Denote that a class targets InstructionHandles within an InstructionList. Namely
26 * the following implementers:
27 *
28 * @see BranchHandle
29 * @see LocalVariableGen
30 * @see CodeExceptionGen
31 */
32 public interface InstructionTargeter {
33
34 /**
35 * Checks whether this targeter targets the specified instruction handle.
36 */
37 boolean containsTarget(InstructionHandle ih);
38
39 /**
40 * Replaces the target of this targeter from this old handle to the new handle.
41 *
42 * @param old_ih the old handle
43 * @param new_ih the new handle
44 * @throws ClassGenException if old_ih is not targeted by this object
45 */
46 void updateTarget(InstructionHandle old_ih, InstructionHandle new_ih) throws ClassGenException;
47 }
|