KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > alt > jiapi > reflect > instruction > OpcodeGroups


1 /*
2  * Copyright(C) 2001 Mika Riekkinen, Joni Suominen
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or(at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  */

18
19 package alt.jiapi.reflect.instruction;
20
21 /**
22  * This interface groups some opcodes together.
23  *
24  * @author Mika Riekkinen
25  * @author Joni Suominen
26  * @version $Revision: 1.2 $ $Date: 2002/05/03 16:02:44 $
27  */

28 public interface OpcodeGroups extends Opcodes {
29     public static final byte[] RETURN_INSTRUCTIONS = { IRETURN,
30                                                        LRETURN,
31                                                        FRETURN,
32                                                        DRETURN,
33                                                        ARETURN,
34                                                        RETURN };
35
36     public static final byte[] INVOKE_INSTRUCTIONS = { INVOKEVIRTUAL,
37                                                        INVOKESPECIAL,
38                                                        INVOKESTATIC,
39                                                        INVOKEINTERFACE};
40
41     public static final byte[] FIELD_ACCESS_INSTRUCTIONS = { GETSTATIC,
42                                                              PUTSTATIC,
43                                                              GETFIELD,
44                                                              PUTFIELD };
45
46     public static final byte[] REFERENCE_LOAD_INSTRUCTIONS = { ALOAD,
47                                                                ALOAD_0,
48                                                                ALOAD_1,
49                                                                ALOAD_2,
50                                                                ALOAD_3};
51
52     public static final byte[] REFERENCE_STORE_INSTRUCTIONS = { ASTORE,
53                                                                 ASTORE_0,
54                                                                 ASTORE_1,
55                                                                 ASTORE_2,
56                                                                 ASTORE_3};
57 }
58
59
Popular Tags