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 package com.sun.org.apache.bcel.internal.generic;
22
23 import com.sun.org.apache.bcel.internal.classfile.CodeException;
24
25 /**
26 * This class represents an exception handler, i.e., specifies the region where
27 * a handler is active and an instruction where the actual handling is done.
28 * pool as parameters. Opposed to the JVM specification the end of the handled
29 * region is set to be inclusive, i.e. all instructions between start and end
30 * are protected including the start and end instructions (handles) themselves.
31 * The end of the region is automatically mapped to be exclusive when calling
32 * getCodeException(), i.e., there is no difference semantically.
33 *
34 * @version $Id$
35 * @see MethodGen
36 * @see CodeException
37 * @see InstructionHandle
38 */
39 public final class CodeExceptionGen implements InstructionTargeter, Cloneable {
40
41 private InstructionHandle start_pc;
42 private InstructionHandle end_pc;
43 private InstructionHandle handler_pc;
44 private ObjectType catch_type;
45
46
47 /**
48 * Add an exception handler, i.e., specify region where a handler is active and an
49 * instruction where the actual handling is done.
50 *
51 * @param start_pc Start of handled region (inclusive)
52 * @param end_pc End of handled region (inclusive)
53 * @param handler_pc Where handling is done
54 * @param catch_type which exception is handled, null for ANY
|
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 package com.sun.org.apache.bcel.internal.generic;
22
23 import com.sun.org.apache.bcel.internal.classfile.CodeException;
24
25 /**
26 * This class represents an exception handler, i.e., specifies the region where
27 * a handler is active and an instruction where the actual handling is done.
28 * pool as parameters. Opposed to the JVM specification the end of the handled
29 * region is set to be inclusive, i.e. all instructions between start and end
30 * are protected including the start and end instructions (handles) themselves.
31 * The end of the region is automatically mapped to be exclusive when calling
32 * getCodeException(), i.e., there is no difference semantically.
33 *
34 * @see MethodGen
35 * @see CodeException
36 * @see InstructionHandle
37 */
38 public final class CodeExceptionGen implements InstructionTargeter, Cloneable {
39
40 private InstructionHandle start_pc;
41 private InstructionHandle end_pc;
42 private InstructionHandle handler_pc;
43 private ObjectType catch_type;
44
45
46 /**
47 * Add an exception handler, i.e., specify region where a handler is active and an
48 * instruction where the actual handling is done.
49 *
50 * @param start_pc Start of handled region (inclusive)
51 * @param end_pc End of handled region (inclusive)
52 * @param handler_pc Where handling is done
53 * @param catch_type which exception is handled, null for ANY
|