001: /* Soot - a J*va Optimization Framework
002: * Copyright (C) 1999 Patrick Lam, Patrick Pominville and Raja Vallee-Rai
003: *
004: * This library is free software; you can redistribute it and/or
005: * modify it under the terms of the GNU Lesser General Public
006: * License as published by the Free Software Foundation; either
007: * version 2.1 of the License, or (at your option) any later version.
008: *
009: * This library is distributed in the hope that it will be useful,
010: * but WITHOUT ANY WARRANTY; without even the implied warranty of
011: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
012: * Lesser General Public License for more details.
013: *
014: * You should have received a copy of the GNU Lesser General Public
015: * License along with this library; if not, write to the
016: * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
017: * Boston, MA 02111-1307, USA.
018: */
019:
020: /*
021: * Modified by the Sable Research Group and others 1997-1999.
022: * See the 'credits' file distributed with Soot for the complete list of
023: * contributors. (Soot is distributed at http://www.sable.mcgill.ca/soot)
024: */
025:
026: package soot.baf;
027:
028: import soot.util.*;
029:
030: public interface InstSwitch extends Switch {
031: public void caseReturnVoidInst(ReturnVoidInst i);
032:
033: public void caseReturnInst(ReturnInst i);
034:
035: public void caseNopInst(NopInst i);
036:
037: public void caseGotoInst(GotoInst i);
038:
039: public void caseJSRInst(JSRInst i);
040:
041: public void casePushInst(PushInst i);
042:
043: public void casePopInst(PopInst i);
044:
045: public void caseIdentityInst(IdentityInst i);
046:
047: public void caseStoreInst(StoreInst i);
048:
049: public void caseLoadInst(LoadInst i);
050:
051: public void caseArrayWriteInst(ArrayWriteInst i);
052:
053: public void caseArrayReadInst(ArrayReadInst i);
054:
055: public void caseIfNullInst(IfNullInst i);
056:
057: public void caseIfNonNullInst(IfNonNullInst i);
058:
059: public void caseIfEqInst(IfEqInst i);
060:
061: public void caseIfNeInst(IfNeInst i);
062:
063: public void caseIfGtInst(IfGtInst i);
064:
065: public void caseIfGeInst(IfGeInst i);
066:
067: public void caseIfLtInst(IfLtInst i);
068:
069: public void caseIfLeInst(IfLeInst i);
070:
071: public void caseIfCmpEqInst(IfCmpEqInst i);
072:
073: public void caseIfCmpNeInst(IfCmpNeInst i);
074:
075: public void caseIfCmpGtInst(IfCmpGtInst i);
076:
077: public void caseIfCmpGeInst(IfCmpGeInst i);
078:
079: public void caseIfCmpLtInst(IfCmpLtInst i);
080:
081: public void caseIfCmpLeInst(IfCmpLeInst i);
082:
083: public void caseStaticGetInst(StaticGetInst i);
084:
085: public void caseStaticPutInst(StaticPutInst i);
086:
087: public void caseFieldGetInst(FieldGetInst i);
088:
089: public void caseFieldPutInst(FieldPutInst i);
090:
091: public void caseInstanceCastInst(InstanceCastInst i);
092:
093: public void caseInstanceOfInst(InstanceOfInst i);
094:
095: public void casePrimitiveCastInst(PrimitiveCastInst i);
096:
097: public void caseStaticInvokeInst(StaticInvokeInst i);
098:
099: public void caseVirtualInvokeInst(VirtualInvokeInst i);
100:
101: public void caseInterfaceInvokeInst(InterfaceInvokeInst i);
102:
103: public void caseSpecialInvokeInst(SpecialInvokeInst i);
104:
105: public void caseThrowInst(ThrowInst i);
106:
107: public void caseAddInst(AddInst i);
108:
109: public void caseAndInst(AndInst i);
110:
111: public void caseOrInst(OrInst i);
112:
113: public void caseXorInst(XorInst i);
114:
115: public void caseArrayLengthInst(ArrayLengthInst i);
116:
117: public void caseCmpInst(CmpInst i);
118:
119: public void caseCmpgInst(CmpgInst i);
120:
121: public void caseCmplInst(CmplInst i);
122:
123: public void caseDivInst(DivInst i);
124:
125: public void caseIncInst(IncInst i);
126:
127: public void caseMulInst(MulInst i);
128:
129: public void caseRemInst(RemInst i);
130:
131: public void caseSubInst(SubInst i);
132:
133: public void caseShlInst(ShlInst i);
134:
135: public void caseShrInst(ShrInst i);
136:
137: public void caseUshrInst(UshrInst i);
138:
139: public void caseNewInst(NewInst i);
140:
141: public void caseNegInst(NegInst i);
142:
143: public void caseSwapInst(SwapInst i);
144:
145: public void caseDup1Inst(Dup1Inst i);
146:
147: public void caseDup2Inst(Dup2Inst i);
148:
149: public void caseDup1_x1Inst(Dup1_x1Inst i);
150:
151: public void caseDup1_x2Inst(Dup1_x2Inst i);
152:
153: public void caseDup2_x1Inst(Dup2_x1Inst i);
154:
155: public void caseDup2_x2Inst(Dup2_x2Inst i);
156:
157: public void caseNewArrayInst(NewArrayInst i);
158:
159: public void caseNewMultiArrayInst(NewMultiArrayInst i);
160:
161: public void caseLookupSwitchInst(LookupSwitchInst i);
162:
163: public void caseTableSwitchInst(TableSwitchInst i);
164:
165: public void caseEnterMonitorInst(EnterMonitorInst i);
166:
167: public void caseExitMonitorInst(ExitMonitorInst i);
168: }
|