1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.bcel.verifier.tests;
20
21 import java.io.IOException;
22 import java.io.OutputStream;
23
24 import org.apache.bcel.Const;
25 import org.apache.bcel.generic.ClassGen;
26 import org.apache.bcel.generic.InstructionConst;
27 import org.apache.bcel.generic.InstructionList;
28 import org.apache.bcel.generic.MethodGen;
29 import org.apache.bcel.generic.Type;
30
31 public class TestThrow01Creator extends TestCreator {
32 private final ClassGen cg;
33
34 public TestThrow01Creator() {
35 cg = new ClassGen(TEST_PACKAGE + ".TestThrow01", "java.lang.Object", "TestThrow01.java", Const.ACC_PUBLIC | Const.ACC_SUPER, new String[] {});
36 }
37
38 @Override
39 public void create(final OutputStream out) throws IOException {
40 final InstructionList il = new InstructionList();
41 final MethodGen method = new MethodGen(Const.ACC_STATIC, Type.VOID, Type.NO_ARGS, new String[0], "b", cg.getClassName(), il, cg.getConstantPool());
42 il.append(InstructionConst.getInstruction(Const.ATHROW));
43 method.setMaxStack();
44 method.setMaxLocals();
45 cg.addMethod(method.getMethod());
46 il.dispose();
47 cg.getJavaClass().dump(out);
48 }
49 }